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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как узнать толщину линии конкретного слоя, не открывая диспетчер слоев?

Как узнать толщину линии конкретного слоя, не открывая диспетчер слоев?

Ответ
Поиск в этой теме
Непрочитано 20.01.2015, 10:03 #1
Как узнать толщину линии конкретного слоя, не открывая диспетчер слоев?
VAV
 
Проектировщик
 
Воронеж
Регистрация: 28.10.2009
Сообщений: 331

Как узнать толщину линии конкретного слоя, не открывая диспетчер слоев?
Когда толщина линии задана как "по слою", то чтобы узнать, какой толщины она будет при печати приходится открывать диспетчер слоев и там уже смотреть заданую толщину линий этого слоя. Как-то можно это сделать быстрее? Например, чтобы толщина отображалась вместе с названием слоя на панели инструментов "слои".
Просмотров: 9591
 
Непрочитано 20.01.2015, 11:29
#2
skkkk


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


Давайте оперировать общепринятой терминологией: речь ведь идет о весе, правда?
Элемент управления слоями (выпадающее меню) в панели "Слои" не подлежит адаптации ни штатными средствами, ни лиспом. Сомневаюсь, что и другим языкам это под силу, думаю, этот элемент зашит глубоко в ядре.
Но что-то все же на ум приходит.
Вариант 1 - простой в реализации, но по удобству использования - так себе. Создается кнопка с командой (ну или просто команда), при вызове которой нужно будет указать объект, и в командной строке отобразится вес его слоя.
Вариант 2 - более удобный, но сложный в реализации. Нужно создать прямо в Адаптации (_CUI) в правом верхнем углу или где-то найти иконки для кнопок с надписями, состоящими из чисел - всех возможных значений веса. Например для значения "ПоСлою" - кнопка "С", "ПоБлоку" - кнопка "Б" "По умолчанию" - "У", "0.09" - "9", "0.25" - "25" и так далее. Затем на лиспе, используя наработки VVA из этой темы, а также реакторы, менять эту кнопку, установленную, скажем на той же панели "Слои" рядом с выпадающим меню слева, в зависимости от значения веса текущего слоя. Таким образом, в этой кнопке будет решение вопроса этой темы.
Скажу сразу: за реализацию второго варианта возьмусь только при условии наличия готовых иконок, что иконки я делать не буду .

Последний раз редактировалось skkkk, 19.03.2015 в 11:46.
skkkk вне форума  
 
Непрочитано 20.01.2015, 11:43
#3
Vassa


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


Цитата:
Сообщение от skkkk Посмотреть сообщение
Например для значения "ПоСлою" - кнопка "С" (ну или "L" - Layer), "ПоБлоку" - кнопка "Б" (или "B"), "0.09" - "9", "0.25" - "25" и так далее.
Это есть в инструментальной панели Свойства. И значения ПоСлою, ПоБлоку или 1.2 там отражаются. Да и панель Быстрые свойства можно настроить соответствующим образом.
А задача в том, чтобы узнать конкретно - сколько это, ПоСлою: 0.09 или, допустим, 1.2.
__________________
В действительности все иначе, чем на самом деле.
(Антуан де Сент-Экзюпери)
Vassa вне форума  
 
Автор темы   Непрочитано 20.01.2015, 11:52
#4
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


skkkk, второй вариант действительно хорош, но вот Vassa, в посте №3 верно подметил. Если можно сделать, чтобы на этой кнопке отображалась иконка, которая будет соответствовать информации о весе, взятой именно со свойств текущего слоя, то это и будет решением этой задачи.
VAV вне форума  
 
Непрочитано 20.01.2015, 11:57
#5
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от skkkk Посмотреть сообщение
ДНужно создать прямо в Адаптации (_CUI) в левом верхнем углу или где-то найти иконки для кнопок с надписями, состоящими из чисел - всех возможных значений веса. Например для значения "ПоСлою" - кнопка "С" (ну или "L" - Layer), "ПоБлоку" - кнопка "Б" (или "B"), "0.09" - "9", "0.25" - "25" и так далее. Затем на лиспе, используя наработки VVA из этой темы, а также реакторы, менять эту кнопку, установленную, скажем на той же панели "Слои" рядом с выпадающим меню слева, в зависимости от значения веса текущего слоя. Таким образом, в этой кнопке будет решение вопроса этой темы.
Скажу сразу: за реализацию второго варианта возьмусь только при условии наличия готовых иконок.
Да зачем эти кнопки, можно ведь в статусную строку писать, через системную переменную MODEMACRO.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 20.01.2015, 11:57
#6
Кулик Алексей aka kpblc
Moderator

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


