Нужно создать LISP с набором команд. Подробности внутри...
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужно создать LISP с набором команд. Подробности внутри...

Нужно создать LISP с набором команд. Подробности внутри...

Ответ
Поиск в этой теме
Непрочитано 17.09.2013, 13:16 #1
Нужно создать LISP с набором команд. Подробности внутри...
Conan_w
 
Инженер-проектировщик
 
Мурманск
Регистрация: 16.05.2007
Сообщений: 79

Доброго времени суток любители и профессионалы.
Поймал себя на мысли что делаю одну и ту же операцию очень часто и помногу. И тут же родилась идея - а не автоматизировать ли обезъянью работу. Есть идея - нет навыков для реализации.
Суть такова. Lisp в чертеже ищет все блоки, расчленяет их, процедура повторяется пока на чертеже не останется блоков, либо те - которые не разбиваются (попадаются и такие). Всё это дело забить под какую нибудь кнопку.
Возможно я ошибаюсь что это в лиспе делается, может кто знает как сделать это командами автокада.
Если уже есть такая фишка - просьба тапками не кидаться, а направить в нужное русло.
Думаю что такая "примочка" не только мне одному на пользу пойдёт, но и многим здесь присутствующим.
Просьба высказывать своё мнение, способы решения, может кого заинтересует это как математическая задачка, и ему захочется решить.
Заранее благодарен.
__________________
Нащяльника,мая AutoCAD паставиль,инсталя сделаль,сапускаю, а она ажамбех пашамбе эшельбе шайтанама!
Просмотров: 10647
 
Непрочитано 17.09.2013, 13:32
#2
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


_qselect выбираешь все блоки и взрываешь. Хотя блоки создаются не для того чтобы взрывать. Кроме прочего они могут быть закрыты для расчленения.
Есть ещё _SelectSimilar выбираешь по подобию и взрываешь.
Valery Brelovsky вне форума  
 
Непрочитано 17.09.2013, 13:46
#3
skagozin


 
Регистрация: 17.09.2013
Сообщений: 1


ExplodeProxy не устраивает?
skagozin вне форума  
 
Непрочитано 17.09.2013, 13:47
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


И не устроит
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.09.2013, 14:06
#5
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Conan_w Посмотреть сообщение
Lisp в чертеже ищет все блоки, расчленяет их, процедура повторяется пока на чертеже не останется блоков
Друзья мы нашли его - это он вручную поврзывал все блоки смежников - теперь еще и лисп просит - Conan_w лисп сей займет строки 4 - но я Вам его писать не буду и других прошу о том-же.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 17.09.2013, 14:12
#6
Conan_w

Инженер-проектировщик
 
Регистрация: 16.05.2007
Мурманск
Сообщений: 79
<phrase 1=


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
_qselect выбираешь все блоки и взрываешь. Хотя блоки создаются не для того чтобы взрывать. Кроме прочего они могут быть закрыты для расчленения.
Есть ещё _SelectSimilar выбираешь по подобию и взрываешь.
Хорошо, объясню по другому.
Нажимаешь кнопку на панели, что происходит (в "тихом" режиме):
1. поиск блоков в чертеже (найдено - п.2, не найдено - выход "блоков не обнаружено") //просмотр наличия блоков на чертеже, не находит - завершает процедуру.
2. _qselect (тип - вхождение блока, оператор - выбрать всё)........................ //выбирает все блоки на чертеже.
3. _explode........................................................................................................ //взрывает все блоки
4. повтор п.1-п.4............................................................................................. //повторяет поиск блоков (потому что в блоках есть ещё блоки)

....
Теперь для чего взрывать блоки ... лично для Valery Brelovsky,Дима_. Ко мне попадают строительные планы с разных источников, в основном переведённые из архикада....как правило с кучей лишнего мусора, и очень часто один этаж = файл двг. Я люблю работать в пространстве модели со всеми этажами сразу. Не взрывая блоки и не вычищая чертежи - мне не удастся собрать все этажи в одно пространство. Архикадовские блоки начинают конфликтовать....120 слоёв начинают жутко тормозить компьютер - работа превращается в Ад. Люблю чистые планы.

