Создание макроэлемента API версия 7

Автор magicalblade, 15.08.25, 13:44:46

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

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

magicalblade

При создании макроэлемента через API7 компас выдаёт ошибку "Вырожденный объект" и не создаёт макроэлемент. При создании добавляю элемент через метод AddObjects(), для просто это обычная линия. Метод возвращает false т.е. не удаётся добавить элемент. Свойство Valid (Признак невырожденности объекта) сразу после создания макроэлемента, macroObjects.Add(), равняется false. Подскажите в чём может быть проблема?
   IViewsAndLayersManager viewsAndLayersManager = kompasDocument2D.ViewsAndLayersManager;
   IViews views = viewsAndLayersManager.Views;
   IView activeView = views.ActiveView;
   IDrawingContainer drawingContainer = (IDrawingContainer)activeView;
   ILineSegments lineSegments = drawingContainer.LineSegments;
   ILineSegment lineSegment = lineSegments.Add();
   lineSegment.X1 = 0;
   lineSegment.Y1 = 0;
   lineSegment.X2 = 1000;
   lineSegment.Y2 = 0;
   lineSegment.Update();

   IMacroObjects macroObjects = drawingContainer.MacroObjects;
   IMacroObject macroObject = macroObjects.Add();
   macroObject.AddObjects(lineSegment);
   macroObject.Name = "Макро:1";
   macroObject.Update();

Михаил88

https://forum.ascon.ru/index.php?topic=38176.msg311959#msg311959

Вы эту тему читали? Я попробовал сделать, как в алгоритму из последнего сообщения и тогда нормально работает.
+ Благодарностей: 1

magicalblade

Цитата: Михаил88 от 15.08.25, 17:11:00https://forum.ascon.ru/index.php?topic=38176.msg311959#msg311959

Вы эту тему читали? Я попробовал сделать, как в алгоритму из последнего сообщения и тогда нормально работает.

Спасибо большое! Сработало.