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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос для назначения выбранным объектам свойств цвета и веса линий "по слою"

Макрос для назначения выбранным объектам свойств цвета и веса линий "по слою"

Ответ
Поиск в этой теме
Непрочитано 04.02.2021, 15:11 #1
Макрос для назначения выбранным объектам свойств цвета и веса линий "по слою"
SeRioOuS
 
проектирование автомобильных дорог
 
Москва
Регистрация: 15.11.2019
Сообщений: 46

В заголовке все сказано, может кто-то помочь с такой командой? Очень нужно для монотонного редактирования объектов в разных файлах...
Макрос для назначения выбранным объектам свойств цвета и веса линий "по слою"
Просмотров: 3987
 
Непрочитано 04.02.2021, 15:14
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,413


Либо окно свойств, либо SETBYLAYER
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 04.02.2021, 15:27
1 | #3
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,439
<phrase 1= Отправить сообщение для CaMoCAD с помощью MSN


я себе такую кнопку сделал "Сделать по-Ленински" - на кнопке Ильич 16-битный, а под кнопкой вот такой макросик:
^C^C_change;p;c;byl;lt;byl;lw;byl;;
Сначала выделяем объекты, хоть 1, хоть рамкой, - потом говорим "ЛЕНИН ЖИВ" и в тот же миг цвет(c), тип линии(lt) и вес линии(lw) становятся "по дефолту слоя" (byl). Можно и добавить чего-нить, да мне не надо.
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Автор темы   Непрочитано 04.02.2021, 15:35
#4
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
я себе такую кнопку сделал "Сделать по-Ленински" - на кнопке Ильич 16-битный, а под кнопкой вот такой макросик:
^C^C_change;p;c;byl;lt;byl;lw;byl;;
Сначала выделяем объекты, хоть 1, хоть рамкой, - потом говорим "ЛЕНИН ЖИВ" и в тот же миг цвет(c), тип линии(lt) и вес линии(lw) становятся "по дефолту слоя" (byl). Можно и добавить чего-нить, да мне не надо.
почти то, что нужно)
только цвет назначает не "по слою", а задает именно цвет слоя. Это важно)
И почему-то на текст и отрезки не действует...
SeRioOuS вне форума  
 
Непрочитано 04.02.2021, 15:50
#5
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,439
<phrase 1= Отправить сообщение для CaMoCAD с помощью MSN


Моя вина. Наверное, неправильно понял задачу
Каждый объект принимает свойства своего слоя, не меняя его. Если объектов много, то каждый станет "Ленинским" по-понятиям своего слоя. Слой объекты не меняют. Свойства слоя тоже. Действует и на отрезки и на тексты, хоть на солиды
PS 1 - сначала выбор
2 - потом Ленин
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Автор темы   Непрочитано 04.02.2021, 16:34
#6
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
Моя вина. Наверное, неправильно понял задачу
Каждый объект принимает свойства своего слоя, не меняя его. Если объектов много, то каждый станет "Ленинским" по-понятиям своего слоя. Слой объекты не меняют. Свойства слоя тоже. Действует и на отрезки и на тексты, хоть на солиды
PS 1 - сначала выбор
2 - потом Ленин
Что-то я, наверное, сделал не так... Сейчас после нажатия на Ленинскую кнопку автокад начинает со мной диалог в командной строке, стартуя команду "Изменить"... Как это работает - мне не понятно, из Вашего макроса удалил только ненужный мне тип линий.
С задачей частично справился обычным рекордером операций... Не кнопочка, конечно, но тоже сойдет)
SeRioOuS вне форума  
 
Непрочитано 04.02.2021, 17:05
#7
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,439
<phrase 1= Отправить сообщение для CaMoCAD с помощью MSN


Цитата:
Сообщение от SeRioOuS Посмотреть сообщение
Сейчас после нажатия на Ленинскую кнопку автокад начинает со мной диалог в командной строке
Еще раз: сначала выбор объектов для изменения, только потом - кнопка. Тогда для команды CHANGE уже будет сформирован последний набор объектов (p-previous), с которым она тут же начнет работать.
Сделать наоборот у меня не получилось уже не помню почему, кажется, из-за каких-то нелогичных особенностей CHANGE или SELECT
PS aCAD2016 x64 WIN10 - все работает
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 04.02.2021, 17:11
#8
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от CaMoCAD Посмотреть сообщение
Еще раз: сначала выбор объектов для изменения, только потом - кнопка. Тогда для команды CHANGE уже будет сформирован последний набор объектов (p-previous), с которым она тут же начнет работать.
Сделать наоборот у меня не получилось уже не помню почему, кажется, из-за каких-то нелогичных особенностей CHANGE или SELECT
PS aCAD2016 x64 WIN10 - все работает
pickfirst ?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.02.2021, 17:27
#9
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Ну шо уж вы... Я с первого раза понял, что сначала объекты выбираем, потом Ленина будоражим. Автокад 2021, винда 10
Вот командная строка:

