|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
31.03.2019, 23:55 | #1 | |
Замена примитивов (отрезков) на блоки
Регистрация: 31.03.2019
Сообщений: 13
|
||
Просмотров: 13732
|
|
||||
Регистрация: 10.08.2013
Сообщений: 11,038
|
Поскольку смысл этого действия (замена отрезков на блоки) не раскрыт, то как вариант:
1. Сделать динамический блок в виде симметрично растягивающегося относительно центра отрезка (со скрытыми ручками) и с динпараметром поворота. 2. Получаете из отрезка его длину и угол поворота, а также координаты середины отрезка. Затем вставляете блок и задаете его динпараметры значениями из отрезка. И после удаляете отрезок. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Дополню, можно выгрузить данные из линий в Excel, немного посчитать... и пакетно вставить дин блоки с соответствующими настройками (DynIn).
|
|||
|
||||
Регистрация: 27.12.2011
Сообщений: 1,458
|
Не знаю, правильно ли понял, но набросал простенький лисп.
Код:
PS Возможен еще вариант, более правильный: создать в файле блок из отрезка длиной 1 и пакетно заменить им отрезки, а то здесь слишком много блоков получается, это нерационально. Может, лучше разместить тему в разделе программирования, там наверняка помогут. Последний раз редактировалось Oleg T, 01.04.2019 в 08:42. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,038
|
|
|||
|
||||
Регистрация: 31.03.2019
Сообщений: 13
|
Цитата:
|
|||
|
||||
Регистрация: 31.03.2019
Сообщений: 13
|
Забыл добавить один из важных моментов. Есть СТО Газпром газораспределение 2.7-2013. И все блоки должны быть вставлены именно в таком виде, в котором они были предоставлены организации. То есть в данном случае его нельзя изменять. Он только растяжимый. Файл блока прикрепил. l0.dwg
И спасибо всем, кто ответил. Буду пробовать все предложенные вами способы. Будут вопросы - напишу. Последний раз редактировалось Deutschland, 01.04.2019 в 21:06. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,038
|
чудоблок - на динпараметр поворота уже сил не хватило, видимо) И точка вставки не в центре блока-отрезка. Ну все равно алгоритмом остается почти прежним - только цепляетесь к одной из конечных точек "входного" отрезка как точки вставки.
----- добавлено через ~2 ч. ----- и откуда берутся данные для двух атрибутов в блоке? вручную вводить - это сразу хороший минус в скорости... |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Какой хороший блок, человек делавший его явно мастер, так просто и так элегантно повысить сложность автоматизации, это надо уметь. То, что это получилось случайно, я ни в жисть не поверю. Я прямо таки в восторге.
Deutschland, спасибо Вам большое, за то, что поделились. |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,226
|
|
|||
|
||||
коряво растяжимый
я внёс коррекцию только в растяжение, Offtop: ну и как водится короткий лисп. перед использованием нужно переопределить блок в чертеже на нижеприлагаемый. атрибуты у вставленных блоков пустые. Код:
|
||||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
koMon, а ведь условия против изменения блока...
Цитата:
VitalyAF, и зачем это? |
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,226
|
Та же линия с атрибутами в виде дин. блока,
только более функциональная. Переименуй атрибы и пользуйся! https://i.postimg.cc/4x7bT1zw/KM-Element.gif |
|||
|
||||
Регистрация: 31.03.2019
Сообщений: 13
|
Мне решили ещё усложнить задачу до поры до времени... Вы наверное задаётесь вопросом зачем ему это всё надо? У нас в организации прошла проверка, в ходе которой сделали замечание. Мол, вместо отрезков должны быть блоки. Заставили переделывать. Только над одним куском схемы я корпел чуть больше рабочей недели. Всё, чем я занимался - это вручную удалял эти отрезки и вставлял блоки. А переделывать схему придётся для целого города.
Буквально сегодня проверяющий дал нам блок (обычный блок). Он даже не динамический (не растягивается - ничего!) Будем добиваться адекватных блоков. Но пока что придётся работать именно с таким (прикрепил файл). И теперь я смотрю длину отрезка, удаляю его, вставляю блок, указываю длину, поворачиваю его и свожу с другим и так по цепочке. Очень кропотливая работёнка. Но можно ли как-то и из этой ситуации выкрутиться, чтобы заменить отрезки на блоки (с такими же длинами, поворотами и т.д.) пакетно или ещё как-нибудь упростить работу? |
|||
|
||||
Регистрация: 31.03.2019
Сообщений: 13
|
А что это за лисп такой, чем он поможет? Активировал, пробую что-то выделять - реакции ноль.
И в чём блок был корявый, скажите пожалуйста. Я с AutoCAD не так давно знаком, многих нюансов не знаю ещё. Последний раз редактировалось Deutschland, 02.04.2019 в 19:14. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,038
|
точку вставки перенести в середину блока, там же сделать динамический поворот блока. И растяжение от центра блока. Тогда даже вручную было бы проще - вставляется блок с привязкой к середине отрезка, затем он ручкой разворачивается до совпадения с отрезком, другой ручкой растягивается до конца заменяемого отрезка. А то, что вам дали, это действительно:
причем даже не автоматизации, а просто работы. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить цвет выбранных примитивов? Замена цвета объектов в autocad (с помощью autolisp). | Halfback | LISP | 8 | 24.12.2018 20:52 |
Как изменить свойства примитивов в блоках стандартных размерных стрелок | philja | AutoCAD | 6 | 05.02.2016 01:22 |
AutoCAD MEP 2014: Откуда возникли непонятные блоки и стили в новом блоке? | Новичёк | Вертикальные решения на базе AutoCAD | 7 | 14.12.2015 11:09 |
Различие функции поиск и замена (команда _find) последних версий AutoCad | WeMaN | AutoCAD | 18 | 30.05.2013 13:40 |