Ок, ребята... Есть слой с весом линии, например, 0.20. На нем располагается отрезок, на который принудительно установлен вес 0.20. Теперь задача - используя эту самую кнопку, определить, что вес линии назначен "не по слою".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.01.2015, 12:05
#7
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Теперь задача - используя эту самую кнопку, определить, что вес линии назначен "не по слою".
Если одним глазом поглядывать штатную инструментальную панель "Свойства", то можно будет заметить, что там отображается: "по слою" или "0.20"
VAV вне форума  
 
Непрочитано 20.01.2015, 12:06
#8
skkkk


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


Vassa, да, сглупил я. Я прекрасно понял суть задачи, просто зря не подумав написал о "послое" и о "поблоке". Там больше в тему "По умолчанию".
VAV, да-да,
Цитата:
Сообщение от VAV Посмотреть сообщение
взятой именно со свойств текущего слоя
Можно даже сделать, чтобы там отображалось значение веса выделенного объекта, в то время как в инструментальной панели "Свойства" будет написано "ПоСлою". Если выделено несколько объектов с разными значениями, то там будет либо прочерк, либо пустая иконка.
Krieger, можно и туда, но кнопку можно поставить в привычное взгляду место, там где вся информация о слоях или свойствах объекта, а для взгляда в эту строку нужно пересечь весь экран. Для тех, кто не в теме: это в самом нижнем левом углу окна Автокада.
skkkk вне форума  
 
Автор темы   Непрочитано 20.01.2015, 12:13
#9
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


skkkk, ну тогда уж для полного удобства было бы хорошо, чтобы при отсутствии выделенных объектов отображался вес текущего слоя, а при выделенном объекте - именно его вес. Это ведь реализуемо? Тогда я готов сделать иконки всех толщин. Больше я вряд ли смогу чем-то помочь решении в этой задачи
VAV вне форума  
 
Непрочитано 20.01.2015, 12:13
#10
skkkk


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


Цитата:
Сообщение от VAV Посмотреть сообщение
Если одним глазом поглядывать штатную инструментальную панель "Слои", то можно будет заметить, "по слою" ли там написано или "0.20"
Наверное все же не "Слои", а "Свойства"?

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от VAV Посмотреть сообщение
skkkk, ну тогда уж для полного удобства было бы хорошо, чтобы при отсутствии выделенных объектов отображался вес текущего слоя, а при выделенном объекте - именно его вес.
Именно так я и соображал.
Цитата:
Сообщение от VAV Посмотреть сообщение
Это ведь реализуемо?
Да. По крайней мере, я не вижу препятствий на первый взгляд. Если реакторы не пугают. А то Алексей предупреждал:
Цитата:
обязательно предупреждайте, если в коде используются командные или любые иные реакторы (печальный опыт уже был).
Чем это может быть чревато, Алексей? Пользуюсь реакторами уже давно, но печального опыта у меня еще нет
Цитата:
Сообщение от VAV Посмотреть сообщение
Тогда я готов сделать иконки всех толщин.
Можно пока, для пробы, чтобы удостовериться, что это реализуемо, сделать пару-тройку иконок для первых значений. Если все срастется, тогда и доделать остальные.
skkkk вне форума  
 
Автор темы   Непрочитано 20.01.2015, 12:23
#11
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Цитата:
Сообщение от skkkk Посмотреть сообщение
Наверное все же не "Слои", а "Свойства"?
Да, опечатался. Я уже подправил свой пост. Ну тогда я в течении часа нарисую пару-тройку иконок
VAV вне форума  
 
Непрочитано 20.01.2015, 12:27
#12
skkkk


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


Смущает еще одно: кнопки для такой цели - это как-то несерьезно что ли. Кто знает, можно ли запрограммировать НЕ на лиспе элемент управления, подобный таковому в панели "Свойства", например, тому же весу? Пусть без иллюстрации физической толщины линии, а просто с текстом. За неимением лучшего, конечно, можно обойтись пока и кнопкой.
Цитата:
Сообщение от VAV Посмотреть сообщение
Ну тогда я в течении часа нарисую пару-тройку иконок
Я в свою очереть в такие сроки - не обещаю. Только по мере возможности.
skkkk вне форума  
 