Команда: Задайте противоположный угол или [Линия/РМн-угол/СМн-угол]:
Команда:
Команда:
Команда: _change
найдено: 106
Точка изменения или [Свойства]: p
Требуется точка или ключевое слово.
SeRioOuS вне форума  
 
Непрочитано 04.02.2021, 17:30
#10
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от SeRioOuS Посмотреть сообщение
Ну шо уж вы... Я с первого раза понял, что сначала объекты выбираем, потом Ленина будоражим. Автокад 2021, винда 10
Вот командная строка:

Команда: Задайте противоположный угол или [Линия/РМн-угол/СМн-угол]:
Команда:
Команда:
Команда: _change
найдено: 106
Точка изменения или [Свойства]: p
Требуется точка или ключевое слово.
https://autolisp.ru/2010/03/04/localization/
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.02.2021, 17:52
#11
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
^C^C_.change;_p;_color;_bylayer;_lineweight;_bylayer;;

Сделал вот так, но ничего не изменилось. В каком месте не туда воюю?)
SeRioOuS вне форума  
 
Непрочитано 04.02.2021, 21:39
#12
Кулик Алексей aka kpblc
Moderator

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


Без понятия. Я уже очень давно использую команды только там, где это реально необходимо. Для таких задач я бы лисп писал, но никак не DIESEL-выражение
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.02.2021, 23:33
#13
EStranger


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


А если так, ребята?
^C^C(Command "_.CHANGE" "_p" "" "_p" "_Color" "_BYLAYER" "_LType" "_BYLAYER" "_LWeight" "_BYLAYER" "")

Повесим на кнопочку малюсенький LISP-код вместо DIESEL. Вроде нормально работает...
EStranger вне форума  
 
Непрочитано 05.02.2021, 06:45
#14
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 459
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


лиспом это как то так.

Код:
[Выделить все]
 (defun by-lay-col-lw-lt (  / locked adoc)
	(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
		locked 0
		)
	(vla-startUndoMark adoc)
	(vlax-for obj (sad-get-ss nil) 
		(if (= (vla-get-Lock (vla-item (vla-get-Layers (vla-get-Database adoc)) (vla-get-Layer obj))) :vlax-false)
			(progn
				(vla-put-Color obj 256)
				(vla-put-LineWeight obj -1)
				(vla-put-LineType obj "ByLayer")
			)
			(setq locked (1+ locked))
		)
	)	
	(if (/= locked 0) (princ (strcat "\nНа блокированном слое " (itoa locked) " объектов.")))
	(vla-endUndoMark adoc)
	(princ);;silent end
)

(defun by-cur-col-lw-lt-lay (  / locked adoc)
	(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
		locked 0
	)
	(vla-startUndoMark adoc)
	(vlax-for obj (sad-get-ss nil) 
		(if (= (vla-get-Lock (vla-item (vla-get-Layers (vla-get-Database adoc)) (vla-get-Layer obj))) :vlax-false)
			(progn
				(vla-put-Color obj (getvar "CECOLOR"))
				(vla-put-LineWeight obj (getvar "CELWEIGHT"))
				(vla-put-LineType obj (getvar "CELTYPE"))
				(vla-put-Layer obj (vla-get-Name (vla-get-ActiveLayer adoc)))
			)
			(setq locked (1+ locked))
		)
	)	
	(if (/= locked 0) (princ (strcat "\nНа блокированном слое " (itoa locked) " объектов.")))
	(vla-endUndoMark adoc)
	(princ);;silent end
)