Цитата:
Сообщение от skagozin
ExplodeProxy не устраивает?
Это не то. У меня к примеру нету прокси объектов на чертеже.

Цитата:
Сообщение от Дима_
я Вам его писать не буду
Жадность - это скверно. =)

Оффтоп: как то попался мне в руки файл чертежа - весом в районе 300мБ. Еле открыл. Оказалось - мадам Конструктор, на протяжении 2-х, 3-х лет чертила проекты в (!) одном файле. Чего только там не было.
__________________
Нащяльника,мая AutoCAD паставиль,инсталя сделаль,сапускаю, а она ажамбех пашамбе эшельбе шайтанама!

Последний раз редактировалось Conan_w, 17.09.2013 в 14:18.
Conan_w вне форума  
 
Непрочитано 17.09.2013, 14:15
#7
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Conan_w Посмотреть сообщение
Я люблю работать в пространстве модели со всеми этажами сразу.
Offtop: А меня воротит от таких чертежей...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 17.09.2013, 14:16
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Понятно, внешние ссылки не используем по религиозным причинам?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.09.2013, 14:22
1 | #9
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от Conan_w Посмотреть сообщение
Поймал себя на мысли что делаю одну и ту же операцию очень часто и помногу. И тут же родилась идея - а не автоматизировать ли обезъянью работу. Есть идея - нет навыков для реализации.
Суть такова. Lisp в чертеже ищет все блоки, расчленяет их, процедура повторяется пока на чертеже не останется блоков, либо те - которые не разбиваются (попадаются и такие). Всё это дело забить под какую нибудь кнопку.
Есть такая штука на форуме Поиск... И была там прекрасная тема http://forum.dwg.ru/showthread.php?t...F1%ED%EE%E2%FB
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 17.09.2013, 14:32
#10
Conan_w

Инженер-проектировщик
 
Регистрация: 16.05.2007
Мурманск
Сообщений: 79
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Понятно, внешние ссылки не используем по религиозным причинам?
Нет, просто не знаем о их существовании....буду развиваться.

Цитата:
Сообщение от Alan
Есть такая штука на форуме Поиск... И была там прекрасная тема
Без тапок не обошлось....спасибо пойду читать. Потом расковыряю лисп - выдерну нужные процедуры и сяду воять. "Если хочешь чтоб было сделано хорошо - сделай это сам."©
__________________
Нащяльника,мая AutoCAD паставиль,инсталя сделаль,сапускаю, а она ажамбех пашамбе эшельбе шайтанама!
Conan_w вне форума  
 
Непрочитано 17.09.2013, 14:49
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Conan_w Посмотреть сообщение
направить в нужное русло.
это в ветку исполнителей, но в бюджет вы не вложитесь, по религиозным причинам. К слову программа разбиения размеров будет стоить еще дороже
gomer вне форума  
 
Непрочитано 17.09.2013, 14:51
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Conan_w Посмотреть сообщение
Потом расковыряю лисп - выдерну нужные процедуры и сяду воять. "Если хочешь чтоб было сделано хорошо - сделай это сам."©
Потом не просити лисп чтоб все обратно в блоки склеить...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 17.09.2013, 14:59
#13
Topol45


 
Регистрация: 30.08.2013
Сообщений: 67


Цитата:
Потом не просити лисп чтоб все обратно в блоки склеить...
Не, обратно все просто и быстро: Ctrl+A и "создать блок".
Topol45 вне форума  
 
Непрочитано 17.09.2013, 15:15
#14
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Offtop:
Цитата:
Сообщение от Conan_w Посмотреть сообщение
Жадность - это скверно. =)
Это не жадность, а разумность и я с ним полностью солидарен... Стой спокойно, а то некрасиво получится:

Изображения
Тип файла: jpg images.jpg (12.7 Кб, 669 просмотров)
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 17.09.2013, 15:44
#15
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


Видимо автор имел ввиду ситуацию, когда из Архикада выполняется экспорт в автокад, то тогда все элементы (стены, окна, двери, унитазы и прочее) в Автокаде отображаются в виде блоков. Причем стены в виде блоков с уникальным именем, т.е. 200-300-400-...-1000 блоков каждый со своим именем и selectsimilar тут не сработает (а qselect использовать лень). Тогда можно погасить (и если нужно заморозить) не нужные слои и остальное взорвать.

з.ы. а также удалить не нужные мне размеры, площади помещений, номера проемов и т.п. Всё это делается с одновременным преданием анафеме горе-архитектора. Не из-за того что он не почистил чертёж, а из-за того что слои перепутаны (половина площадей в слое "Площади", другая половина в слое "Размеры" и т.п.).
Alexeipost вне форума  
 
Непрочитано 17.09.2013, 15:47
#16
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
з.ы. а также удалить не нужные мне размеры,
автор не хочет удалять, автор зачем-то хочет их взрывать, тем самым превращая в мусор. Возможно это субподрядчик, с чьими чертежами воюет Boxa...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 17.09.2013, 15:48
#17
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Зря вы так.
Есть много объективных причин для расчленения-удаления чужих блоков
1. и основная - они мне нафиг ненужны
2. некоторые строители-архитекторы считают что для меня и ТС великая честь подчищать за ними их косяки и я и ТС обязан унаследовать их приемы работы - самый безобидный прием мелкая-мелкая штриховка вместо "солид" паттерна там где надо закрасить
3. экспорт в другие программы, где всякие вайпоуты ессно не поддерживаются и чертеж искажается до неузнаваемости
и т.д. и т.п.
Работа на листах и внешних ссылках это вообще тотальный бзик начальства и конторских сапродеятелей)) Простому электрику реально удобней и быстрей в модели и без внешних ссылок, максимум на подложке в виде вставки блока, чтоб если ченить надо в ней подвигать это можно было сделать локально в своем чертеже, а не чатить архитетору, чтоб он подвинул свои блоки экспликаций на плане по углам.
zamtmn вне форума  
 
Непрочитано 17.09.2013, 15:54
#18
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


В русло темы возвращаться собираетесь или как?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.09.2013, 15:55
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Работа на листах и внешних ссылках это вообще тотальный бзик начальства и конторских сапродеятелей))
Это "бзик" Autodesk, реализованный в AutoCAD в качестве логики организации электронной версии чертежей. Причём "бзик" разумный.
Цитата:
Сообщение от zamtmn Посмотреть сообщение
Простому электрику реально удобней и быстрей в модели и без внешних ссылок, максимум на подложке в виде вставки блока, чтоб если ченить надо в ней подвигать это можно было сделать локально в своем чертеже
А в чём разница, чтобы сделать эту операцию в документе, имеющем внешние ссылки и листы? По скорости и удобству почти одно и то же. Как правило так рассуждают те, кто не умеет работать с листами и внешними ссылками, а судят о них по фразам таких же как и они "знатоков".
Цитата:
Сообщение от Кулик Алексей aka kpblc
В русло темы возвращаться собираетесь или как?
Если автор пояснит свою задачу на конкретном примере, демонстрирующем целесообразность взрывания блоков, то решение он скорее всего получит. Однако, в виду отсутствия логического обоснования задачи, я пока что сильно опасаюсь подобных решений в перспективе того, чтобы некоторые мои "особо одарённые" юзеры не начали в своих чертежах взрывать всё подряд, используя выложенный здесь код, с низкого старта, на скорую руку, написанный Олег (jr.) или др. "рубаха парнями".
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось Кулик Алексей aka kpblc, 17.09.2013 в 16:07.
hwd вне форума  
 
