Тема: ComplexEntity::transformBy(...)

Как у комплексной entity правильно реализовывать transformBy()?
Дело в том, что при таскании ComplexEntity по экрану (drag/grip и т.п.) хотелось бы делать просто - брать и для всех subentity из которых состоит ComplexEntity - вызывать transformBy()...
Однако такая фишка не проходит т.к. временная копия ComplexEntity (objectId() == null ) - начинает реально таскать по экрану объекты принадлежашие реальной ComplexEntity.
Что по этому поводу советует Автодеск?

Re: ComplexEntity::transformBy(...)

Autodesk по этому поводу ничего не советует. sad IMHO так просто сделать не получится.

Re: ComplexEntity::transformBy(...)

Ну так и понял. Тяну копии всех нужных мне листьевых entity - их трансформлю и рисую работает.

Re: ComplexEntity::transformBy(...)

:(
Создание custom complex entity - занятие не для слабонервных.... ( я уже близок к истерике )
Захотел я значит сделать custom complex entity - типа entity - прицепить к ней массив других entities и все от главной энтити - делигировать subentities-ам...
Значит мля выясняю такую весч -
- во первых AcDbEntity можно привентить только к AcDbBlockTableRecord - типа присобачить через механизм ownership к любому другому объекту - это дохлый номер. (Выясняю что polyline, reference, mesh etc - это комплексные entity - НО!!! AcDbAttribute AcDbPolylyneVertex2d и etc - это унаследованные от AcDbObject-а классы...)
- во вторых, можно сделать новый AcDbBlockTableRecord - приаттачиить туда список subentities и AcDbBlockTableRecord - через AcDnHardOwnershipId привентить к создаваемой complex entity. Но тогда начинаются другие проблемы - типа если в вспомогательный блок вставить блокреференс на другой блок их SymbolTabla - то по графу ownership-инга - до одних и тех же объектов можно дойти двумя путями - и акад нчинаят настойчиво предупреждать что куча объектов имеют многих владельцев - типа это не хорошо...
Пока нашел только такой вариант - аттачить subentities к тому блоку в котором есть их custom complex entity и их делать инвизибл. Когда отрисовывается custom complex entity - ставить setvisible, draw, setinvisible.
- В третьих Куча гемора с draggingom и grippengom custom complex entity - т.к. осторожно приходится отслеживать чтобы временная копия не модифицировала subentities - а брала их копии и уже над ними выполняла все безобразие.
- В четвертых - AcEdJig для комплексных entity не подходит. В хелпе написано - мол не юзайте... - Тоже нашел решение как справиться в данном конкретном случае...
Еще предстоит разобраться со всекими методами типа GetGsMarkerSubentityPath и etc...
Короче еще раз осознал что модель ObjectARX выстроена совсем не лучшим из возможных способов.

Re: ComplexEntity::transformBy(...)

> KonstantinM
smile Сочуствую. Чем дальше в лес...