|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Данные для раскроя (Мебель, и не только)
Designer
Кишинев
Регистрация: 21.05.2004
Сообщений: 24
|
||
Просмотров: 25377
|
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
В свое время пытался сделать нечто аналогичное для 3d solid'ов, но увяз в расшифровке этого замудреного описания. Простые детали (типа кубика или аналогичные) еще как то можно "измерить", а на сплайновых контурах... В общем, ручками померить оказалось проще чем сделать 100% рабочую программу.
Сейчас думаю на Инвентор перейти с подобного рода вещами. Там это проще реализуется. Да и сама софтина куда более интеллектуальна. ![]() Если же речь идет о плоской полилинии - контуре детали - то все значительно проще. Хотя, это мне показалось совсем не интересно, так как либо пропадает возможность анализа твердых тел на предмет пересечения и т.п., либо требуются дополнительные манипуляции для получения этой самой полилинии-контура и синхронизации с телом. А ведь кромка может быть срезана и под углом - это еще усложняет задачу :cry: |
|||
![]() |
|
||||
Цитата:
www.elecran.com.ua P.S. В известных мне приложениях под AutoCAD позволяющих решить такого рода задачи, солиды создаются и редактируются !только! самим приложением. Вручную ни-ни. Т.к. приложение пишет в солид свои данные, которые потом анализируются. |
||||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
Цитата:
Винт на котором демки и эта инфа была приказал долго жить. :cry: В памяти осталось только, что 2 софтины были от французов и одна от испанцев. Ну и цена соответствующая от 2 до 6 K$. Причем приемлемую функциональность обеспечивала только самая дорогая. ![]() Ну а для себе писал в свое время приложение. Прямоугольные и некоторые часто используемые фигурные детали отрисовывал программно и писал в X-Data нужную инфу. Плюс инструмент для ручного редактирования\внесения этих данных. |
||||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>BigBrother
Мдя... писать все в X-Data - дело хорошее. Только тут уж не до функционала.... Впрочем, для шкафчиков-тумбочек, где детали относительно простые и стандартные, это может быть вполне реальным решением. У меня к сожалению стандартных конфигураций немного ![]() |
|||
![]() |
|
||||
Сообщений: n/a
|
Если деталь ориентирована так, что направление ее осей совпадает с направлением осей X и Y мировой системы координат, то для определения габаритов параллелепипеда в который можно вписать Solid можно применить метод GetBoundingBox.
Для такого случая это и будет решением задачи. |
|||
|
||||
>vk У меня к сожалению стандартных конфигураций немного
![]() Советую в этом случае внимательнее присмотреться к 3D-Constructor. Функциональность обеспечивается сплошной параметризацией сверху вниз. Практически MDT для мебельщика. Можно и для клиента "сделать красиво" и всю КД получить. И самый главный плюс для меня то, что это привычный AutoCAD. ![]() |
||||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>BOZ
Верно. А если не совпадает - то можно и установить ПСК по объекту. Только далеко не всегда она ставится так как хотелось бы. В этом главный минус такого метода. >BigBrother Спасибо за совет. Демку скачал еще вчера. Приятно удивлен объемом сопроводительной документации - свыше 300 страниц ![]() Но больно уж привык к тем методам, которыми пользуюсь. Например, паз в детали получать путем вычитания объекта, полученного в результате анализа пересечений деталей; для обрезки - SLICE по трем точкам или плоскости и точке; смещение грани для корректировки зазора и т.п. |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
А если попытаться определить плоскость с наибольшей площадью?
Сделать копию файла, найти все солиды с значением по одной из осей = 18mm (проверять надо по всем осям XYZ), взорвать первую деталь, получить габариты региона с наибольшей площадью (возможно ли? по принципу bounding box или, вернее, rectangle?), значения записать в внешний текстовый файл. Взорвать следующую деталь и.т.д. Ну как? Реально?
__________________
Via est vita! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Лучше один эксперимент, чем куча рвссуждений. Сделайте в плоскости XY мировой ПСК например плоскую прямоугольную панель и отрежте солидный кусок с одного угла. Можно еще и кромку какую нить сделать не 90° а к примеру 45°....
Определите координаты через GetBoundingBox. Все получается ровненько... Теперь покрутите эту панель по разным осям на разный угол, каждый раз проверяя координаты... и каждый раз получая новые значения. Попробуйте установить ПСК по объекту, но не указывая мышкой ребро, а передавая указатель на объект, полученный например (entlast). Это поытка задействовать (trans) для пересчета координат. Увы, не всегда ПСК ставится так чтоб хотя бы одна из осей была вдоль какой то "базовой" стороны. Впрочем, такая же ерунда получается и с регионами после взрыва. Воти выходит, что если требуется замерить размеры детали типа "кирпич", что лежит на полу в углу - то проблем практически нет, а если деталь сложная, да сориентирована в пространстве "от фонаря" - тут уж не до автоматизации (ИМХО). |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Так просто что даже не вериться. Значит, я где-то ошибаюсь. Может кто-то сделать действующую программу? На примере: слева - регион лежащий в одной плоскостью с WCS справа - тот же регион, но повернутый на произвольный угол [ATTACH]1085510186.gif[/ATTACH]
__________________
Via est vita! |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Код:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Это конечно только фрагмент. Давайте разберемся от начала и до конца что нужно, тогда можно будет что-нибудь написать. Я это понимаю так:
- вы сами заботитесь о том чтобы детали на момент начала программы были паралельны осям - затем поочередно щелкаете по деталям, либо выбираете их рамкой и вся информация о размерах пишется в текстовый файл. -перед окончанием работы, очевидно необходимо каким то методом пометить детали с которых были сделаны измерения (например временно изменить цвет) и выдать репортаж в текстовый экран для проверки. -дополнительно можно предусмотреть переключение видов. Так? Интересует внутренний формат файла, расширение если оно критично или отличается от *.txt а также другие замечания по этому поводу. На серьезную прогу расчитывать не надо, немогу уделить столько времени, но вполне приличный инструмент помогающий в работе соорудить можем. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Логично. Надо над этим поразмыслить... На ум приходит еще вариант сделать интерактивное выравнивание по указанию двух точек. Т. е. прога запрашивает две точки, щелкаем на крайних точках нужной грани и все выравнивается по определенной заранее оси.
|
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Еще можно вычислять объекты у которых по одной из осей нет толщины ламината (чаще всего 18мм) и помечать их красным. а потом, опционально, применять только к ним интерактивное выравнивание по указанию двух точек.
__________________
Via est vita! |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Желательно мне скинуть на asmirnov@inbox.lv (8 Mb) или Aleksandrs.Smirnovs@parex.lv (50 Mb):
1) пример текстового файла 2) каких нибудь реальных чертежей Будем по тихоньку думать... |
|||
![]() |
|
||||
Сообщений: n/a
|
Может и не к месту, но поставленную задачу выполняет bCAD.
Немного не привычно после AutoCAD но приноровится можно. И размеры и раскрой и отходы материала учитываются, плюс вывод на печать карт раскроя и рабочих чертежей каждой детали. Только желательно использовать лицензионный так как он позволяет работать с личными базами материалов. Взолманный к сожалению не попадался. |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Уточнение - базовые поверхности должны быть параллельны плоскостям МСК. Код:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>Don Pedro
Работать то работает.... Только вот для того чтоб работало нормально, надо ручками выравнивать примитив... Или устанавливать ПСК по нему (в этом случае код надо немного поправить). А это уже сводит на нет эффективность проги :cry: Времени на создание проги потратил немного, только пользы от нее в общем то нет. Потому и алгоритм не стал доводить до ума. Чтоб понять принцип работы - добавил комментарии... Учите Лисп, если есть желание понять до конца ![]() |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>VK
Нерасшифрованная группа 1 DXF солида: Код:
Код:
8) |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>Fantomas
Все это мы проходили.... И группы расшифровали... и даже кой чего из них вытянули ![]() Расшифровывать связи между поверхностями? Фигня полная... получается, что надо делать свою модель солида.... Тоже не то... Выковыривать образующие? Можно, но сложно.... Два взрыва - самое простое, но далеко не для всех тел. Для фанеры - ламината годится ![]() ![]() |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Ну ладно, ладно... Я тоже дошел до двух эксплодов, как раз думал насчет дуг и сплайнов, как увидел в представленном листинге как считать их точки с некоторым шагом. У меня другая идея есть, только времени ни так много, халтурка привалила...
Брошурку кину в Download, в свое время кажется Apelsinov очень интересовался регионами, может и еще кому сгодится... |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
2 Fantomas - С меня бочка виртуального вина
![]() В принципе лисп vk правильно отображает координаты. Для корпусной мебели других расчетов не надо, там почти все перпендикулярно или паралельно друг другу. Для других деталей (непаралельных осям) можно применить следующее действие: выравнивание ПСК по фэйсам солида пока один из размеров X,Y,Z не совпадет с толщиной материала (к примеру ламинат 18мм, или стекло 4мм, фанера 4мм). Проверку засунуть в цикл с количеством проходов равный количеству фэйсов. Если условие не удовлетворено, тогда солид перемещаеться на другой слой помеченный красным цветом и пропускается. Отдельно придеться сделать лисп для обработки именно таких солидов - то есть способом описанный выше Fantomas-oм Цитата:
__________________
Via est vita! |
|||
![]() |
|
||||
Сообщений: n/a
|
Всем привет!!!
Я как раз работаю над такой программой (на VBA). Она в основном закончена и успешно эксплуатируется. Работает по принципам, описанным на этом форуме, т.е. разбивает 3D-Solid на регионы, находит самый большой по площади, берет BoundingBox и т.д. Но пока автоматически берет только детали, лежащие в одной из основных плоскостей WCS. Работа с ней выглядит примерно так: - по запросу выделяешь мышкой изделие (например, шкаф) - программа вычитает из всех деталей крепежные элементы (евровинты, шканты, полкодержатели, предварительно вставленные другой моей програмкой), для получения отверстий. - создает новый файл "Название_исходного ДЕТАЛИРОВКА.dwg", куда вставляет все детали 3D-модели, разворачивая их в плоскость чертежа. - после соотв. запроса, проставляет на деталях ВСЕ размеры, включая крепежные отверстия и обозначения (подо что отверстие). Если отверстие с обратной стороны детали, это тоже будет отмечено. - Заносит детали в спецификацию (EXCEL) c автоматизированным обсчетом стоимости. Кстати, есть и нумерация деталей как на чертеже, так и на 3D-модели с удобным назначением деталям названий. Возможна нумерация в автоматическом режиме. Также есть отдельные програмки для: - заполнения указанного объема выдвижными ящиками или полками - создания и обсчета каркасных конструкций из алюминиевого профиля или хромированных труб - быстрой отправки на печать деталировки - еще кое-что по мелочи Могу предложить этот набор программ, но за деньги... Демоверсии нет, но есть более подробное описание. Есть еще деморолик, только здоровый. Если кого заинтересовало, пишите, договоримся. (sonator@yandex.ru) |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Не знаю, как насчет автоматизации установки ПСК - пока не нарыл 100% рабочего алгоритма. К тому же совсем не факт, что поверхность с максимальной площадью должна быть базовой (как автоматически сориентировать поворот осей X и Y - это вобще отдельный вопрос). Уж слишком много тонкостей, по крайней мере в моих конфигурациях. Кроме того делать привязку к 18mm.... вряд ли это разумно. Насколько я знаю, ламинат бывает разной толщины.
В общем, пока решил остановиться на ручной установке ПСК. По крайней мере, так все под контролем. Хотя и добавляется лишние клики.... Информация пишется в примитив. Код:
Код:
- нормальный вывод в Эксель - автоматизированная отрисовка позиций в виде - редактор РД .... может быть что то и получится... |
|||
![]() |
|
||||
Сообщений: n/a
|
Если уж на то пошло, то подход к программе должен быть другой
Надо написать функцию которая будет рисовать Solid, пусть даже прямоугольный, запросив габарит и тут же записать в расширенные данные габарит, позицию и все что угодно. А дальше эти данные в любой момент элементарно вытаскиваются. Над этим солидом можно будет проводить и различные операции (скругления, фаски, вычесть что-то). При этом, если его габарит не изменится, то в расширенных данных останется правильная информация. И не надо заботиться о ПСК и углах наклона. |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
![]() Вот потому то и присматриваюсь к Инвентору, хотя там тож не все прозрачно. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
Сообщений: n/a
|
[/quote]Серьезно сомневаюсь насчет применения BoundingBox к телам, имеющим сплайн по одной из сторон. Дело в том, что BoundingBox определит габарит, но не совсем правильно... Похоже, что он проверяет у сплайна координаты управляющих точек. А управляющие точки могут лежать далеко за пределами детали - тут все зависит от конфигурации кривой. Увы, это годится только для простых деталей (как минимум без сплайнов).[/quote]
Серьезно сомневаюсь насчет целесообразности применения сплайнов в проектировании мебели. На них и размеры не поставишь. Практически все можно дугами нарисовать. Ну а если такая деталь все-таки попадется, можно в EXCEL'е и вручную размер подправить. Привязки к толщине материала у меня нет. Ручное указание ориентации можно добавить опционально - для сложных случаев, а в простых, моя программа успешно работает... |
|||
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Сплайн я пользую только для быстрого рисования выкрутасов, когда клиенту надо через 15 минут показать трехмерку. Потом сплайн сверху перерисовываеться дугами и делаеться новый солид, для проставления размеров. В мебельном производстве необходимость произвольно вертеть деталь возникает только при построении угловых элементов кухонь, шкафов и.т.д. Чаще всего это дверцы и некоторые цоколи. Но таких деталей так мало (1-10 шт. в одной сборке) что для них и стоит применить ручной способ установки ПСК. Пометить их красным или скинуть на другой слой а там уже обрабатывать вручную и скидывать обратно.
__________________
Via est vita! |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
А разрабатывать конструкцию состоящую из солидов на основе существующей - в Автокаде вообще нереально. Проще перестроить солид с нуля, чем его редактировать. Не стречировать же ты его будешь? Зачем присматриваться к Инвентору и тратить время на адаптацию? Если проектирование мебели - постоянная работа, то есть несколько отечественных САПР. В частности, если говорить про Автокад, то уже упомянутое приложение 3D-Constructor - перекроет все эти проблемы элементарно. |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Вижу что тут уже написали прогу. Но пока не решена проблемма нахождения площади заготовок при положениии детали не параллельно осям. Чем я и занимаюсь. К сожелению сейчас со временем полный цейтнот, но успел написать для частного случая когда детели прямоугольные, допишу до выходных. Вот заготовочка для прямоугольных деталей, можно "покормить" точками лежашими на одной плоскости (т. е. после второго взрыва наибольшего региона), прошу прошения переменные пока все глобальные. Конец связи...
Код:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Во вторых, перечитайте первый пост данного топика. Там вопрос стоял именно о сплайнах. Конечно, можно перерисовать сплайн дугами и отрезками, но в большинстве случаев это не нужно, да и время отнимает... В каких то случаях может понадобиться эллипс... Его тоже дугами аппроксимировать? И последнее, размеры на сплайн ставятся элементарно - пара координат XY точки с привязкой _nea например (как вариант - программно получить таблицу координат). Даже не знаю, что проще разметить на реальном листе: десяток дуг/отрезков (30-40 координат) и хорошо, если центр дуги не окажется где то далеко или построить плавную кривую по 15-20 точкам (такое же к-во координат) с достаточной точностью, хотя бы даже и "от руки". Поделитесь соображениями на этот счет. А вот с опциональным выбором ПСК - полностью согласен. Нельзя навязывать это как в моей проге (обещаю подправить ![]() Цитата:
Другой случай: Была сделана модель, где заложена толщина материала 15мм. Закупили 18мм (зачем - не ко мне вопрос). Какие то размеры критичны, какие то нет. Надо по быстрому подкорректировать геометрию. Все свелось к перемещению нескольких граней в каждой детали. Но габарит некоторых деталей уже изменился. Потому еще раз повторю - "в другой раз". И без меня. Цитата:
|
|||
![]() |
|
||||
Сообщений: n/a
|
На счет простановки размеров на сплайны я конечно погорячился :?
(ну не люблю я сплайны!). Просто я лет 5 проектирую мебель и за это время мне, может быть, пару раз приходилось использовать эллипс... А вообще, прекрасно обхожусь дугами, хотя vk прав, это конечно дело хозяйское. BOZ : А разрабатывать конструкцию состоящую из солидов на основе существующей - в Автокаде вообще нереально. Проще перестроить солид с нуля, чем его редактировать. Постоянно так делаю! Удлиннить/укоротить шкафчик (если детали прямые) - минутное дело. В XDATA у меня номер и название детали - они при редактировании сохраняются. |
|||
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Цитата:
С Боз-ом не согласен. Чаще всего меняю существующий солид
__________________
Via est vita! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
![]() ![]() Цитата:
![]() ![]() >all Чтоб не засорять форум килобайтами кода, код с обещаными (и не только) исправлениями выложил по адресу hhttp://bazarov.net/~vkle/gabarit.zip (3,5 кб) |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Прекрасная работа!
Я даже боюсь начальству показывать, слишком жирно будет! ![]() Пожелания: 1. Сделать опциональное выделение рамкой. Чтобы можно было быстро получить метраж; 2. Выделение цветом солидов у которых присутствуют координаты записанные в расширенные данные; 3. Выделение цветом солидов у которых есть позиция (название детали); 4. Быстрое обнуление всех расширенных данных, а также выборочное обнуление. Или отдельную функцию проверки на соответствие данных с реальными координатами которая запускается перед экспортом в текстовку. (пригодиться когда надо делать изменения в конструкцию) 5. Проверка данных на обязательное наличие одинаковой толщины (толщину запрашивать у пользователя). Солиды у которых нет обозначенной толщины (к примеру 18мм ламинат) помечать цветом для идентификации для дальнейшей ручной установки ПСК. 6. Запись данных в обычный текстовый файл но с расширением .xls Формат данных: Координата Х <табулятор> Координата Y <табулятор> Координата Z <табулятор> Позиция Надеюсь, я не слишком напрягаю. ![]()
__________________
Via est vita! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Ну это еще не самое то... Всего лишь наброски, хотя и практически рабочие.
Вижу, моя прога пригодилась не только мне... По поводу пожеланий: 1) На какой стадии? Если при вычислении габарита - то необходимо исключить то что не стыкуется с текущей ПСК. Тоесть, выбрать нужно только детали лежащие в плоскостях, параллельных плану текущей ПСК и соответствующим образом ориентированных. Пока не знаю, как это решить программно чтоб получилось надежно. ИМХО это самое "интеллектуальное" место. 2 и 3) Сделаю... А каким цветом? :wink: У меня цвет детали как правило ByLayer ("ПоСлою"), а слоям назначаю разные цвета, чтоб в хитросплетениях линий можно было ориентироваться.... Впрочем может быть удобнее скрывать детали у которых есть расширенные данные либо путем замораживания/выключения слоя детали или лучше управлять видимостью (в последнем случае потребуется еще одна малюсенькая функция-команда для восстановления видимости) 4) У меня была аналогичная мысль о проверке на соответствие, но... "см. п.1" ![]() 5) Может проще это сделать (во всяком случае увидеть) непосредственно в Экселе (см. п.6)? Хотя, можно попробовать и программно... ИМХО это вопрос не первой срочности... 6) Добавил функцию прямого экспорта в Эксель (OfficeXP), только формат немножко другой (делал под свои нужды). Перед употреблением рекомендуется прочитать комментарии перед программой GAB2EX (в конце Лисп-файла). Адрес прежний http://bazarov.net/~vkle/gabarit.zip (7,3 кб) Не гарантирую что все работает идеально... Времени на всестороннее тестирование почти нет :cry: Кроме того, у меня есть еще и свое пожелание, которое надеюсь воплотить в... код. Копирование детали из сборки в отдельный файл на этапе вычисления габарита (ПСК то установлена правильно!!!). И соответственно, в Экселевском файле создание гиперссылки на этот файл детали (по определенным правилам). Не знаю, нужно ли это кому кроме меня... Если не нужно, то для себя сделаю отдельные функции. |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
Если объект будет повернут в пространстве, то это значение изменится. Плоскопараллельный перенос и поворты вокруг Z данное значение не изменят. Будет Вам признак. |
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>BOZ
Интересная мысль! Только нужна ориентация детали, полученная после всех преобразований.... Тут еще есть над чем подумать. >Don Pedro Забирайте http://bazarov.net/~vkle/gabarit.zip (8,7 кб) |
|||
![]() |
|
||||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
1. Быстрое вычисление габаритов происходит выборочно при запуске команды gabarit:
Код:
Цитата:
Вариант 1: Самый большой регион (после взрыва) и есть оптимальная плоскость для ПСК; Вариант 2: Перебор фэйсов для ПСК. Если в данных GetBoundingBox отсутствует толщина материала (ранее заданная пользователем) то для ПСК применяеться другой фэйс (не знаю если программно так возможно но, имхо, должно работать железно); Цитата:
![]() Цитата:
6. У меня Офис 2003. Не хочет загружаться. Код:
Цитата:
Цитата:
__________________
Via est vita! |
|||||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Потестил, хорошо работает!
__________________
Via est vita! |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
А если приписать нулевую точку и три точки на габаритах (не помню, кажется в код 1011) то всегда можно будет вычислить и плоскость и габариты (если не было операций). |
|||
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Штудирую... ЗЫ: У данных XYZ четыре лишних нуля.
__________________
Via est vita! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Можно в принципе автоматически настраивать Excel, но эта настройка хранится кажись в системе а не в файле ![]() Вроде бы у нас принята запятая в качестве разделителя, а в Лиспе используется точка. Поэтому в проге сделана замена точки на запятую Код:
Код:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Большое спасибо BOZ за подсказку по 1011 группе DXF!!! Кажется должно получиться!
>Don Pedro Добавил групповой выбор. Для чего мигалка - надеюсь понятно. А пищалка мне пригодицца ![]() |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Мигалка - хорошая идея! Только работает после ввода позиции, что сводит ее практическое применение к нулю. Надо чтоб мигало перед вводом позиции, или чтоб окрашивалось в другой цвет, задаваемый пользователем вручную в лиспе.
Ключ Select. После выделения рамкой, цифры записанные в расширенные данные не соответствуют реальным измерениям ![]()
__________________
Via est vita! |
|||
![]() |
|
||||
>vk Большое спасибо BOZ за подсказку по 1011 группе DXF!!! Кажется должно получиться!
В развитие этой темы: если примитивы создавать программно и не редактировать их с изменением габаритов, то можно анализируя XDATA создавать полки, фасады, ящики, расставлять крепеж своими командами. Что однозначно быстрее средств Автокада, но тут есть одно НО! Обеспечить редактирование программно - очень большой головняк. А ведь всем нам хорошо знакомо это волшебное слово "согласование". :evil: Именно поэтому перешел на МДТ, а потом на 3D-Constructor. 2vk Если интересуют исходники, тулзовина такая написана, но заброшена еще в 2001г. :roll: Может пригодится? |
||||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>BigBrother
Спасибо за предложение, однако, мне в ближайшее время точно не пригодится. По тем же самым "волшебным" причинам. В том то и дело, что сейчас проще ручками поправить проблемные места в модели, а если все будет построено на программной правке - головняка не избежать ![]() Чем привлекает Инвентор - так это асоциативность деталей. Стоит изменить один размер - и все что с ним связано тоже автоматом подстраивается, меняется.... Конечно если все зависимости сделаны правильно ![]() >Don Pedro Копирование деталей из сборки в отдельные файлы - сделал свою версию. Если деталь имеет позицию и сохраненную ПСК (а сохраняется они с деталью при вычислении габарита) - то она будет скопирована в отдельный файл в указанную папку (папки должны быть созданы заранее, имена папок не должны содержать пробелов). Ориентация и расположение детали в конечном файле определяется ПСК, которая сохранена в момент вычисления габарита. Позже постараюсь добавить еще и прописывание гиперссылок на эти файлы в экселевский файл. Кстати, что все таки с лишними нулями? И откуда точка взялась? Должна вроде быть запятая... К сожалению нет под руками 2003 Офиса чтоб проверить подробно... |
|||
![]() |
|
||||
Designer Регистрация: 21.05.2004
Кишинев
Сообщений: 24
![]() |
Цитата:
Start/Settings/Control Panel/Regional Options/Numbers/Decimal symbol Или переходом на русскую локаль. Я так и сделал. Думаю Офис 2003 тут не при чем, все дело в региональных настройках.
__________________
Via est vita! |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Цитата:
Надежно было бы ставить ПСК непосредственно по региону, однако, ACIS-объекты (3dsolid и region), как выражается АутоЛисп, "не имеет системы координат" ![]() Command: _.ucs _n _ob <указать объект> А вот если то же самое на Лиспе (command "_.ucs" "_n" "_ob" (car (entsel))) для регионов не прокатывает, хотя простые примитивы (дуга, отрезок и т.п. хавает) Потому придется цепляться к какому то простому примитиву, полученному после второго взрыва. Вопрос - к какому? Наверно к тому у которого длина больше других... Если только он не "по диагонали".... Пока считаю что ручной выбор надежнее. Еще фильтр добавил для поиска примитивов по имени. И диалог редактирования очеловечил немного..... |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
|
|||
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Добавил гиперссылки на DWG файлы во вторую колонку листа Excel только из команды DWRITE. Ну и еще кой чего по мелочи поправил.... Правда, на рабочем проекте пока не тестировал.
Адрес http://bazarov.net/~vkle/gabarit.zip (15 кб). Подробности в файле Readme.txt и конечно, комментарии по тексту программ. Вроде бы сделал почти все что хотел, правда не все так как хотелось бы ![]() По автоматическому определению ПСК пока нет идей, как сделать чтоб было надежно. |
|||
![]() |