(defun sad-get-ss (filter_lst / temp ss code_lst filter_value_lst) ;|получение набора, возвращает объект IAcadSelectionSet
	(sad-get-ss nil)
	Фильтр вида '((0 "TEXT") (8 "0"))
	возвращает IAcadSelectionSet
	пустой выбор недопустим
	|;
(setq temp t
	ss (vla-get-PickfirstSelectionSet (vla-get-activeDocument (vlax-get-acad-object))) 
	code_lst '()
	filter_value_lst '()
);;#<VLA-OBJECT IAcadSelectionSet 136be084>
(if filter_lst
	(progn
		(foreach f filter_lst ;;sorting
			(setq code_lst (cons (car f) code_lst)
			filter_value_lst (cons (cadr f) filter_value_lst)
			)
		)
		(setq ;;convert to safearray
			code_lst
			(vlax-safearray-fill
				(vlax-make-safearray 
					vlax-vbInteger
					(cons 0 (1- (length filter_lst)))
				)
				code_lst
			)
			filter_value_lst
			(vlax-safearray-fill
				(vlax-make-safearray
					vlax-vbVariant
					(cons 0 (1- (length filter_lst)))
				)
				filter_value_lst
			)
		) 
	)
)
;;(while temp
  (if (= (vla-get-Count ss) 0)
	(vla-SelectOnScreen ss
		code_lst ;;kodes of filters (variant) (list of DXF codes)
		filter_value_lst ;;filters (list of values DXF codes)
	)
	;;(setq temp nil)
  )
;;)
ss
)



только я уже забыл, когда сам последний раз пользовался, культура оформления графики решает больше лиспа
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Автор темы   Непрочитано 05.02.2021, 11:38
#15
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от Vladimir_Sergeevich Посмотреть сообщение
лиспом это как то так.

Код:
[Выделить все]
 (defun by-lay-col-lw-lt (  / locked adoc)
	(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
		locked 0
		)
	(vla-startUndoMark adoc)
	(vlax-for obj (sad-get-ss nil) 
		(if (= (vla-get-Lock (vla-item (vla-get-Layers (vla-get-Database adoc)) (vla-get-Layer obj))) :vlax-false)
			(progn
				(vla-put-Color obj 256)
				(vla-put-LineWeight obj -1)
				(vla-put-LineType obj "ByLayer")
			)
			(setq locked (1+ locked))
		)
	)	
	(if (/= locked 0) (princ (strcat "\nНа блокированном слое " (itoa locked) " объектов.")))
	(vla-endUndoMark adoc)
	(princ);;silent end
)

(defun by-cur-col-lw-lt-lay (  / locked adoc)
	(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
		locked 0
	)
	(vla-startUndoMark adoc)
	(vlax-for obj (sad-get-ss nil) 
		(if (= (vla-get-Lock (vla-item (vla-get-Layers (vla-get-Database adoc)) (vla-get-Layer obj))) :vlax-false)
			(progn
				(vla-put-Color obj (getvar "CECOLOR"))
				(vla-put-LineWeight obj (getvar "CELWEIGHT"))
				(vla-put-LineType obj (getvar "CELTYPE"))
				(vla-put-Layer obj (vla-get-Name (vla-get-ActiveLayer adoc)))
			)
			(setq locked (1+ locked))
		)
	)	
	(if (/= locked 0) (princ (strcat "\nНа блокированном слое " (itoa locked) " объектов.")))
	(vla-endUndoMark adoc)
	(princ);;silent end
)

(defun sad-get-ss (filter_lst / temp ss code_lst filter_value_lst) ;|получение набора, возвращает объект IAcadSelectionSet
	(sad-get-ss nil)
	Фильтр вида '((0 "TEXT") (8 "0"))
	возвращает IAcadSelectionSet
	пустой выбор недопустим
	|;
(setq temp t
	ss (vla-get-PickfirstSelectionSet (vla-get-activeDocument (vlax-get-acad-object))) 
	code_lst '()
	filter_value_lst '()
);;#<VLA-OBJECT IAcadSelectionSet 136be084>
(if filter_lst
	(progn
		(foreach f filter_lst ;;sorting
			(setq code_lst (cons (car f) code_lst)
			filter_value_lst (cons (cadr f) filter_value_lst)
			)
		)
		(setq ;;convert to safearray
			code_lst
			(vlax-safearray-fill
				(vlax-make-safearray 
					vlax-vbInteger
					(cons 0 (1- (length filter_lst)))
				)
				code_lst
			)
			filter_value_lst
			(vlax-safearray-fill
				(vlax-make-safearray
					vlax-vbVariant
					(cons 0 (1- (length filter_lst)))
				)
				filter_value_lst
			)
		) 
	)
)
;;(while temp
  (if (= (vla-get-Count ss) 0)
	(vla-SelectOnScreen ss
		code_lst ;;kodes of filters (variant) (list of DXF codes)
		filter_value_lst ;;filters (list of values DXF codes)
	)
	;;(setq temp nil)
  )
;;)
ss
)



только я уже забыл, когда сам последний раз пользовался, культура оформления графики решает больше лиспа
а как его запустить?) По этой (by-lay-col-lw-lt) команде не запускается после подгрузки
SeRioOuS вне форума  
 
