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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматический выбор объектов.

Автоматический выбор объектов.

Ответ
Поиск в этой теме
Непрочитано 12.06.2022, 11:05 #1
Автоматический выбор объектов.
zubenko1592
 
Регистрация: 05.11.2018
Сообщений: 21

Такая проблема:
Пытаюсь создать макрос.
Мне нужно в рамках этого макроса работать с объектами, которые образовались после команды "расчленить" (_explode). соответственно, их нужно както в рамкаж этого макроса на следующем шаге выделить...
как это сделать я не знаю.
в интернете не нашел.

Прошу Вашей помощи.

P.S.: только начинаю разбираться с макросами, не програмист. прошу ответ для "чайников"
Просмотров: 5255
 
Непрочитано 13.06.2022, 01:01
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


на каком языке программирования макрос то?

в целом, надо просто перед расчленением зафиксировать последний примитив в БД чертежа (например, entlast для лиспа), все созданные новые объекты будут идти после этого примитива (entnext).
Сергей812 вне форума  
 
Автор темы   Непрочитано 13.06.2022, 12:59
#3
zubenko1592


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


ну не совсем в языке програмирования.
Скорее просто через последовательный набор команд

Последний раз редактировалось zubenko1592, 13.06.2022 в 20:00.
zubenko1592 вне форума  
 
Непрочитано 13.06.2022, 16:48
#4
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


_select _p
engngr вне форума  
 
Автор темы   Непрочитано 13.06.2022, 20:02
#5
zubenko1592


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


не срабатывает....
в приложении добавил файлик, в котором мне нужно взорвать табличку, а потом взорвать все Мтексты, полученные после взрывания таблички

Пишу такую строчку ^C^C_explode _select _p _explode

не работает

поправьте меня, пожалуйста..
Вложения
Тип файла: dwg
DWG 2013
пример.dwg (948.5 Кб, 16 просмотров)
zubenko1592 вне форума  
 
Непрочитано 13.06.2022, 20:25
#6
Кулик Алексей aka kpblc
Moderator

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


Собственно вопрос - а на фига? Конечная цель какая?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.06.2022, 20:44
#7
zubenko1592


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


не хотел писать - слишком много информации лишней..
ну раз встал вопрос - напишу.

вставляю таблицу из экселя через "правка" - "специальная вставка" - "Вставить связь" - "объекты AD"
почему ..."Вставить связь"... - по тому что если просто "вставить" добавляются лишние нули после запятой и приходится вручную редактировать формат ячеек. а через связь - нет

Но и иак и так проблема одна - както к тексту прописывается шрифт кодом типа ...{\flSOCPEUR |Ь0 |iO |сО; 3... и никак не очищается

Соответственно, шрифт таблицы никак не реагирует на изменение стиля таблицы

Я борюсь с этим так - взрываю таблицу - появляются отрезки и Мтексты. Снова все это выделяю и взрываю - с отрезками ничего не происходит, а Мтексты превращаются в однострочный текст. и вычищается тот дурацкий код.

Дальше в меню гео есть кнопка "собрать таблицу из примитивов" кажется (лисп приложил, команда COT). Через нее собираю таблицу и после этого таблица отлично реагирует на изменение стилей.


Лиспы типа очищения свойств Мтекста находил. Они не справляются со связанными таблицами. , а просто вставленные - добавляют кучу нулей. это не подходит

Меня больше устраивает вставка связанных таблиц. Мой алгориьм хорошо и с ними справляется справляется.


Много однотипных действий - решил написать макрос.

Столкнулся с проблемой повторного взрыва в макросе - написал тут



Сам попросил....))))
Вложения
Тип файла: lsp COT_Convert_Old_Table.lsp (15.7 Кб, 20 просмотров)

Последний раз редактировалось zubenko1592, 13.06.2022 в 21:13.
zubenko1592 вне форума  
 
Непрочитано 13.06.2022, 21:13
#8
Кулик Алексей aka kpblc
Moderator

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


Offtop: Че-то я начинаю подозревать, что а) нужно нечто типа stripmtext (на форуме есть); б) смена алгоритма.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.06.2022, 21:15
#9
zubenko1592


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Offtop: Че-то я начинаю подозревать, что а) нужно нечто типа stripmtext (на форуме есть); б) смена алгоритма.
ну я же написал

Цитата:
Сообщение от zubenko1592 Посмотреть сообщение
Лиспы типа очищения свойств Мтекста находил. Они не справляются со связанными таблицами.

алгоритм хорошо работает. Но если есть пути оптимизации - внимательно изучу предложения.

хотя в моем я не вижу проблемы - дважды взорвать и применить готовый лисп...
просто не знаю как это объеденить в одну кнопку

----- добавлено через ~36 мин. -----
а по поводу "смены алгоритма" - можно еще разорвать связь с таблицей эксель, потом применить то что вы написали (stripmtext)

только проблема - командой не знаю как связь разорвать. там выскакивает диалоговое окно, которое никак не пропустить автоматически..

поэтому остановился на двух взрывах..
zubenko1592 вне форума  
 
