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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Преобразование типа обьектов
 
Здравствуйте, подскажите, как ковертировать тип узла полученного нажатием кнопки мыши: "TFlex.PickPointResult" в необходимый для построения линии изображения: "TFlex.Model.Model2D.Node".


Макрос должен строить отрезок между двумя выбранными узлами, вот мой код.


public static void Draw_line()
{
PickPointParameters par = new PickPointParameters();

//выбор только узлов
SelectionFilter filter = new SelectionFilter();
filter.Enable(ObjectType.Node);
par.Filter = filter;

par.Prompt = "Выбрать точку или узел";
par.MouseMove += new TFlex.PickPointMouseMove(PickPointMouseMove);//событие перемещения мыши
PickPointResult node1 = TFlex.Application.PickPoint(par);//получить точку в одном из видов активного документа


par.Prompt = "Выбрать точку или узел";
par.MouseMove += new TFlex.PickPointMouseMove(PickPointMouseMove);//событие перемещения мыши
PickPointResult node2 = TFlex.Application.PickPoint(par);//получить точку в одном из видов активного документа



Document document = TFlex.Application.ActiveDocument;

ConstructionOutline conOutline = new ConstructionOutline(document, node1, node2);

document.EndChanges();

}




Как поменять тип объектов node1, node2 ?
 
Цитата
Алексей Белоцкий написал:
Как поменять тип объектов node1, node2 ?
Объект "PickPointResult" включает свойство "SelectedObject". Вот его и нужно предать в конструктор "ConstructionOutline".
T-FLEX CAD 17.1.21.0
 
Применил свойство SelectedObject к узлам:

ConstructionOutline conOutline = new ConstructionOutline(document, node1.SelectedObject, node2.SelectedObject);

Теперь выдает следующую ошибку: преобразование типа из "TFlex.Model.ModelObject" в "TFlex.Model.Model2D.Node" невозможно.

Наверное, я что-то делаю неправильно, только учусь программировать на c#. Подскажите что не так?

Свойства преобразующего тип объекта в "TFlex.Model.Model2D.Node", в справке я не нашел(
 
Алексей Белоцкий, нужно выполнить приведение типа (см. Приведение и преобразование типов), например:
Код
var node = result.SelectedObject as Node;
T-FLEX CAD 17.1.21.0
Страницы: 1