Непрочитано 05.02.2021, 11:41
#16
Петр-и-Алекс


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


коллеги, прошу дублировать лиспы сюда
https://forum.dwg.ru/forumdisplay.php?f=30
а то потом фиг найдешь

----- добавлено через ~2 мин. -----
"а как его запустить? "
- а это к администрации...
ответ есть и сто лет как опубликован. тема: найти его
Петр-и-Алекс вне форума  
 
Непрочитано 05.02.2021, 12:50
#17
Кулик Алексей aka kpblc
Moderator

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


Какой смысл дублировать лисп в библиотеку, если он не является "библиотечным"? В крайнем случае - в "Готовые программы", но именно представленный код я бы туда не закидывал.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.02.2021, 12:59
#18
Петр-и-Алекс


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


Ну это - да. может и в "Готовые программы".
Смысл вот в чем: на сайте довольно много интересного, но раскидано по форумам.
И если тупо "смотреть, что есть на сайте", то смотришь "Готовые программы" и "функции", а подобные посты лежат незамеченные.
Что до качества кода - так это на совести автора и на его репутации. Что тут, что там доверяй-но-проверяй.
Петр-и-Алекс вне форума  
 
Непрочитано 05.02.2021, 13:16
#19
EStranger


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


Цитата:
Сообщение от SeRioOuS Посмотреть сообщение
а как его запустить?) По этой (by-lay-col-lw-lt) команде не запускается после подгрузки
Проверил - всё отлично работает. Может скопировали из окошка кода не очень корректно или не запущена поддержка функций VL: (vl-load-com)?
Приделал к коду Владимира Сергеевича запуск поддержки функций VL и определение двух команд SetByLay - для установки свойств по слою примитива и SetByCur - для установки свойств примитива по текущим свойствам и изменения слоя на текущий. В этом коде именно эти функции реализованы. Может Вам так легче будет их использовать. Проверил - команды работают.

А код на кнопку, как я выше написал (с лисп-командой) не пробовали заменить.
Т.е. вместо строки в определение макроса на кнопке: ^C^C_.change;_p;_color;_bylayer;_lineweight;_bylayer;;
вставить строку: ^C^C(Command "_.CHANGE" "_p" "" "_p" "_Color" "_BYLAYER" "_LType" "_BYLAYER" "_LWeight" "_BYLAYER" "")

Может этого будет достаточно. Эта строчка работает - проверил. "Война" идет куда надо
Вложения
Тип файла: lsp SetProp_b_Lay_SetProp_b_Cur.lsp (3.0 Кб, 5 просмотров)
EStranger вне форума  
 
Автор темы   Непрочитано 05.02.2021, 15:37
#20
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от EStranger Посмотреть сообщение
Проверил - всё отлично работает. Может скопировали из окошка кода не очень корректно или не запущена поддержка функций VL: (vl-load-com)?
Приделал к коду Владимира Сергеевича запуск поддержки функций VL и определение двух команд SetByLay - для установки свойств по слою примитива и SetByCur - для установки свойств примитива по текущим свойствам и изменения слоя на текущий. В этом коде именно эти функции реализованы. Может Вам так легче будет их использовать. Проверил - команды работают.

А код на кнопку, как я выше написал (с лисп-командой) не пробовали заменить.
Т.е. вместо строки в определение макроса на кнопке: ^C^C_.change;_p;_color;_bylayer;_lineweight;_bylayer;;
вставить строку: ^C^C(Command "_.CHANGE" "_p" "" "_p" "_Color" "_BYLAYER" "_LType" "_BYLAYER" "_LWeight" "_BYLAYER" "")

Может этого будет достаточно. Эта строчка работает - проверил. "Война" идет куда надо
проблема была в том, что я кнопку на палитру выводил и не менял ее. Сколько я код не менял - все оставалось как в первый раз. Потом дошло, удалил кнопку, перезапустил автокад - все заработало)
SeRioOuS вне форума  
 
Непрочитано 05.02.2021, 15:53
#21
EStranger


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


Цитата:
Сообщение от SeRioOuS Посмотреть сообщение
проблема была в том, что я кнопку на палитру выводил и не менял ее. Сколько я код не менял - все оставалось как в первый раз. Потом дошло, удалил кнопку, перезапустил автокад - все заработало)
Понятно.
А функции от Vladimir_Sergeevich тоже вполне исправно работают. Там ещё есть контроль, если примитив на заблокированном слое. Все такие примитивы в наборе будут сосчитаны и в командной строке будет об этом сообщение. Можно применять и как функции, например: (by-lay-col-lw-lt), или если загрузите вложение SetProp_b_Lay_SetProp_b_Cur.lsp из №19, то там эти функции "обернуты" в команды: (by-lay-col-lw-lt) -> SetByLay, и (by-cur-col-lw-lt-lay) -> SetByCur. Тоже вариант. Выбирайте как удобнее. Успехов.
EStranger вне форума  
 
