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

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

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

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

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


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


Давайте оперировать общепринятой терминологией: речь ведь идет о весе, правда?
Элемент управления слоями (выпадающее меню) в панели "Слои" не подлежит адаптации ни штатными средствами, ни лиспом. Сомневаюсь, что и другим языкам это под силу, думаю, этот элемент зашит глубоко в ядре.
Но что-то все же на ум приходит.
Вариант 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
Сообщений: 97


Цитата:
Сообщение от 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
Воронеж
Сообщений: 330
<phrase 1=


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

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


Цитата:
Сообщение от 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
С.-Петербург
Сообщений: 39,787


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

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


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


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


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

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


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


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


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

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

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


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


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


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

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


Вот вам "рыба", реактор пишет в статусную строку.
Код:
[Выделить все]
 (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,653


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

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


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

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


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

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


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

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


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

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

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


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

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


Цитата:
Не совсем удобно. Точнее совсем неудобно.
Места на мониторе мало? Или не хочется потом включать колонки? Можно изменить порядок их следования. первая - название, вторая - вес линий, далее по вкусу за пределами той части окна, что видна без прокрутки.
Впрочем, дело вкуса.
kp+ вне форума  
Ответ
Вернуться   Форум 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