Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: begiz от 06-02-2017, 23:51:18

Название: Автоматическая UCS
Отправлено: 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
Название: Re: Автоматическая UCS
Отправлено: Александр Ривилис от 06-02-2017, 23:59:45
Ничего не понял. При чем здесь автоматическая UCS? Что такое autogrid? Какой AcDbFace? Как он соотносится с AcDb3dSolid?
Вот так можно получить нормаль в выбранной точке на поверхности AcDb3dSolid: http://adn-cis.org/poluchenie-normali-k-grani-3d-tela-s-pomoshhyu-brep-.net-api.html
Перевести с .NET на С++ не должно быть слишком сложным.
Название: Re: Автоматическая UCS
Отправлено: begiz от 07-02-2017, 00:09:19
Прицепил короткое видео, надеюсь наглядно будет.
идея сделать нечно похожее для Autocad.

https://yadi.sk/i/LnmlAsOk3DF2FW (https://yadi.sk/i/LnmlAsOk3DF2FW)
Название: Re: Автоматическая UCS
Отправлено: Александр Ривилис от 07-02-2017, 00:54:06
Показанный алгоритм устроил?
Название: Re: Автоматическая UCS
Отправлено: begiz от 07-02-2017, 09:17:36
Да,
через нормаль можно получить всё что нужно.
А без BREP можно обойтись както?
Название: Re: Автоматическая UCS
Отправлено: Александр Ривилис от 07-02-2017, 09:42:46
А без BREP можно обойтись както?
Нет. BREP предназначен именно для таких целей.