Тема: Разбор AcDbBody

Есть допустим конус в виде объекта AcDbBody. После расчленения он исчезает. Или говорит - не могу расчленить.  Это же относится и к такого рода цилиндрам и торам...
Может у кого есть идеи - как хотя бы добраться до их параметров?
Словами классика:
и зачем же они ее так крепют?...

Re: Разбор AcDbBody

Наверное только со специальной библиотечкой "API from Spatial Technologies"...
virtual void * body() const;
Returns a void pointer that points to the ACIS object for this AcDbBody object. If there is no ACIS object associated with the AcDbBody object, then NULL is returned.
This function is intended to be used with the ACIS access API from Spatial Technologies.

Re: Разбор AcDbBody

Еще нашел такую феньку:
Tips
To traverse the edges, faces, and vertices of the solid’s underlying ACIS object, use the BREP API. Manipulating the ACIS object subentities requires either an ACIS development license, or the use of the Mechanical Desktop API.

Re: Разбор AcDbBody

Да, похоже Brep с этим работает.
Их команда BRTRMSRF вывела мне просто ужасный список каких-то данных :)
Спасибо.
Я так и подозревал, что без него здесь не обойтись...

Re: Разбор AcDbBody

> Леонид
Вообще ничего хорошего из AcDbBody IMHO получить нельзя. В лучшем случае получить сеть (или 3DFACEы) которые являются поверхностью этого тела - смотри в сторону BRMESH. Но IMHO это мало чего дает для данной задачи.

Re: Разбор AcDbBody

> Александр Ривилис
Александр, то есть, Вы хотите сказать, что через Brep до данных того же тора добраться все равно невозможно?
Кстати, последнее сообщение здесь выглядит довольно соблазнительно
https://www.caduser.ru/forum/topic9967.html
Вроде и функция у меня такая же в точности, однако не взрывается... Чудеса какие-то...

Re: Разбор AcDbBody

> Леонид
Именно это я и хотел сказать. Хотя это конечно IMHO. Т.е. догадаться, что это тор и получить информацию о его радиусах и центре BREP не поможет.

Вроде и функция у меня такая же в точности, однако не взрывается... Чудеса какие-то...

Это не чудеса. Если внимательно посмотреть в документации, то AcDbBody расчленяется на AcDbRegion и/или AcDbBody. А так как AcDbRegion - примитив плоский, то для тора он получится не может никак. Т.е. останется AcDbBody. Увы!