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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Где хранится значение "Веса линии" для знач. "ByBlock" для объектов в "ModelSpace"

Где хранится значение "Веса линии" для знач. "ByBlock" для объектов в "ModelSpace"

Ответ
Поиск в этой теме
Непрочитано 08.02.2018, 08:46 #1
Где хранится значение "Веса линии" для знач. "ByBlock" для объектов в "ModelSpace"
tomanderson
 
Регистрация: 27.09.2010
Сообщений: 8

Не могу понять, откуда AutoCAD берёт значение для "Веса линии", если значение для объекта равно "ByBlock" для объектов в "ModelSpace" или на листах.
Обнаружил, что это значение меняется для всего файла сразу, при взрыве блока "EXPLODE" и меняется оно на значение, которое было установлено для этого блока.
Но вопрос, как добраться до этого значения, например через ActiveX?
Просмотров: 1762
 
Непрочитано 08.02.2018, 09:00
#2
Кулик Алексей aka kpblc
Moderator

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


Ничего не понял в вопросе. Вес линии - обычное свойство графического (и иногда неграфического) объекта. Присвоено объекту. Вес линии должен принадлежать строго определенному ряду (перечислению).
Ты чего хотел спросить-то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.02.2018, 09:34
#3
trir


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


'_lweight
CELWEIGHT
LWDEFAULT
trir вне форума  
 
Автор темы   Непрочитано 08.02.2018, 11:32
#4
tomanderson


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


Пример:
Есть полилиния.
Entget выдаёт - "(370 . -2)"
vla-get-Lineweight выдаёт - "-2".
На вид вес линии 0.25 мм (если рядом линию с таким весом нарисовать, то они одинаковые).
Изменение значения LWDEFAULT не влияет на толщину линии со значением "По блоку". Т.е. ставлю LWDEFAULT = 200, но линия также на вид остаётся 25.
Как понять, какая толщина у линии со значением "По блоку"?

Далее если вставить блок (Insert) в этот чертёж и расчленить ("EXPLODE") его, то все линии со значением vla-get-Lineweight = "-2" (по блоку) становятся на вид, как вес линии который был у вставленного блока.
При этом значение LWDEFAULT не меняется.

Если вставить ещё 1 блок и установить ему другое значение веса линии, а потом взорвать его, то вес линии (на вид) у линий со значением vla-get-Lineweight = "-2" (по блоку) опять обновится на тот, что был у последнего блока во время взрыва.

От пространства это не зависит. Такие действия в любом пространстве вызывают изменение визуальной тощины линии у всех линий со значением vla-get-Lineweight = "-2".

Естественно любые изменение происходят после регенерации. И влияют на печать файла.

В связи с этим у меня возник вопрос - а где вообще это значение хранится? И чему оно равно?
tomanderson вне форума  
 
Непрочитано 08.02.2018, 11:50
#5
Кулик Алексей aka kpblc
Moderator

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


Вообще-то вопрос немного не так должен звучать, мне кажется: "Какой смысл с этом значении?"
P.S. Замена lwdefault ни к чему не приведет, если не включено отображение веса линии, ИМХО.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.02.2018, 13:10
#6
tomanderson


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


Отображение веса линий конечно включено.
Мне интересно, как оно работает.
Практической пользы от этих знаний пока не вижу, но хочу понимать - что происходит.
tomanderson вне форума  
 
Непрочитано 08.02.2018, 14:56
#7
Кулик Алексей aka kpblc
Moderator

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


Ок. Берем отрезок, вес линии устанавливаем ByBlock. Отрезок - в блок. Поменяй вес линии для блока
Теперь второй отрезок, вес линии по слою. Загнать в другой блок. Поменяй вес линии для второго блока.
Разницу видишь?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.02.2018, 15:45
#8
tomanderson


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


Я знаю как это работает внутри блоков.
Я не понимаю как это работает в модели. Вне блока.
Есть линия в модели с весом линии По блоку. Как определить - какой ширины она выйдет на печать? Откуда я могу взять значение?
tomanderson вне форума  
 
Непрочитано 10.02.2018, 19:03
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от tomanderson Посмотреть сообщение
Я не понимаю как это работает в модели. Вне блока.
Желательно использовать свойства по их прямому назначению. Вне блока это свойство не должно иметь смысла.
Цитата:
Сообщение от tomanderson Посмотреть сообщение
Как определить - какой ширины она выйдет на печать? Откуда я могу взять значение?
Цитата отсюда
Цитата:
Если установлен текущий вес линий "ПоБлоку", то объекты, пока они не объединены в блок, создаются с весом линий, установленным по умолчанию
Возможно, это справедливо и для печати. Требует проверки
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Где хранится значение "Веса линии" для знач. "ByBlock" для объектов в "ModelSpace"

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключение объектов из набора Violent MITCHELL AutoCAD 22 10.08.2016 12:09
LISP Объединение нескольких объектов многострочного текста в один Cren LISP 8 26.02.2016 08:57
Autolisp выделение объектов DENBASS2004 LISP 6 07.07.2015 11:25
Visual LISP: Почему перебор объектов в SelectionSet неактивного документа происходит очень медленно? Shourick LISP 15 13.03.2015 15:23
Где хранится значение суффикса имени файла печати? kp+ AutoCAD 3 27.01.2006 15:05