Непрочитано 13.06.2022, 23:57
#10
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


Цитата:
Сообщение от zubenko1592 Посмотреть сообщение
только проблема - командой не знаю как связь разорвать
Удалить соответствующий словарь - в поиск.
engngr вне форума  
 
Автор темы   Непрочитано 14.06.2022, 07:00
#11
zubenko1592


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


Ничего не понял...
Что искать то...
По поиску "удалить словарь автокад" выдаёт что угодно, но не то что нужно

----- добавлено через ~3 мин. -----
Не понимаю в чем сложность ответить на основной вопрос темы?
Зачем уводит в сторону.
Алгоритм и так хорошо работает
Просто хочу автоматизировать.
Много приходится вставлять таблиц
Какая разница хорош мой алгоритм или нет.
Вопрос темы в другом
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 07:20
#12
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


это всё решается стилями и удалением форматирования
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 07:25
#13
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
это всё решается стилями и удалением форматирования
Так об этом же и речь.

Стили не применяются пока форматирование не удалено

А его я удаляю как описал выше

Другого способа не нашел

Меня устраивает и мой

ВОПРОС В АВТОМАТИЗАЦИИ

ТЕМА ОБ АВТОМАТИЗАЦИИ
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 07:48
#14
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
и приходится вручную редактировать формат ячеек
не нужно, если правильно настроить стиль по умолчанию
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 08:30
#15
zubenko1592


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


Есть какая-то причина, по которой никто не отвечает на основной вопрос темы, а только рассуждают о том, о чем я не просил?
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 08:44
#16
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


просто это лечение перхоти гильотиной
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 10:14
#17
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
просто это лечение перхоти гильотиной
Ну может и так.

только от этого сама "голова"у программы не отваливается и все работает как надо. и именно так как я хочу.

может я и не использую "идеально чистый, красивый и выверенный код", но это приводит меня именно к тому результату, который я хочу видеть. просто и быстро.

и в рамках этой темы я прошу помочь именно автоматизировать мои однотипные задачи, а не обсудить правильность алгоритма.

я не занимаюсь перфекционизмом, а хочу быстро выполнять рутинные задачи

много ресурсов компа это не занимает, комп не виснет и не взрывается, система от этого не слетает, а прриводит именно к тому результату, который я и жду.

так в чем проблема? чем это плохо? я не понимаю

и еще раз призываю - давайте вернемся к изначальному вопросу темы.

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от trir Посмотреть сообщение
не нужно, если правильно настроить стиль по умолчанию
если приходится работать в файлах, которые не мной созданы. и их периодически присылают - каждый раз "правильно настроить стиль по умолчанию" - ну это тоже не про автоматизацию.

Вставка связанной таблицы, ее взрыв и сборка обратно хорошо решают проблему с форматированием ячеек. АВТОМАТИЧЕСКИ
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 11:11
#18
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


оно так не автоматизируется
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 11:31
#19
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
оно так не автоматизируется
"не автоматизируется" - это значит не реализуемо в рамках макроса? это имеется в виду?
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 12:05
#20
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


что такое макрос?
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 12:06
#21
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
что такое макрос?

https://tsarevstudio.ru/autocad/auto...cro-part1.html

это
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 12:10
#22
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


думаю да
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 12:29
#23
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
думаю да
???

----- добавлено через 27 сек. -----
Цитата:
Сообщение от trir Посмотреть сообщение
оно так не автоматизируется
"не автоматизируется" - это значит не реализуемо в рамках макроса? это имеется в виду?
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 12:33
#24
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
не реализуемо в рамках макроса?
да
trir вне форума  
 
Непрочитано 14.06.2022, 12:38
#25
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


однако никто не мешает загнать под кнопку лисп.
koMon вне форума  
 
Непрочитано 14.06.2022, 12:44
#26
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
однако никто не мешает загнать под кнопку лисп
в этом случае есть смысл изменить весь алгоритм...
trir вне форума  
 
Автор темы   Непрочитано 14.06.2022, 12:53
#27
zubenko1592


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


Цитата:
Сообщение от trir Посмотреть сообщение
в этом случае есть смысл изменить весь алгоритм...
готов внимательно изучить Ваши предложения)))

----- добавлено через ~23 мин. -----
Нашел функцию, которая очищает формат без взрывания https://forum.dwg.ru/showthread.php?t=24790

Однако, все еще остается связь с таблицей эксель...

порывшись в интернете нашел вот такие темы на форумах:
https://forum.dwg.ru/showthread.php?t=68593
https://forum.dwg.ru/showthread.php?t=76895

Но ничего не могу применить - не работает. или я чтото не то делаю

Кстати, не один я с такой прлблемой столкнулся. И в предыдущем случае тоже через связь вставляют по тем же причинам...

Последний раз редактировалось zubenko1592, 14.06.2022 в 13:16.
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 13:20
#28
Кулик Алексей aka kpblc
Moderator

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


