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

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

Непонятно как добавить в макрос выбор всех объектов

Ответ
Поиск в этой теме
Непрочитано 25.09.2020, 17:12 #1
Непонятно как добавить в макрос выбор всех объектов
NemoSUN
 
Регистрация: 04.03.2008
Сообщений: 146

Непонятно как добавить в макрос выбор всех объектов или только размеры. Например, для -dimstyle нужно выбрать все размеры и применить Apply.

Делаю так:
^C^C-dimstyle;(ssget "_:L+A");_apply;

Но выбора объектов нет. Пишет *Invalid selection*
Просмотров: 4315
 
Непрочитано 26.09.2020, 01:54
#2
skkkk


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


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
(ssget "_:L+A")
NemoSUN, что подразумевалось (в переводе на русский) в этой части кода? Полагаю (но это не точно), что речь о выделении всех объектов, кроме тех, что лежат на заблокированных слоях? Это если верить официальной документации. Поставьте, пожалуйста, задачу точнее. Простым русским языком. И что значит, "применить Apply"? Apply - это и есть в переводе "применить" Что именно нужно к размерам применить?

Чувствую, что задачка из весьма простых, а учитывая, что Вы на форуме уже больше десяти лет, есть ощущение, словно всё понимаете, но сказать не можете
Просто объясните подробнее своими словами, чего нужно добиться.

К слову, чтобы выбрать все размеры, нужно ввести что-то такое:
Код:
[Выделить все]
(ssget "_A" '((0 . "DIMENSION")))
skkkk вне форума  
 
Автор темы   Непрочитано 28.09.2020, 10:58
#3
NemoSUN


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
есть ощущение, словно всё понимаете, но сказать не можете


Нужно выделить все размеры на активных слоях и применить к ним -dimstyle c командой apply

Изучал "В.Свет Autocad. Язык макрокоманд и создание кнопок". Но, видать, смотрел в книгу да....
NemoSUN вне форума  
 
Непрочитано 28.09.2020, 11:11
#4
skkkk


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


Цитата:
Сообщение от NemoSUN Посмотреть сообщение
Нужно выделить все размеры на активных слоях и применить к ним -dimstyle c командой apply
Вот так не сработает разве? Проверить сейчас не могу.
Код:
[Выделить все]
^C^C-dimstyle;(ssget "_A" '((0 . "DIMENSION")));_apply;
skkkk вне форума  
 
Автор темы   Непрочитано 28.09.2020, 11:20
#5
NemoSUN


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Вот так не сработает разве?
Код:
[Выделить все]
^C^C^Q-dimstyle;_apply;(ssget "_A" '((0 . "DIMENSION")));;
Да. Только что сам доделал. Неправильно последовательность сначала поставил. Спасибо )

Теперь ещё маленький вопрос - чтобы ничего не выходило на экран. Ставлю ^Q после ^C^C. Но на экране всё равно всё остаётся
NemoSUN вне форума  
 
Непрочитано 28.09.2020, 11:56
#6
skkkk


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


Вероятно, поможет, если в конце макроса добавить
Код:
Но это неточно
skkkk вне форума  
 
Автор темы   Непрочитано 28.09.2020, 13:07
#7
NemoSUN


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Вероятно, поможет, если в конце макроса добавить
Код:
Но это неточно
Неа. Совсем не то.
NemoSUN вне форума  
 
Непрочитано 28.09.2020, 13:30
#8
Кулик Алексей aka kpblc
Moderator

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


Попробуй поменять nomutt. Но хвосты, скорее всего, все равно останутся
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 28.09.2020, 14:26
#9
NemoSUN


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


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

P.S. Непонимаю, почему не работает ^Q из книги В.Свет'a
NemoSUN вне форума  
 
Непрочитано 28.09.2020, 20:26
1 | #10
skkkk


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


По-моему, только лиспом можно избавиться от хвостов.
Лисп, кстати, будет простым:
Код:
[Выделить все]
(defun C:DIMAPPLY (/ oldCMDECHO ss)
	(setq oldCMDECHO (getvar "CMDECHO")
		  ss (ssget "_A" '((0 . "DIMENSION")))
	)
	(if ss 
		(progn
			(setvar "CMDECHO" 0)
			(vl-cmdf "_dimstyle" "_apply" ss "")
			(setvar "CMDECHO" oldCMDECHO)
		)
	)
	(princ)
)
skkkk вне форума  
 
Автор темы   Непрочитано 29.09.2020, 10:28
#11
NemoSUN


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Лисп, кстати, будет простым
Ооо.... ДААААА ........ ЭТО ЧТО-ТО !!!!!!!!!!!!!!

Просто поднялось настроение после моего горя (делал эксперимент в компе - убил диск китайской примочкой. Сейчас восстанавливают. Но ДЕНЕГ.....)
NemoSUN вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Непонятно как добавить в макрос выбор всех объектов

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с чертежом виснет при выделении всех объектов sergant2la AutoCAD 12 28.02.2016 13:28
Изменить цвет всех объектов чертежа в т.ч. внутри блоков E_note AutoCAD 3 24.11.2015 16:22
Как сделать макрос на расчленение объектов MagiCAD 2011.11/Ru Alex_GSP Программирование 12 04.11.2015 12:38
Как запустить макрос без снятия выделения с объектов? Автон Программирование 15 20.08.2012 16:31
Автоматический выбор объектов в последовательном порядке. Terminator637 AutoCAD 15 31.03.2010 19:54