Непрочитано 20.01.2015, 13:23
#13
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Вот вам "рыба", реактор пишет в статусную строку.
Код:
[Выделить все]
 (defun select_objs_reactor (calling-reactor commandInfo /)
	(setvar "MODEMACRO" (itoa (vla-get-Lineweight
		   (vla-item
		     (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
		     (vla-get-layer (vlax-ename->vla-object (ssname (ssget "_I") 0)))))))
)
(vlr-miscellaneous-reactor nil '((:vlr-pickfirstModified . select_objs_reactor)))
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 20.01.2015, 13:46
#14
skkkk


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


Krieger, почему "рыба"? Вполне себе рабочий код. Определяет назначенный слою вес по клику на объект этого слоя. Без вызова дополнительных функций, автоматически. А что, тоже ведь вариант.
Вполне отвечает на вопрос темы. Как узнать..? Просто загрузить код Krieger'а, кликнуть на объект и смотреть в статусную строку. Правда перед выбором следующего объекта надо сбросить активный выбор.
skkkk вне форума  
 
Автор темы   Непрочитано 20.01.2015, 14:30
#15
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Krieger, спасибо, там полегче теперь будет чертить. Но при выборе объектов в командной строке всегда вылазит ошибка: ; ошибка: неверный тип аргумента: lselsetp nil. И можно ли сделать так, чтобы при отсутствии выбранных объектов в строке отображалась толщина текущего слоя?
Но и идея skkkk мне тоже нравится: можно расположить кнопку рядом с панелью "свойства" и вся информация будет в одном месте.
Прикладываю две иконки:для толщины 0,00 и 0,05.
Вложения
Тип файла: rar толщины линий.rar (963 байт, 25 просмотров)
VAV вне форума  
 
Непрочитано 20.01.2015, 15:03
1 | #16
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 910


А в названии слоя прописать вес линии не вариант? Например "Особо толстые 070"
kacugu вне форума  
 
Автор темы   Непрочитано 20.01.2015, 15:37
#17
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Цитата:
Сообщение от kacugu Посмотреть сообщение
А в названии слоя прописать вес линии не вариант? Например "Особо толстые 070"
В моей организации помимо меня работают еще 100 человек. Не реально заставить всех чертить в одинаковых слоях.
VAV вне форума  
 
Непрочитано 20.01.2015, 15:49
#18
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,176


Цитата:
Сообщение от VAV Посмотреть сообщение
приходится открывать диспетчер слоев и там уже смотреть заданую толщину линий этого слоя. Как-то можно это сделать быстрее?
Не закрывать диспетчер слоев, а прикрепить его к краю экрана, пусть там висит постоянно рядом с панелью свойств или вместо нее. Лишние колонки типа "цвет", "тип линии", "заморозка" и проч. - скрыть.
На широкоэкранном мониторе вполне удобно.
Опция доступна начиная с версии 2008, кажется. В 2010 точно есть. В какой Вы работаете?

Последний раз редактировалось kp+, 20.01.2015 в 15:59.
kp+ вне форума  
 
Автор темы   Непрочитано 20.01.2015, 16:03
#19
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


kp+, я работаю в 2014 и колонки убирать можно. Но этот вариант мне не нравится. Не совсем удобно. Точнее совсем неудобно.
VAV вне форума  
 
Непрочитано 20.01.2015, 16:10
#20
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,176


Цитата:
Не совсем удобно. Точнее совсем неудобно.
Места на мониторе мало? Или не хочется потом включать колонки? Можно изменить порядок их следования. первая - название, вторая - вес линий, далее по вкусу за пределами той части окна, что видна без прокрутки.
Впрочем, дело вкуса.
kp+ вне форума  
 
Непрочитано 21.01.2015, 12:42
1 | #21
skkkk


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


kp+, я именно так я и сделал в свое время и был несказанно доволен - понравилось. Слева сверху закреплен Диспетчер Слоев, ниже - Панель Свойств. Моник широкий, очень удобно. Причем поначалу колонки менял местами, в таком порядке, как в выпадающем меню на панели "Слои". Но часто по невыявленным причинам колонки возвращались в исходное состояние, что очень подбешивало, и в итоге я оставил их так. Но при оптимальной ширине этих закрепленных слева панелей колонка "Вес" не влезает.
Получилось, что VAV подтолкнул меня на рождение такой идеи. Думаю, что это должно быть довольно удобно.

Я тут набросал на скорую руку предварительный вариант этой идеи, используя в академических целях код VVA из одной темы, код mmax'а из другой, а также скопировал пару строк Krieger'а несколькими постами выше. Должен сказать, что значительно облегчил себе жизнь. Спасибо авторам, надеюсь они не станут возражать. Учитывая наказ Алексея Кулика, упомянутый в моем посте #10, предупреждаю: в коде присутствуют реакторы - целых три!

Для работы кода необходимо добавить на панель "Свойства" кнопку - любую, можно просто, без макросов и картинок. Добавить ее нужно на четвертое место после элементов "Цвет", "Тип" и "Вес". Этому четвертому месту соответствует порядковый номер - цифра 3 в коде (начиная с нуля), сопровожденная комментарием. Стоп, пока пробуем добавить кнопку в начало панели, а в коде - цифра ноль. Если место будет другим, номер этот нужно поменять в коде, как и название панели, если хочется расположить на другой панели или если Автокад английский (см. также примечание внизу поста). Программно реализовывать это я не стал - смысл невелик. Далее, в папку на путях доступа нужно добавить иконки, имя каждой из которых соответствует отображаемому на ней номеру. Две у нас уже есть: 0 и 5, - но пока не будет остальных, Автокад будет ворчать при выборе объекта или активации слоя, для веса которых нет соответствующей иконки. Затем код нужно добавить в автозагрузку, перезагрузить КАД и тестировать.
Код:
[Выделить все]
 (vl-load-com)
(defun LayerWeightControl ( / adoc button ss weight i i-weight icon-file icon)
	(setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
		  button  
			(vla-Item
				(vla-Item
					(vla-get-Toolbars
						(vla-Item 
							(vla-get-MenuGroups (vlax-get-acad-object))
							"ACAD" ;_Группа меню
						)
					)
					"Свойства"     ;_Имя панели
				)
				0				   ;_ Номер кнопки на панели, начиная с нуля
			)
		  ss (ssget "_I")
	)
	(cond 
	  (	ss ; если есть выделенные объекты
		(setq weight (vla-get-LineWeight
						(vla-Item
							(vla-get-Layers adoc)
							(vla-get-Layer (vlax-ename->vla-object (ssname ss 0)))
						)
					)
		)
		(if (> (setq i (sslength ss)) 1)
			(progn
				(setq i-weight weight)
				(while (and (> i 0) (= i-weight weight))
					(setq i-weight 
								(vla-get-LineWeight
									(vla-Item
										(vla-get-Layers adoc)
										(vla-get-Layer (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
									)
								)
					)
				)
				(if (/= i-weight weight) (setq weight "Пустая иконка"))
			)
		)
	  )
	  (	(null ss) ; если нет выделенных объектов
		(setq weight (vla-get-LineWeight
						(vla-Item
							(vla-get-Layers adoc)
							(getvar "CLAYER")
						)
					)
		)
	  )
	)
	(setq icon-file (strcat (vl-princ-to-string weight) ".bmp"))
	(vla-GetBitmaps button 'SmallBitmapName 'BigBitmapName)
	(if (/= (strcase(vl-filename-base SmallBitmapName)) (vl-princ-to-string weight))
		(progn
			(if (setq icon (findfile icon-file))
				(vla-SetBitmaps button icon icon)
				(alert (strcat "Файл \"" icon-file "\" не найден!"))	
			)
		)
	)
)


;;; Реактор на завершение команд изменения текущего слоя или его свойств:
(vlr-command-reactor nil '((:vlr-commandEnded . commandEnded)))

;;; Реакция на завершение команд изменения текущего слоя:
(defun commandEnded (reac data)
	(if 
		(vl-position (car data) 
			(list "LAYER" 
				  "_LAYER" 
				  "-LAYER" 
				  "_-LAYER" 
				  "SETVAR" 
				  "_SETVAR" 
				  "_LAYERP" 
				  "LAYERP" 
				  "LAYMCUR"
			)
		)
		(LayerWeightControl)
    )
	(princ)
)

  
;;; Реактор на активацию файла (чтобы изменять иконку при перелистывании чертежей по Ctrl+Tab):
(vlr-docmanager-reactor nil '((:VLR-documentToBeActivated . documentToBeActivated)))

;;; Реакция на активацию файла:
(defun documentToBeActivated (reac data / ) 
	(LayerWeightControl)
)


;;; Реактор на изменение набора выбранных объектов:
(vlr-miscellaneous-reactor nil '((:vlr-pickfirstModified . pickfirstModified)))

;;; Реакция на изменение набора выбранных объектов:
(defun pickfirstModified (reac data /)
	(LayerWeightControl)
)
(princ)
Сразу предвижу трудность в рисовании иконок. Очевидно, что возникнут проблемы с восприятием иконки, на которой будет трехзначное число, а оно по-любому будет, например, для веса 1.06. Поэтому, подумав, я решил изобразить вариант с размещением этого числа (с запятой и знаками разрядности как в оригинале) на двух иконках. Увидеть, что получилось, можно в первом вложении. Аляповато, конечно, учитывая еще, что и рисование никогда не было моим коньком, но думаю, это лучше, чем ломать глаза, как во вложении втором. Для этого придется, правда делать больше иконок и немного переписывать код, но думаю, овчинка выделки будет стоить.
В общем, тестируем

----- добавлено через ~12 мин. -----
Обратите внимание на зачеркнутый фрагмент. Я тестировал кнопку в начале панели, на первом месте, а когда решил сделать снимки экрана, перенес ее в конец. Но почему-то, когда кнопка стоит после элементов управления (цвет, тип, вес) код не срабатывает. Видимо, придется выносить ее в отельную панель. И название панели изменить в коде.
Миниатюры
Нажмите на изображение для увеличения
Название: Пример 1.JPG
Просмотров: 40
Размер:	19.1 Кб
ID:	142283  Нажмите на изображение для увеличения
Название: Пример 2.JPG
Просмотров: 40
Размер:	17.7 Кб
ID:	142284  

Последний раз редактировалось skkkk, 21.01.2015 в 13:29.
skkkk вне форума  
 
Автор темы   Непрочитано 21.01.2015, 13:34
#22
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Оо, спасибо, буду тестировать. Только вот не понятно:
Цитата:
Сообщение от skkkk Посмотреть сообщение
в папку на путях доступа нужно добавить иконки
Где именно нужно создать папку с иконками?
VAV вне форума  
 
Непрочитано 21.01.2015, 13:47
#23
skkkk


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


Цитата:
Сообщение от VAV Посмотреть сообщение
Где именно нужно создать папку с иконками?
Можно просто иконки добавить в папку, например, C:\Program Files\Autodesk\AutoCAD 2011\Support, но это не совсем порядочно. Лучше создать папку в удобном месте и в окне настроек (команда _.OPTIONS) во вкладке Файлы добавить эту папку в список путей доступа к вспомогательным файлам.
skkkk вне форума  
 
Автор темы   Непрочитано 22.01.2015, 09:23
#24
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


skkkk, попробовал. Результаты такие: в первом же файле (чистый чертеж, который загружается автокадом при открытии), в котором я подгрузил ваш лисп все заработало, иконка менялась. Потом я загрузил уже свой чертеж и в нем уже ничего не работало. Ни при смене слоев, ни при выборе объектов. Переключаюсь на первый чертеж - все работает, потом обратно на второй - опять не работает. Потом я закрыл все чертежи и создал новый. В нем тоже ничего не работало. Пробовал даже вторично подгружать лисп - безрезультатно. Может я не правильно подгружаю лисп? Я делаю это так (в русскоязычной локализации):команда ЗАГПРИЛ и далее выбираю нужный лисп и загружаю его.
кое-что не так делал. сейчас еще потестирую и отпишусь

Последний раз редактировалось VAV, 22.01.2015 в 09:31.
VAV вне форума  
 
Автор темы   Непрочитано 22.01.2015, 11:02
#25
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Итак.Для начала я подгружаю ваш лисп. Делаю это так (в русскоязычной локализации):команда ЗАГПРИЛ и далее выбираю нужный лисп и загружаю его. Я так понял этим действием я активирую лисп лишь в том чертеже,в котором я его запустил. Поэтому чтобы лисп работал и в последующих открываемых чертежах, кроме этого в окне загрузка/выгрузка приложений (ЗАПРИЛ) я запихиваю этот лисп в автозагрузку. После этих действий все работает корректно: иконка меняется.
Теперь закрываю автокад и открываю его вновь. Сразу говорю: папка, где лежит ваш лисп я не добавлял в список доверенных местоположений. Поэтому когда дело доходит до подгрузки файла с вашим кодом вылазит стандартное сообщение о том, что файл находится вне указанных доверенных местоположений и предлагают пользователю самому выбрать загружать файл или нет. И проблема в том, что это окно висит 1 секунду. Если я успеваю нажать кнопку "загрузить", то все работает. Если успеваю нажать кнопку "не загружать", то, соответственно, автокад работает без этого файла. Но, если я не успеваю за эту одну секунду сделать выбор и нажать "загрузить" или "не загружать", то окно пропадает и автокад дальше не грузится. В командной строке висит такая строка: s::startup-load (прикладываю скрин). Никакие кнопки не работают. Приходится выбивать автокад из диспетчера задач. Если добавить папку в доверенные источники, то все подгружается корректно. Почему так? Например с прогой ModPlus это окошко висит до тех пор, пока я не сделаю свой выбор.
Миниатюры
Нажмите на изображение для увеличения
Название: зависание при открыытии0.png
Просмотров: 35
Размер:	25.3 Кб
ID:	142373  Нажмите на изображение для увеличения
Название: зависание при открыытии.png
Просмотров: 29
Размер:	14.0 Кб
ID:	142374  
VAV вне форума  
 
Непрочитано 22.01.2015, 11:38
#26
skkkk


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


Матчасть.

----- добавлено через ~5 ч. -----
Цитата:
Сообщение от VAV Посмотреть сообщение
Сразу говорю: папка, где лежит ваш лисп я не добавлял в список доверенных местоположений.
А нужно добавить в доверенные, в чем проблема-то? И в автозагрузку этот файл - и дело с концом. Или страх перед предупреждением Кулика Алексея о реакторах? Ну так все плохое, что может случится - может случится и при разовой загрузке, все равно любое приложение юзер всегда использует на свой страх и риск, а тестировать его лучше не в рабочих файлах, которые есть риск запороть, а в копиях. Самое страшное в таком случае может быть, пожалуй переустановка Автокада.
Цитата:
Сообщение от VAV Посмотреть сообщение
Почему так? Например с прогой ModPlus это окошко висит до тех пор, пока я не сделаю свой выбор.
Этого я сказать не могу, да и не интересно разбираться, если честно. Зачем? Да и версия у меня другая. Если есть намерение пользоваться так добавляем в доверенные, в автозагрузку и пользуемся.

А вот что насчет того, на одной ли кнопке размещать или на двух? И сейчас на кнопке макроса нет, а можно поставить, написав еще одну функцию и повесив на нее. Можно будет тогда менять вес текущего слоя прям с этой кнопки, если объекты не выбраны, или вес слоя выбранного объекта.
skkkk вне форума  
 
Автор темы   Непрочитано 22.01.2015, 18:15
#27
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Ну ладно, добавлю в довернные. Надеюсь все корректно будет работать.
На счет кнопок. Мне кажется на одной можно разместить. Вроде бы три цифры на одной кнопке вполне читаемы. По поводу макроса тоже хорошая идея. Было бы не плохо.
VAV вне форума  
 
Непрочитано 22.01.2015, 19:38
#28
skkkk


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


VAV, стало быть, вопрос в иконках
Над макросом нужно подумать. Либо сделать, чтоб при нажатии на кнопку вываливалось меню при включенном динамическом вводе, например, такое, как у команды _PEDIT. Динамический ввод, если не нравится, можно включать программно только на время выбора, затем отключать. Или делать эту кнопку в виде подменю, и нажав ее и не отпуская выбирать из выпадающих кнопок нужную. Если не ошибаюсь, такой механизм реализован по умолчанию на кнопке "Вставить блок". Первый вариант легко реализуем. Второй - быстро не обещаю. И даже пока не уверен, можно ли его воплотить.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 39
Размер:	24.0 Кб
ID:	142405  Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 36
Размер:	14.7 Кб
ID:	142406  
skkkk вне форума  
 
Автор темы   Непрочитано 23.01.2015, 11:02
#29
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


skkkk, иконки выложу, как сделаю.
Меню и вываливающееся пойдет. На счет програмного включения/отключения динамического ввода с ним стоит заморачиваться, на мой взгляд, только если можно сделать такой режим: если дин. ввод до использования макроса был включен, то ничего не менять. А если был выключен, то включить на время выбора, а потом отключить.
VAV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как узнать толщину линии конкретного слоя, не открывая диспетчер слоев?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужны фильтры слоев?Как ими пользоваться? Aysulu AutoCAD 43 17.04.2019 10:59
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Почему не проходит теплорасчет? Suom Конструкции зданий и сооружений 15 10.08.2011 17:22