Автор темы   Непрочитано 17.09.2013, 16:22
#20
Conan_w

Инженер-проектировщик
 
Регистрация: 16.05.2007
Мурманск
Сообщений: 79
<phrase 1=


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Видимо автор имел ввиду ситуацию, когда из Архикада выполняется экспорт в автокад, то тогда все элементы (стены, окна, двери, унитазы и прочее) в Автокаде отображаются в виде блоков. Причем стены в виде блоков с уникальным именем, т.е. 200-300-400-...-1000 блоков каждый со своим именем и selectsimilar тут не сработает (а qselect использовать лень). Тогда можно погасить (и если нужно заморозить) не нужные слои и остальное взорвать.

з.ы. а также удалить не нужные мне размеры, площади помещений, номера проемов и т.п. Всё это делается с одновременным преданием анафеме горе-архитектора. Не из-за того что он не почистил чертёж, а из-за того что слои перепутаны (половина площадей в слое "Площади", другая половина в слое "Размеры" и т.п.).
Вы помоему единственный кто меня понял.


Цитата:
Сообщение от hwd Посмотреть сообщение
автор не хочет удалять, автор зачем-то хочет их взрывать, тем самым превращая в мусор. Возможно это субподрядчик, с чьими чертежами воюет Boxa...
Простите - зачем мне удалять блоки стен, когда я на них собираюсь наносить инженерные сети. А мусор в этих блоках мне ЗАЧЕМ ? .... Я разбиваю блоки стен, окон, сортиров, и прочего, для того чтобы накрыть это всё двумя командами _purge и _overkill - неужели не ясно. Я чертежи ни у кого не ворую, ни с кем в бои не вступаю - откуда столько негатива люди ?!

Цитата:
Сообщение от zamtmn Посмотреть сообщение
Простому электрику реально удобней и быстрей в модели и без внешних ссылок, максимум на подложке в виде вставки блока
Именно так !!!!

Цитата:
Сообщение от hwd Посмотреть сообщение
Если автор пояснит свою задачу на конкретном примере
О каких примерах идёт речь? Я работаю в Институте гражданпроекта. Архитекторы чертят в архикаде, инженеры в автокаде. Инженеры работают на том, что дают архитекторы переводя из архикада в автокад, и то ... до того как я не психанул и не создал SFX архив с настройками архикада, и каждому не воткнул на компьютер - в инженерную группу приходили чертежи с мегабайтами лишней информации, и бедные проектировщицы пенсионерки, которые второй раз видят автокад сидят и мучаются, вдобавок мучают тех кто по опытней, а так же системных администраторов - не понимая почему компьютеры тормозят с чертежами. А теперь попробуйте объяснить дамам - как не перетаскивать мусор из одного проекта в другой. Или объяснить зачем перед тем как чертить - надо взрывать блоки по нескольку раз, и вычищать из них всё лишнее.

А....вот кстати пример вам. Есть чертёж с внедрёнными гостовскими шрифтами - неизвестно откуда скачанными. У меня на машине стоят шрифты которыми я лет 17 уже пользуюсь. При переносе чертежа в мой - мной же созданный шаблон - начинается чехорда с многострочным текстом. Тему я эту поднимал http://forum.dwg.ru/showthread.php?t=20682&page=3 . И теперь чтобы мне удалить конфликтующие шрифты - мне надо найти все блоки с этими шрифтами....а проще всего, чтоб на чертеже вообще блоков не было.
__________________
Нащяльника,мая AutoCAD паставиль,инсталя сделаль,сапускаю, а она ажамбех пашамбе эшельбе шайтанама!

Последний раз редактировалось Conan_w, 17.09.2013 в 16:38.
Conan_w вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужно создать LISP с набором команд. Подробности внутри...



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать что-то вроде теста для проверки знаний, подробности внутри... vladoscom93 Разное 10 08.12.2011 17:39