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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Можно ли жестко закрепить масштаб типов линий в свойствах примитива?

Можно ли жестко закрепить масштаб типов линий в свойствах примитива?

Ответ
Поиск в этой теме
Непрочитано 20.04.2017, 10:53 #1
Можно ли жестко закрепить масштаб типов линий в свойствах примитива?
Pilot
 
Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,268

(Разговор о модели, аннотативность не затрагиваем.)
Как известно, в свойствах примитива есть его собственный Linetype scale.
Но если ему присвоить некоторое значение, то оно срабатывает не по абсолютной величине, а как коэффициент относительно глобальной переменной LTSCALE.
Можно ли в свойствах примитива его масштаб типа линий задать жестко и независимо от глобальной LTSCALE?
Просмотров: 2563
 
Непрочитано 20.04.2017, 11:32
#2
kp+

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


Насколько я понимаю, это должна быть галочка типа "игнорировать глобальный масштаб линий". Насколько мне известно, даже в версии 2017 в базе такого нет (если плохо искал - поправьте). Конечно, есть вариант пользовательских примитивов, но для этого "тяжелая артиллерия", т.е. ObjectARX. Еще можно подумать о "реакторах", но это тоже не из простых путей.
Offtop: На всякий случай осмелюсь поинтересоваться, а зачем вообще нужна такая необычная фишка, как независимый масштаб типа линий?
kp+ вне форума  
 
Непрочитано 20.04.2017, 11:36
#3
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от kp+ Посмотреть сообщение
а зачем вообще нужна такая необычная фишка, как независимый масштаб типа линий?
я так думаю, чтобы между файлами копировать без проблем с отображением.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 20.04.2017, 13:22
#4
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,268


Я так и предполагал что простыми средствами это невозможно.

Цитата:
Сообщение от kp+ Посмотреть сообщение
а зачем вообще нужна такая необычная фишка, как независимый масштаб типа линий?
Цитата:
Сообщение от Bull Посмотреть сообщение
я так думаю, чтобы между файлами копировать без проблем с отображением.
Нет, не для этого.
Случается, что сперва подгонишь масштаб типов линий на каких-то мелких местных участках чертежа. Потом берешься за глобальный масштаб - и тут на мелких участках все "сползает" и приходится там подгонять заново.
Это легко решается при оформлении в листе, но иногда требуется подготовить чертеж полностью в модели.
Pilot вне форума  
 
Непрочитано 20.04.2017, 13:49
#5
Кулик Алексей aka kpblc
Moderator

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


А нечего трогать глобальный масштаб!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.04.2017, 14:21
#6
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,268


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А нечего трогать глобальный масштаб!
Правильно. А соотв. переменную изъять из Автокада чтоб неповадно было.
Pilot вне форума  
 
Непрочитано 20.04.2017, 15:40
1 | #7
kp+

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


Цитата:
Сообщение от Pilot Посмотреть сообщение
Случается, что сперва подгонишь масштаб типов линий на каких-то мелких местных участках чертежа
когда-то написал такую "подогнялку масштаба". Уменьшает масштаб типа линии для коротких объектов, которые из-за малой длины отображаются непрерывной линией, так, чтобы "узор" показывался один раз.
Выкладываю как есть, хоть написано низким штилем без защит и проверок.
Адекватно работает только для линий (LINE)
Код:
[Выделить все]
 (defun c:ltpl (/ LEN LTP_L LTP_S SS TICKS)
  (setq ss (ssget ))
  (setq ticks (ssnamex ss))
  (setq ticks (mapcar 'cadr ticks));
  (setq ticks (vl-remove-if-not '(lambda (x) (eq (type x) 'ENAME)) ticks))
  (setq ticks (mapcar 'vlax-ename->vla-object ticks))
  (setq ss nil)


  (foreach a ticks
	(setq ltp_l (cdr (assoc 40 (tblsearch "LTYPE" (vla-get-linetype a)))));длина одного повтора узора линии
	(setq ltp_s (vla-get-LinetypeScale a))

	(setq len (vlax-curve-getDistAtPoint a (vlax-curve-getEndPoint a)))

	(if (< len (* ltp_l ltp_s)) (vla-put-linetypescale a (* 0.99(/ len ltp_l))))
  )
)	 
kp+ вне форума  
 
Автор темы   Непрочитано 20.04.2017, 16:00
#8
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,268


kp+, спасибо, при случае обязательно попробую применить.
А то что только для линий - так достаточно, прочим типам это реже нужно, их можно и руками.
Pilot вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Можно ли жестко закрепить масштаб типов линий в свойствах примитива?

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка отображения типа линий при заданном масштабе типа линий и длине примитива kp+ LISP 8 13.06.2016 18:00
Масштаб линий в видовых экранах esp1413 AutoCAD 2 23.03.2015 15:45
Viewport изменяет масштаб линий 1969 AutoCAD 1 27.11.2014 16:53
Масштаб линий Яна55107 AutoCAD 40 14.09.2011 22:32
Разные толщины линий на чертеже при абсолютно одинаковых свойствах. Анечка К AutoCAD 11 30.09.2010 18:42