Попробовал воспользоваться в методе BoltJig::doIt() в самом конце перед появлением объектаВсё не так. У тебя же текущая система координат именно та, о которой ты говоришь? acedGetPoint() возвращает точки в UCS. Их тебе нужно преобразовать в WCS, так как в самом примитиве они хранятся в WCS. Код твой не смотрел, но думаю что и сам разберёшься. Если не получится - я подключусь.
функциями setCoordSystem() и acedSetCurrentUCS(), но это не привело к ожидаемому результату.
Где же вообще верное место для вызова setCoordSystem() и acedSetCurrentUCS() ?
acedGetPoint() возвращает точки в UCS. Их тебе нужно преобразовать в WCS, так как в самом примитиве они хранятся в WCSСоотвественно после запроса точки в arxEntryPoint.cpp старта выполнил преобразование, согласвно вашему указанию:
Я добиваюсь чтобы деталь отрисовывалась в пользовательской системе координат так же как и в мировой ровно по осям, но не получается, происходит смещениеПричина очевидна. Нужно преобразовывать координаты и вектора по матрице преобразования WCS->UCS. получить её можно при помощи функции acedGetCurrentUCS.
Я добиваюсь чтобы деталь отрисовывалась в пользовательской системе координат так же как и в мировой ровно по осям, но не получается, происходит смещениеТы имеешь в виду при создании этой детали или уже после того как она создана? Если она будет менять свою ориентацию после изменения UCS - это будет полный бред.
Я имею в виду сначала задание пользовательской системы координат, а потом отрисовку деталиУточню вопрос. Что должно происходить с деталью при изменении UCS? В нормальной ситуации с деталью ничего происходить не должно и соответственно ни в коем случае не следует выполнять преобразование координат в методах Bolt::storePoints, Bolt::subWorldDraw и т.д. Всё это должно быть сделано в внешних методах. Конструктор Bolt::Bolt в твоей интерпретации не учитывает возможности системы координат отличной от WCS, так что его придётся переделать (добавить вектор оси Z UCS и вектор оси X UCS)
С деталью при изменении в UCS ничего не должно происходить, деталь должна отрисовываться по осям в уже заданной пользовательской системе координат и всё.Значит меняй конструктор, и вообще перерабатывай весь класс Bolt.