Если честно, времени очень мало. Просмотрел код lsp - вообще мало что понял. Кажется, что-то наподобие извлечения данных. Ну ок, сработало. Дальше-то что надо получить? Прочитать таблицу и дальше каким-то манером обрабатывать? Так для этого разбивать таблицу вообще не требуется.
Я повторяю свой вопрос
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Конечная цель какая?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2022, 13:22
#29
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


Цитата:
Сообщение от zubenko1592 Посмотреть сообщение
все еще остается связь с таблицей эксель
Я ж тебе написал - удали словарь datalink. Ты читать умеешь?
engngr вне форума  
 
Непрочитано 14.06.2022, 13:32
#30
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


штатно убрать связь
Нажмите на изображение для увеличения
Название: Detach.JPG
Просмотров: 51
Размер:	95.4 Кб
ID:	248054
koMon вне форума  
 
Непрочитано 14.06.2022, 13:44
#31
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


штатно не использовать форматирование Excel
Нажмите на изображение для увеличения
Название: Use_Excel_Formatting.JPG
Просмотров: 53
Размер:	100.7 Кб
ID:	248055
koMon вне форума  
 
Автор темы   Непрочитано 14.06.2022, 13:53
#32
zubenko1592


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Сообщение от Кулик Алексей aka kpblc
Конечная цель какая?
Конечная цель получить таблицу, которая будет реагировать на смену стилей, и в которой не будет прописано форматирование шрифтов и связей с эксель (почему вставляю таблицу со связью писал ранее).

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от koMon Посмотреть сообщение
штатно убрать связь
Вложение 248054
Это я в курсе как делать.

Задача не просто найти способ, а автоматизировать.

Таблиц вставлять нужно много.

Ищу команду для разрыва связи. Чтобы можно было набор команд повесить на кнопку и одной кнопкой все делать.

Как вручную проделывать все операции я знаю.

Но тема - про автоматизацию

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от engngr Посмотреть сообщение
Я ж тебе написал - удали словарь datalink.

Как это сделать командой?

Последний раз редактировалось zubenko1592, 14.06.2022 в 14:00.
zubenko1592 вне форума  
 
Непрочитано 14.06.2022, 14:01
#33
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от koMon Посмотреть сообщение
штатно не использовать форматирование Excel
Вложение 248055
Не подходит для дальнейшей вставки? С имеющимися таблицами, думаю, такое не прокатит, а заниматься глубинными изысканиями сейчас времени нет
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2022, 14:23
#34
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Я в своё время сделал создание таблиц по данным из БД, в ячейках ещё и блоки были на выходе - всё на C#
trir вне форума  
 
Непрочитано 14.06.2022, 15:16
#35
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Цитата:
Сообщение от zubenko1592 Посмотреть сообщение
и в рамках этой темы я прошу помочь именно автоматизировать мои однотипные задачи, а не обсудить правильность алгоритма.
Хоть я и тоже против такого подхода (а я, кажись, - самый тут чудоковатый в этом плане - частенько бывал порицаем за подобные закидоны ), но решение покажу. Не для того, чтоб позлить коллег, высказавшихся выше и не для того, чтоб потакать низменным желаниям идти неверным путем. Но для того, чтоб не отрубить сходу всё желание влезть в эту тему. А также просто потому, что решение такое уже есть, хоть и весь алгоритм сабжа топика для меня выглядит топорным и неверным.
Отслеживание объектов появившихся после pasteclip.
skkkk вне форума  
 
Непрочитано 16.06.2022, 15:57
#36
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,809


Цитата:
Сообщение от zubenko1592 Посмотреть сообщение
про автоматизацию
копипаст - эммммм, какая-то странная автоматизация. там же кликать нужно совокупно на каждый копипаст не меньше раз десяти!

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

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
С имеющимися таблицами, думаю, такое не прокатит
если связь живая, то прокатит

Цитата:
Сообщение от engngr Посмотреть сообщение
удали словарь datalink
если удалить словарь, то связи не будет, но форматирование экселя останется, причём связь визуально как-то не убирается пока не перегрузишь чертёж

Цитата:
Сообщение от skkkk Посмотреть сообщение
но решение покажу
почему бы просто не заклеймить предпоследний после копипаста примитив?
koMon вне форума  
 
Непрочитано 16.06.2022, 17:06
1 | 1 #37
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,917
<phrase 1=


Эмммм
https://dwg.ru/dnl/14892
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 20.06.2022, 23:17
#38
zubenko1592


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


Цитата:
Сообщение от zenon Посмотреть сообщение
Это прям то чято нужно! даже больше!


Но все же хотелось бы понимать решение первоначальной задачи.

реально ли в макросе реализовать то что я хотел изначально?
zubenko1592 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматический выбор объектов.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор объектов SergU AutoCAD 20 16.03.2020 14:36
Выбор объектов прямоугольным блоком Docuk1 LISP 8 03.02.2017 18:23
Прошу добавить в макрос массового поворота объектов функцию RANDOM MrBrown LISP 4 27.10.2016 09:22
Выбор объектов под wipeout Cfytrr AutoCAD 7 04.07.2008 09:22
Слетел выбор объектов в автокаде DaiverCAD AutoCAD 8 26.03.2008 17:09