Я чувствую, что тебе уже пора начать самостоятельно искать ошибки в твоей программе. Для этой цели есть отладчик в Visual Studio. Ну и как минимум ты должен начать понимать в каких методах твоего кода может возникать ошибка.
Ты задаёшь вектор оси болта (m_vecU) при помощи вызова m_pBoltObj->setOrient(m_vec); А кто за тебя будет задавать вектор m_vecV? В случае 90 и 270 градусов у тебя m_vecU совпадает с m_vecV и соответственно векторное произведение m_vecU.crossProduct(m_vecV) даёт нулевой вектор. Вот у тебя болт и "схлопывается". Так что не поленись в BoltJig::update() устанавливать и m_vecV.
Кто тебе сказал что одновременно можно запрашивать и угол и расстояние???? Для этой цели обычно используют запрос точки (с указанием базовой точки). А так как сделал ты - так делать нельзя.
Зачем хранить все точки болта, записывать их в методе Bolt::dwgOutFields и считывать их в Bolt::dwgInFields, если ты их всё-равно каждый раз пересчитываешь? Максимально упрости и почисть код.
Мало "эталонных" примеров или описанных "техник" того, как стоит писать классы отрисовки, методы и вообще, как проектировать с архитектурной точки зрения подобные вещи.Эталонных примеров нет вообще. Примеры из ObjectARX SDK написаны для того, чтобы показать какие-то моменты в ObjectARX, но не претендуют на эталонность.
Никто и не говорил, разбираюсь во всём самостоятельно, тут действовал по принципу "Попробую, вдруг заработает...".А вот тут бы лучше было поискать готовые примеры.
(с указанием базовой точки).Кстати, уже видел это в некоторых постах, в процессе гугления и прочего кода из разных источников, но подскажите, что имеется ввиду, причём в некоторых случаях видел прям метод basePoint(), так как тела метода предоставлено не было возможно там просто возвращалась какая-то точка, что была полем класса, но всё же, какая именно точка имеется ввиду или является "базовой" ? Ну вот к примеру для моего случая с болтом ? Та ли это точка, относительно которой я провожу все основные расчёты для отрисовки всей фигуры (в моём случае точка посередине соприкосновения резьбы и шляпки) или это какая-то другая ?
но всё что какая именно точка имеется ввиду или является "базовой", ну вот к примеру для моего случая с болтом ? Та ли это точка, относительно которой я провожу все основные расчёты для отрисовки всей фигуры (в моём случае точка посередине соприкосновения резьбы и шляпки) ?Любая точка, которая тебе удобна в качестве базовой. Вполне годится та точка, которую ты используешь. В данном случае имелось в виду, что ты в первой операции как бы вставляешь болт (аналогично со вставкой блока в AutoCAD), затем меняешь его характеристики относительно базовой точки (угол поворота, его диаметр, диаметр шляпки, длину резьбы).
Кстати почему у тебя диаметр шляпки в Jig всегда в два раза больше диаметра самого болта? А иначе быть не может???Это чисто мой "хардкод", чтобы хоть немного упростить себе задачи по изучению, но выполнять их всё же