| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Мне недавно нужно было определить объекты модели, видимые в ВЭ, для этого я определял границы ВЭ в модели. По сути - это как раз то, что Вы хотели.
Цитата:
Алгоритм такой: 1. Циклом проходим по листам 2. Циклом проходим по ВЭ листа 3. Получаем точки контура ВЭ 4. Устанавливаем ВЭ текущим (это важно) 5. Транслируем координаты из листа в модель через этот ВЭ. В NET для этого подключается acedTrans, в AutoLISP есть trans. 6... Дальше эти точки сохраняем в список/ строим замкнутый контур/ делаем выбор объектов - по желанию. Не вижу причин, по которым такой алгоритм не будет работать в лиспе. Он, однако, не учитывает того, что могут быть криволинейные сегменты контура.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
инженер-проектировщик Регистрация: 15.08.2007
Санкт-Петербург
Сообщений: 67
|
Проблема решена. Ответ найден на Autodesk Community.
Опишу порядок действий:
----- добавлено через ~3 мин. ----- Do$, я не обновлял сообщения, пока писал своё решение. Пусть будут оба
__________________
AC 2009 |
|||
|
||||
инженер-проектировщик Регистрация: 15.08.2007
Санкт-Петербург
Сообщений: 67
|
Выкладываю код. Он был написан наспех для решения сиюминутной задачи, потому с удовольствием приму любую критику.
Код:
----- добавлено через ~2 мин. ----- В source код выглядит более симпатично
__________________
AC 2009 Последний раз редактировалось Евгенич, 27.11.2013 в 11:27. |
|||
|
||||
Offtop: Русские имена переменных в коде выглядят дико
Мне показалось, или видовой экран дважды делается активным? Сперва в условии COND, затем в последующем коде. А если ВЭ не прямоугольный?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
инженер-проектировщик Регистрация: 15.08.2007
Санкт-Петербург
Сообщений: 67
|
Согласен. Как-то совсем не обратил внимание про двойную активацию.
В случае с многогранным ВЭ придётся по DXF-коду 340 получить указатель на ограничивающую полилинию и воспроизвести её в Модели.
__________________
AC 2009 |
|||
|
||||
строительство Регистрация: 16.01.2004
Петербург
Сообщений: 165
|
Здравствуйте коллеги!
Связь между видовым экраном и моделью - это координаты центра видового экрана в модели. При entity подходе их можно найти в dxf коде 12 При объектном подходе проанализировав РД объекта Код:
|
|||
|
||||
Начинающий проектировщик Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
|
Сам тыкался на днях с этой темой. Нужно было найти центры прямоугольных видовых экранов в модели. Не нравился подход с перебором и активацией каждого экрана. Методом тыка нашел, что если к 12 коду прибавить координаты 17 кода, то координата в моделе совпадает с координатой центра видового экрана. Возможно это не работает на повернутых экранах или при измении ПСК, но для моей задачи хватило. Может кому пригодится. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать на "листе" нужное мне "окно " в модель? (видовой экран) | azetown | Программирование | 8 | 09.06.2011 09:16 |
Ищу листы Специальной карты Европейской России М:1дюйм-10верст | KSI | Поиск литературы, чертежей, моделей и прочих материалов | 6 | 19.04.2009 12:04 |