Параметры цилиндра по ExternalBoundedSurface

Автор Тема: Параметры цилиндра по ExternalBoundedSurface  (Прочитано 2386 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 808
  • Карма: 166
    • Мои плагины к Автокаду
Я разбираюсь с размерами поверхностей твердых тел. Сложности возникли с деталями типа порезанных, изсверленных труб. Из Brep я могу извлечь интересующую меня грань Face, а из нее описание поверхности Ge.ExternalBoundedSurface. У поверхности есть хорошие свойства IsTorus и IsCylinder. Но нет никаких параметров этих цилиндров. Есть ли какой-то не сложный способ получить диаметр и длину огрызка цилиндра? Тора? Есть ли стандарт в описании этих типовых форм в системе u-v параметров? Ограничивающие контуры ничего не дают, т.к. там стыки с другими цилиндрами – это крайне сложные 3d-сплайны.  Сам исходный солид может быть и не сохранен в БД, так что получить Db.Surface невозможно.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Параметры цилиндра по ExternalBoundedSurface
« Ответ #1 : 13-05-2018, 16:08:37 »
Есть ли какой-то не сложный способ получить диаметр и длину огрызка цилиндра? Тора? Есть ли стандарт в описании этих типовых форм в системе u-v параметров?
Не думаю, что эта задача имеет решение в общем случае. А тем более "не сложное".
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение avc 14-05-2018, 12:40:37

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Параметры цилиндра по ExternalBoundedSurface
« Ответ #2 : 14-05-2018, 08:19:34 »
Есть ли какой-то не сложный способ получить диаметр
Вот тут : http://through-the-interface.typepad.com/through_the_interface/2011/10/identifying-holes-in-an-autocad-solid-using-net.html
посмотри метод GetNormalAndPoint() , его достаточно легко переписать для получения диаметра.
хотя там весь код интересен...

Онлайн avcАвтор темы

  • ADN Club
  • *****
  • Сообщений: 808
  • Карма: 166
    • Мои плагины к Автокаду
Re: Параметры цилиндра по ExternalBoundedSurface
« Ответ #3 : 14-05-2018, 11:40:08 »
Ну да, вот же он простой способ! Спасибо за ссылку. Я просто упустил из виду свойство ebSurf.BaseSurface. А в нем как раз водятся Cylinder и т.п. у которых есть все нужные свойства. Там у Kean вся заморочка только в том, чтоб отличить внутреннюю поверхность от наружной.