• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Скругление кривых

Автор oit, 27.05.13, 08:28:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

oit

Добрый день!

Создаю скругление кривых с помощью интерфейса IFilletCurve, устанавливаю свойства TrimCurve1:=true и TrimCurve2:=true.
В результате операции получаются усеченные кривые и радиус скругления. Как получить указатель на усеченную кривую и радиус скругления, которые получились в результате операции "Скругление кривых"?

Есть два варианта:
- первый искать по координатам и остальным известным признакам;
- второй создать список указателей IDispatch объектов o3d_TrimmedCurveObject и o3d_FilletCurveObject до операции, а затем найти вновь появившиеся указатели после операции, их будет два o3d_TrimmedCurveObject если усекались обе кривые и один o3d_FilletCurveObject.

oit

Есть еще один вариант: привести интерфейс IFilletCurve к интерфейсу IModelObject1 и через свойство Childrens получить потомков, а дальше в зависимости от Name привести к нужному типу которые выше привел Sabahs.

...
        newFillet_:=newFillet as IModelObject1;
        arr:=newFillet_.Childrens[ksRTIndifferent];
        ShowMessage('Count children = '+IntToStr(VarArrayHighBound(arr, 1)+1));
        for i := 0 to VarArrayHighBound(arr, 1) do
        begin
          objDisp:=arr;
          objModelObject:=objDisp as IModelObject;
          ShowMessage(objModelObject.Name);
        end;
...
+ Благодарностей: 1

Спасибо, что напомнили про интерфейс IModelObject1, а то он у меня совсем из головы вылетел.
Привести к типу, лучше непосредственно по типу самого полученного объекта IModelObject.ModelObjectType.