Автор темы   Непрочитано 05.02.2021, 16:39
#22
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


спасибо большое всем за помощь)

----- добавлено через ~3 мин. -----
вдогонку, посоветуйте, с чего начать изучать разработку лиспов... По-моему когда-то натыкался на подобную статью от Алексея Кулика. Норм будет для старта?
SeRioOuS вне форума  
 
Непрочитано 05.02.2021, 16:59
#23
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от SeRioOuS Посмотреть сообщение
натыкался на подобную статью от Алексея Кулика
Да лааадно! Не помню такого.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.02.2021, 18:34
#24
EStranger


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


Для начала можно эту ветку почитать: https://forum.dwg.ru/showthread.php?t=82319
Там есть некоторые ссылки, рассуждения, ну и споры (как же без них). На самом деле дать такой совет совсем не просто. Мало такой литературы. В интернете много всякого есть, но что поможет, а что запутает или (чего гуру часто опасаются) "попортит" Вас как программера начинающего предсказать невозможно. Всё от Вас зависит.

Ну и многое зависит от того, для чего и на каком уровне Вам будут нужны познания в этом языке программирования, и какие познания в программировании вообще (не в ...LisP) есть на данный момент. Я давно очень в AutoLISP залез, еще в те времена, когда компьютеры были IBM PC АТ 286, 386, 486, операционка была DOS 3.0, 3.11, 3.2, а AutoCAD назывался AutoCAD R9 , R10, R12. И не только из конкретных надобностей - они были, конечно - но и просто было "жутко интересно" это всё освоить. Потом был VisualLisp, ну и т.д.

Напишите мне в "личку" свои размышления - что "можется" и что "хочется". Может быть что-то смогу подсказать, что-то посоветовать, может Вам и пригодится...

Последний раз редактировалось EStranger, 05.02.2021 в 18:44.
EStranger вне форума  
 
Автор темы   Непрочитано 08.02.2021, 10:17
#25
SeRioOuS

проектирование автомобильных дорог
 
Регистрация: 15.11.2019
Москва
Сообщений: 46


Цитата:
Сообщение от EStranger Посмотреть сообщение
Для начала можно эту ветку почитать: https://forum.dwg.ru/showthread.php?t=82319
Там есть некоторые ссылки, рассуждения, ну и споры (как же без них). На самом деле дать такой совет совсем не просто. Мало такой литературы. В интернете много всякого есть, но что поможет, а что запутает или (чего гуру часто опасаются) "попортит" Вас как программера начинающего предсказать невозможно. Всё от Вас зависит.

Ну и многое зависит от того, для чего и на каком уровне Вам будут нужны познания в этом языке программирования, и какие познания в программировании вообще (не в ...LisP) есть на данный момент. Я давно очень в AutoLISP залез, еще в те времена, когда компьютеры были IBM PC АТ 286, 386, 486, операционка была DOS 3.0, 3.11, 3.2, а AutoCAD назывался AutoCAD R9 , R10, R12. И не только из конкретных надобностей - они были, конечно - но и просто было "жутко интересно" это всё освоить. Потом был VisualLisp, ну и т.д.

Напишите мне в "личку" свои размышления - что "можется" и что "хочется". Может быть что-то смогу подсказать, что-то посоветовать, может Вам и пригодится...
спасибо за советы, буду пытаться вникать в эту тему)
купил на литресе автолисп Полищука, попробую вникнуть) В программировании я полный ноль. Представляю, что это и зачем нужно. Делал "Hello world" на Java по обучающей статье в интернете (повторял написанные коды). На этом все)
SeRioOuS вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос для назначения выбранным объектам свойств цвета и веса линий "по слою"

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как активировать масштаб веса линий? инженер гарин AutoCAD 5 13.12.2018 17:11
Цвета линий в AutoCAD. Зачем они нужны и как их изменить АнтонЧ AutoCAD 47 09.10.2013 20:34
Где можно прочитать достоверную информацию про использование цветов, веса линий ... при печати в режиме Monocrome? Edgario AutoCAD 12 19.05.2010 09:28
изменение толщины (веса) линий при печати, без редактирования чертежа lex0101 AutoCAD 6 01.12.2009 20:37
Привязка только к объектам определенного цвета Torino AutoCAD 30 29.03.2004 15:56