Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Cannot implicitly convert type
 
Господа, надо построить плоскость, параллельную, например, плоскости "Вид слева".

Код
Document document = TFlex.Application.ActiveDocument;
document.BeginChanges("Создание рабочих плоскостей");
ParallelPlaneWorkplane workplane = new ParallelPlaneWorkplane(document);
workplane.Offset = 50;
workplane.BasePlane = document.GetObjectByName("Вид слева");
document.EndChanges();


на строке workplane.BasePlane = document.GetObjectByName("Вид слева");
получаю Cannot implicitly convert type 'TFlex.Model.ModelObject' to 'TFlex.Model.Model3D.Geometry.ModelPlane'.

Как преобразовать типы? Или может надо как-то по другому строить плоскость?
Что я делаю не так?

Спасибо.
 
Пока сделал вот так- работает.

Код
 
Document document = TFlex.Application.ActiveDocument;
document.BeginChanges("Создание рабочих плоскостей");
ParallelPlaneWorkplane workplane = new ParallelPlaneWorkplane(document);
workplane.Offset = 250;
workplane.Name = "Ещё вид слева";   
      
foreach (Workplane wp in document.Workplanes)
{
     if (wp.Name == "Вид слева") 
   { workplane.BasePlane = wp.Geometry.Plane; break; }
}
         
document.EndChanges();


Но всё таки как присвоить workplane.BasePlane правильное значение из document.GetObjectByName("Вид слева") ?
 
Александр, свойство BasePlane принимает геометрические данные объекта модели (т.е. те данные которые были получены в результате регенарции модели), в то время как метод получения объекта по имени возвращает объекты, созданные пользователем (объекты типа ModelObject). Правильный способ получения нужной Вам плоскости из контейнера полскостей Вы привели выше.
 
Т.е. только перебором нарисованного.

Я правильно понимаю?: есть объекты, точнее описания объектов. Их мы и находим по имени или id. А есть их геометрическое представление. Это уже через Geometry.

Есть ли где общее описание оъектной модели T-flex? TFlexApi.chm - это для медитаций. :evil:
 
Не совсем. Например, мы создаем выталкивание на основе контура. Получаем в результате некоторое тело. Тело в данном случае - это ModelObject. Его мы можем видеть в дереве моделей в окне T-FLEXа. Полученные в результате выталкивания грани, вершины, ребра - это геометрические данные объекта модели (Geometry). Каждый объект 3D модели содержит в себе свою геометрию. Для получения этих данных необходимо обратиться к свойству Geometry объекта. Соответственно обратное (получить по геометрии объект) невозможно.

Другого описания помимо руководства по T-FLEX CAD Open API нет, но если у Вас возникнут вопросы, то вы всегда их можете задать здесь.
Страницы: 1