|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
15.12.2017, 21:33 | #1 | |
Как динамически связать объекты (блоки) в чертеже?
Регистрация: 05.12.2009
Сообщений: 72
|
||
Просмотров: 5395
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Выделить блоки, вызвать палитру свойств и устанавливать то, что надо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Согласен - Тогда следующий вопрос - как при выборе объекта задать маску выделения? (Чтобы нужные объекты выделялись одновременно?) Select Similar по всему чертежу работает или по области - а если нужные объекты через один расположены?
==== Нашел. Команда _GROUP. Деревянненькая... Разумеется стрелочки от блоков скрываются... это ж автокад =) Я вообще не нашел чем эта команда лучше чем сделать блок с кучей блоков внутри и править его refedit'ом Неудивительно что я за свои 13ть лет использования даже не слышал о ней. И что делать если свойства объекта задаются ручками с чертежа? Копировать значения из одного в свойства группы? А точность при копировании? Выставить в опциях максимальную и везде созерцать 13ть знаков после точки? Жесть... я начинаю злиться. Конечно я не буду ставить 13ю точность... придется задавать эти значения с помощью встроенного калькулятора. Неудобно?! - это уже не то слово... ПС Если не затруднит, подскажите пожалуйста, как объединить на одну кнопку команду Explode и Ungroup... То есть: IF выбрана (group) то _ungroup ELSE _explode ...не понимаю автодесковцев, которые решили разделить эти команды. Свои выводы на этот счет постараюсь не озвучивать. Последний раз редактировалось Arhi78, 16.12.2017 в 02:45. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Цитата:
Но команды разные, спасибо автодеск - очень удобно работать с группами, они просто как единое целое с остальным. Мне надо DIESEL выражение для этой комбинации, если не сложно. Спасибо. Ладно, я как понял команда _ungroup очень капризная, да и выражение не представляется коротеньким. А доп лисп ради стремных групп грузить не хочется... Видно не судьба... ==== Подскажите можно ли как-нить выпендриться и сделать так чтобы при выборе определенных объектов в составе группы - выделялась вся группа, иначе отдельный элемент? Тыкать pickstyle поднадоело... Посмотрел обучение - у кого-то Ctrl+клик или двойной клик игнорирует PICKSTYLE - у меня это сломано - как починить? Последний раз редактировалось Arhi78, 17.12.2017 в 10:04. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
А не знает ли кто-нибудь как расширить возможности команды _matchprop = КОПИРОВАТЬСВ = копирование свойств.
Стандартно она использует только небольшой набор = "К свойствам, которые можно скопировать, относятся цвет, слой, тип линии, масштаб типа линии, вес линии, стиль печати, прозрачность и другие заданные свойства." Как попросить эту команду копировать еще и пользовательские свойства - как то atributes, custom и прочее? Может есть надстройки? Можно ли создать лисп для этих целей? |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Спасибо за приглашение, но я и уже. Вы уточните на чем?
Не знаю можно ли тут ссылками делится: нашел код .net который описывает подобный случай для db объектов. Но дотнет меня не сильно прельщает, мне бы знать возможности перед тем как порог переступать, а то еще дверью ошибиться могу. Из шокирующего: узнал что _matchprop полноценно работает с объектами СПДС без бубна. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
Смотря что хотите автоматизировать, есть ли какие-нибудь базовые навыки в программировании (на первых курсах многих технических вузов дают азы программирования). Кто питон рекомендует, кто C# (и на нем большинство примеров) и т.д. А может захотите исправить несовершенство акада, окунувшись в С++ и ObjectARX)
----- добавлено через ~7 мин. ----- и это будет уже другая ветка форума - здесь про сам акад) |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
С лиспом, значит, говорите не связываться =)))
Соглашусь с Вами, ветку форума пора менять. Тут даже костылей не предлагают... на своих приходишь и со своими же гулять идешь - еще и синяков добавят. Спасибо за приглашение, но, наверно, в свете последних событий, схожу сначала к СПДСовцам и посмотрю на их параметрические объекты хотя бы одним глазком. До конца года определюсь +) Последний раз редактировалось Arhi78, 24.12.2017 в 23:05. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
например, на лиспе трудно делать диалоги с развитым функционалом. Можно делать диалоги на других языках программирования и вызывать из лиспа, но это надо знать уже два языка, да и опять - костыли получаются. А почему ничего не советовали - вы каким то своим путем идете, создаете какие то навороченные блоки, потом пытаетесь приставлять к ним костыли - а совершенство в простоте, как говорят мудрые люди) А, например, решить задачу
можно фактически на любом языке программирования. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Смотрите, я сейчас стою перед выбором - от приемлимого для меня способа работы с блоками, которые клепал в течении последних двух недель отделяет один штрих - _matchprop надблоков с блоками на блоки внутри надблоков. Простым решением для меня было бы, я думаю, лисп приложение. Беда в том что лисп мне давался тяжко, после pascal'я и asm'ы под DOS'ом, атомы я никак не мог воспринять еще во времена 2000го акада... ObjArx ближе для меня, но он сложнее и тяжелее в работе чем autolisp.
Создать их все было не сложно - методом проб и ошибок ушло где-то дня 4 - целых вечеров если быть точнее. ...А вот, дней 10 я потратил на проекции, никак по началу не удавались замены оператора IF набором предложенных autodeck'ом - я победил... И, как оказалось, сейчас я не могу использовать эти проекции из-за их непродуманного пересчета их автокадом при любых действиях - от выделения до наведения =) ... динамическая связь их с друг-другом отсутствует, ну и обычный _matchprop на динамические блоки = полный провал. Поставить костыль могу, но этот костыль уберет удобный способ редактирования и превратит один блок в 10 - то есть деградирует. Но работоспособным останется... на 2 балла из 5ти... Еще проблемы с вытаскиванием атрибутов... но костыль уже вроде есть на это. http://forum.dwg.ru/attachment.php?a...1&d=1514201118 Так вот, пара блоков - есть еще куча - с разным количеством углов, разными направлениями и прочим. Поиграйтесь с ними по отдельность - они нормальные даже на моих 4.9 индексе по процессору и памяти ... но, как говорил Задорнов, пока вместе не соберутся. Очень хотелось бы узнать Ваше мнение по блокам. (У меня бывает иногда лаг при старте автокада - чтобы не фризило надо зайти в bedit после открытия файла и выйти из него без изменений - поможет) ...Я бы не меньше вечеров потратил на задание геометрии таких блоков, используя программирование, а разбирательство с этим программированием по времени, съело бы еще раза в 4 больше времени. PS Да, о чем я - способов два - это программа для _matchprop, о чем я уже сказал - а второй это всю геометрию нарисованную мной в автокаде перенести в СПДС параметрические объекты, но с ними еще надо подразобраться... От первого меня ломает что лиспа я не знаю, а C# у меня на компе никогда не было. А от второго ломка ввиду полного отсутствия работы со слоями. Если закрыть глаза на ломку, то второй вариант я сделаю быстрее и проще... Чем собственно и занимаюсь сейчас. А совершенство, да, в простоте |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
Цитата:
Количество дин. блоков приличное, но бук core i5 спокойно обрабатывал... Offtop: Короче для проектирования КМ создавал прокат, заполнял таблицы блока данными из ГОСТ, сохранял на палитре... Для редактирования выбирал нужный прокат лиспом (см. выше) менял данные, обновлял таблицы... PS При увольнении раскрыл блоки, для ста-а-а-рого железа и софта, не жаловались... PS Какой-те _matchprop!, тебе по параметрам дин. блоки надо выбирать и синхронизировать Последний раз редактировалось VitalyAF, 25.12.2017 в 15:40. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Нда... посмотрел блоки. Если я правильно понял, то Вы хотите получить объект, в которым можно было бы нарисовать трубу/арматурину в двух проекциях сразу.
ИМХО, использование дин блоков для этой затеи не самое лучшее решение, но возможны варианты: 1. Своя команда или хук на команду _matchprop и меняйте свойства выделенных блоков как хотите. 2. Переопределение внешнего вида объектов автокада, проблема в том, что без программы переопределения не будет и заказчик, получивший Ваш чертеж, увидит только базовый объект, но можно закостылить - взрывая объекты перед отправкой. 3. Собственные объекты. Тут возможны варианты: анонимные блоки, MultiCAD API или C++ и ObjectARX. В любом случае писать код придется. ЗЫ. Если Вы используете Автокад под Windows, то компилятор C# у Вас на компе есть с годика 2005, а то и раньше. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
VitalyAF
Cупер! Вещь! Несите! Спасибо, то что нужно! Подредактировать, я думаю смогу! Спасибище! Палитра вообще огонь. Boxa, да и арматура тоже. Моя задача с объектов параметрически получать точные проекции на нужное сечение разреза (оно не всегда по нормали). До параметрических объектов в автокаде я не мог работать с дугами (признаться я и сейчас не могу их в 0 превратить или сделать линией). Теперь дуги нормально трансформируются и проецируются, всего за два вечера =) Очень много времени по работе уходит ручками построить по правилам начертательной геометрии точное сечение в нужном месте, ну и спецификации на это дело... С квадратными объектами бывает тоже не просто. Да, я уже с неделю как понял что не самое лучшее решение, однако удачно и относительно быстро и легко получилось это сделать. Все работает, через граничные условия перескакивает без ошибок. Один раз можно даже в прямую выпрямить, но ругаться будет и придется резет блок делать после этого. Вот видите насколько я далек от реального программирования +) Все что вы перечислили это конечно хорошо, на я как хобби программирование давно забросил - я металлорежущие станки по вечерам ремонтирую. А тут по работе просто писец как надоело делать одно и тоже - изменения очень и очень трудозатратны. Почему-то все молчат про СПДС объекты... Да, так и надо. Я такой вариант не описывал, потому что не догнал. Я последовательный - так как геометрия задается ручками: надо сначала изменить блок, а потом к группе блоков применить установки. Вот такая исковерканная динамическая связь... Последний раз редактировалось Arhi78, 25.12.2017 в 15:53. |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
А что про них говорить... всем хороши, но не у всех заказчиков есть СПДС, как передавать,
вот в чём промблема... PS Offtop: Хотя в свете последних полит. событий - частный, дозированный трафик интернет... со всеми вытекающими... бежать надо к отечественному софту пока не поздно, и вообще данные свои убрать с облаков, по крайней мере зарезервировать...Китайцы в этом плане молодцы, всё своё давно!!! PS Обещанные лиспы, ssd.lsp использовал как основной... Если есть вопросы, пишите. Но подробно могу позднее, в праздники рассказать, запарка на работе... Последний раз редактировалось VitalyAF, 26.12.2017 в 10:14. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Спасибо. Как сможете так ответите.
dynmatch = шикарно работает fdp - как я понял определяет блоки с одинаковым свойством. Работает настолько точно и хорошо, что не работает =) Проблема в том что динамические параметры блоков могут отличатся на 0.1*10^13 - особенности автокада похоже... Но введя дополнительные статичные переменные в блоки fdp становится хорошим помошником. ssd - в свою очередь ищет блоки со свойствами - куча моих user parameters в блоках мешает использовать этот лисп. |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
Цитата:
Цитата:
А вот ssd.lsp начинаешь ценить со временем, когда одного блока в чертеже становится до фига, но с разными параметрами типичная ситуация в КМ, и тут поступает команда поменять толщину или марку стали или ещё какую-нить фиговину у некоторых поз. с целью уменьшить общий вес конструкции, а модель уже собрана в 3-4-х проекциях + несколько разрезов, фасадов и видов (не 3d! ), ... т.е. всё заново начинать! С пом. ssd за несколько взмахов можно всё это поменять + обновить автоматом маркировку и таблицы + получить удовольствие от проделанной работы, что немаловажно!!! PS Проекты пока не могу найти, если не удалил, палитры есть с универсальными дин. блоками, марками и прочим добром, собранным на этом форуме и заточенным для проектирования чертежей марок КМ, кому нать, обращайтесь... fdp.lsp если это она, помню, что было три основных, она не всегда срабатывает, т.к. бета, но выручает, когда первые две не могут! Надо глянуть, нет ли обнов... Последний раз редактировалось VitalyAF, 26.12.2017 в 13:41. |
|||
|
||||
Регистрация: 05.12.2009
Сообщений: 72
|
Так я же свои блоки использую в составе надблоков и изменяю его через refedit, поэтому dynmatch идеальный костыль для меня. Теперь все летает в чертеже. Да, в идеале можно еще уменьшить количество операций при внесении изменений еще в 3...5 раз. Но я уже добился того чего хотел - теперь чертежи у меня будут полу-параметрические и внесение изменений это не пол дня, а пол часа от силы. Ну и самое главное - я теперь четком могу по времени предугадать сколько у меня отнимет то или иное изменение.
Вчера начал осваивать СПДС блоки со справки, пока все понятно вроде идет... Но мелких вопросов под накопилось за пару страниц, уже надо разбираться, а я выдохся за я эти две недели... Посмотрим, может через несколько лет поднакоплю сил и буду только их использовать... PS Жаль я не умею буржуйским поиском пользоваться, чтобы находить вот такие вот лиспы... Теперь по названию смогу обновления поискать. PSS С ssd буду разбираться. Еще впереди. Спасибо! Последний раз редактировалось Arhi78, 26.12.2017 в 14:15. |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
...сначала надо прочитать о чём речь идёт, потом уже искать...
Offtop: авторы обычно подписывают свои lsp, открой ssd.lsp, dynmatch и многое другое на www.lee-mac.com |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AutoCAD 2013: Как выделить и удалить объект в различных блоках, без "входа" в блоки? | DIN536 | AutoCAD | 9 | 09.03.2015 15:09 |
Как взорвать абсолютно все на чертеже (размеры, блоки (вложенные блоки))? | dahan | AutoCAD | 2 | 18.02.2015 16:08 |
пользовательские объекты, Custom Objets, параметрические блоки | АлексЮстасу | AutoCAD | 32 | 21.09.2011 23:32 |
Некоторые объекты на чертеже нельзя перенести | Wind | AutoCAD | 7 | 08.04.2011 18:44 |
Объекты и блоки с помощью команды fields | Strannyk | AutoCAD | 2 | 17.05.2010 11:24 |