Сообщество программистов Autodesk в СНГ
ADN Club => ObjectARX => Тема начата: begiz от 06-02-2017, 23:51:18
-
Доброго времени суток.
Возникла необходимость сделать "autogrid".
Поясню, допустим есть AcDb3dSolid у которого верхняя гран под углом к плоскости X/Y.
при создании нового AcDb3dSolid выверается точка на солиде и UCS трансформируется чтобы создание нового примитива выполнялось в плоскости AcDbFace.
может кто встречался с такой задачей?
Пытаюсь достать AcDbFace из солида под то4кой, расчитать его плоскость и сделать матрицу трансформации.
Но пока проблемы с SubEntity , чего-то не до koнца видимо понимаю.
смотрел примеры, но пока не пониал как сам AcDbFace получить
http://adndevblog.typepad.com/autocad/2012/07/highlighting-lwpolyline-segments.html (http://adndevblog.typepad.com/autocad/2012/07/highlighting-lwpolyline-segments.html)
http://adndevblog.typepad.com/autocad/2013/01/select-the-edge-of-a-nested-solid.html (http://adndevblog.typepad.com/autocad/2013/01/select-the-edge-of-a-nested-solid.html)
http://adn-cis.org/kak-v-objectarx-vyibrat-grani-3dsolid-i-izmenit-im-czvet.html (http://adn-cis.org/kak-v-objectarx-vyibrat-grani-3dsolid-i-izmenit-im-czvet.html)
Autocad 2010-2015
-
Ничего не понял. При чем здесь автоматическая UCS? Что такое autogrid? Какой AcDbFace? Как он соотносится с AcDb3dSolid?
Вот так можно получить нормаль в выбранной точке на поверхности AcDb3dSolid: http://adn-cis.org/poluchenie-normali-k-grani-3d-tela-s-pomoshhyu-brep-.net-api.html
Перевести с .NET на С++ не должно быть слишком сложным.
-
Прицепил короткое видео, надеюсь наглядно будет.
идея сделать нечно похожее для Autocad.
https://yadi.sk/i/LnmlAsOk3DF2FW (https://yadi.sk/i/LnmlAsOk3DF2FW)
-
Показанный алгоритм устроил?
-
Да,
через нормаль можно получить всё что нужно.
А без BREP можно обойтись както?
-
А без BREP можно обойтись както?
Нет. BREP предназначен именно для таких целей.