получение интерфейса ksCircularCopyDefinition

Автор sapotec, 20.02.10, 18:05:53

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

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

sapotec

20.02.10, 18:05:53 Последнее редактирование: 20.02.10, 19:56:07 от sapotec
Подскажите, пожалуйста, как получить интерфейс ksCircularCopyDefinition на C#?
Я работаю с графическим документом и мне необходимо создать копию элементов по окружности!

Возможен ли доступ к интерфейсу из 2Д - документа?
Такая конструкция var doc3D = (Document3D) kompasObject.Document3D();
                var cirArray = (CircularCopyDefinition)((ksEntity)(((ksPart)(doc3D).GetPart((short)Part_Type.pNew_Part)).NewEntity((short)Obj3dType.o3d_circularCopy))).GetDefinition();
хоть и работает, но абсолютно нерациональна

sapotec

Неужели никто не копировал элементы по окружности в графическом документе?!!

udachnik

Согласно справке данный интерфейс относится к трёхмерке, поэтому наверно нельзя.

Может как-нибудь этими функциями решить: ksMathematic2D::ksPointsOnCurveByStep или ksMathematic2D::ksPointsOnCurve?

Slaviation

Если Вы работаете с графическим документом, то нужно использовать ksDocument2D::ksCopyObj:
long ksCopyObj (long ref, double xOld, double yOld, double xNew, double yNew, double scale_, double angle);

sapotec

Спасибо! Я уже с этим разобрался и написал класс использующий ksCopyObj для копирования элементов по окружностию