|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
23.06.2017, 11:03 | #1 | |
Как извлечь свойство 3D-тела "Длина"
Регистрация: 14.05.2015
Сообщений: 56
|
||
Просмотров: 6913
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Файл предоставь. Если велась история записи изменения тел, может быть, что-то увидишь в панели свойств.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Profan, ты на раздел топика посмотри...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 56
|
Цитата:
Есть какие то соображения по поводу как это осуществить все таки? Лисп или штатными методами это не важно, лишь бы было вообще осуществимо. Может есть какие то мысли? Не важно каким способом, главное что б было осуществимо. А к процессу извлечения привыкнется. Последний раз редактировалось Кулик Алексей aka kpblc, 23.06.2017 в 15:19. |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Я посмотрел: Программное обеспечение. А извлечь указанное свойство (длина), которого в палитре свойств 3D тела нет, можно только с помощью программирования.
Да, габаритный контейнер ортогонален осям координат. Значит, надо тела делать временно ортогональными (поворачивать). Сложно, да, однако, именно таким образом я создаю отверстия в стене (3D тело) в месте пересечения ее воздуховодами (3D тела), трубопроводами (3D тела) или лотками (3D тела) после экспорта архитектуры с трассами MEP из Revit в AutoCAD. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Profan, не пытайся казаться дурнем - не получится. Дальше прочитай: AutoCAD. Т.е. нужны штатные возможности. Без использования программирования.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 56
|
Цитата:
Цитата:
Другое дело, а работает ли данная функция при выделении большого количества объектов. Просто если надо тыкать в каждый, я быстрее вручную все сделаю. А еще можешь или объяснить, или кинуть ссылку на то как установить все это дело? |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
У geomprops есть функция для лиспа GeomPropsGetPerimiter.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 56
|
Цитата:
Ты пишешь: "(GeomPropsGetPerimiter <имя примитива>) ;; Периметр/длина примитива" Вот вместо имени примитива что писать следует? Если мне нужно определить периметр 3d-тела |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
GeomPropsGetPerimiter не подойдет. Подойдет этот способ
Только вместо команды "_SETVAR" писать команду "_LIST" Это если руками Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Это, по сути, опять определение габаритного контейнера, только муторно.
Как пример: имею 3DSOLID - цилиндр. Вышеприведенная программа выдает следующее: Ограничивающая рамка: Нижняя граница X = -39574.164, Y = -498707.461, Z = -1588.102 Верхняя граница X = -28379.116, Y = -479476.069, Z = -1429.102 Длина получилась равна nil. Пример более простой программы: Код:
Код:
|
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 56
|
Чертовы волшебники))
Полистал программу VVA. Опыта в программировании никакого, но как я понял ты просто создаешь лог, открываешь файл логов, находишь строку с именем "длина" и все что после ":" записываешь через запятую в отчет? Поправь если я ошибся. Буду хоть знать, правильно но ли представляю себе работу программы. Profan, Цитата:
Программы действительно жизнь упростят, спасибо. Пользоваться однозначно буду. Но хочется еще большей автоматизации. Вообще введу в курс дела - есть куча трубопроводов, нарисованных "сдвигом" (но в данном случае это не важно я так понимаю, все равно это 3dsolid) А считать эти трубы для спецификации дико лень. Идея была изначально такой - выбираю все трубы одного диаметра, и нахожу их длину (как по программе VVA), суммирую и вписываю в спецификацию. Но судя по всему это можно автоматизировать еще сильнее. Например так - Создать файл txt, и забить туда разницы координат углов ограничивающих 3д-тело (как у Profan, только именно разницу). Забить их, каждое значение в новую строку, и потом скопировав в тот же Excel анализировать и по разнице координат смотреть и диаметры труб и длину (типоразмеры диаметров фиксированные, так что труда не составит). Отводы таким же образом можно будет сосчитать. Если вам сильно скучно и нефиг делать, то буду рад такой программке) (ну или аналогу, потому что алгоритм описанный мной далеко не факт что самый простой) Ну а если нет, то думаю я и сам смогу написать подобную программу. Благодаря вам у меня есть теперь хотя бы основа для всех этих дополнений) В любом случае спасибо!) |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Будет равна только в случае диаметра цилиндра равного нулю. Диаметр может быть и не равен нулю, но тогда сам цилиндр должен быть ортогональным.
На картинке видно, почему длина цилиндра не равна длине диагонали. |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 56
|
А ну в этом случае конечно. Я просто думал что ты изначально про цилиндр ортогональный осям говорил, вот и удивился почему диагональ.
|
|||
|
||||
Klemion,
Здесь готовый алгоритм: http://adn-cis.org/kak-poluchit-3d-p...lo-sdviga.html
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Напомню, что я разрабатываю свои программы для тел, образующихся при экспорте коммуникаций MEP (совместно с 3D архитектурой) из Revit в AutoCAD. Тел типа "Сдвиг" там нет. Зато часто присутствуют тела типа "BODY". На этот случай я сделал программу автоматического преобразования тел "BODY" в тела "3DSOLID".
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как скопировать отверстие с одной грани на другую у 3D тела | Double-Zero | AutoCAD | 2 | 01.05.2014 17:22 |
Координаты 3D тела в пространстве | Mixon2010 | AutoCAD | 12 | 10.08.2011 17:39 |
LISP. Вывод объема 3D тела. | Scorpio_1986 | LISP | 3 | 27.02.2010 13:02 |
Нагрузки на 3D тела в SCADe как прикладывать | Comunikabel | SCAD | 20 | 20.10.2006 07:27 |
Как тело построенное 3D Face превратить в 3D Solid? | Bdod | AutoCAD | 37 | 03.08.2006 11:36 |