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

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

Как задать толщину?

Ответ
Поиск в этой теме
Непрочитано 05.05.2004, 11:27 #1
Как задать толщину?
valery
 
Сообщений: n/a

Как записать, чтобы программно задавалась толщина линии прямоугольника без дополнительного обращения к окну свойств? Именно толщина - thickness, а не вес. Установка ( setvar "THICKNESS" 3000 ) на прямоугольник. сплайн и эллипс не действует.
Спасибо.
[email protected]
Просмотров: 4462
 
Непрочитано 05.05.2004, 14:28
#2
Pilot

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


thickness или width ?
Первое - толщина по оси Z
Второе - именно толщина в плане.

Код:
[Выделить все]
Thickness

Specifies the thickness of the rectangle.

Specify thickness for rectangles <current>:  Specify a distance or press ENTER 

The value becomes the current thickness for subsequent RECTANG commands.

Width

Specifies the polyline width of the rectangle to be drawn.

Specify line width for rectangles <current>:  Specify a distance or press ENTER 

The value becomes the current polyline width for subsequent RECTANG commands.
Pilot вне форума  
 
Непрочитано 05.05.2004, 14:47
#3
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Свойства Thickness у эллипса и сплайна нет. Для полилинии, отрезка и окружности - в описании примитива это группа 39, ее и нужно менять на необходимое значение (39 . 3000.0).
(entget(car(entsel))) - можно вытащить описание выбираемого примитива.
Затем в описании изменить значение группы 39.
Изменить примитив.
KSI вне форума  
 
Непрочитано 05.05.2004, 15:42
#4
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Вот на скорую руку без проверки типа объекта. Для полилиний действует всегда. Можно изменять thickness и у отрезков и окружностей, если исходное значение не 0. Команду NTHICK можно заменить на любую удобоваримую.

(defun C:NTHICK ()
(setq id_prim (car (entsel)))
(setq new_thick (getreal "\nВведите новую толщину: "))
(while (/= id_prim nil)
(setq list_prim (entget id_prim))
(setq list_prim (subst (cons 39 new_thick) (assoc 39 list_prim) list_prim))
(entmod list_prim)
(setq id_prim (car (entsel)))
)
)

Для отрезков и окружностей необходимо группу 39 добавлять, если исходное значение было 0.
KSI вне форума  
 
Непрочитано 05.05.2004, 17:45
#5
Pilot

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


Если я правильно понял valery, то он хочет сразу рисовать толстые прямоугольники, а не изменять их толщину после отрисовки. Так?
Pilot вне форума  
 
Непрочитано 05.05.2004, 18:43
#6
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Кстати, а действительно, почему при любом установленном значении переменной Thickness, полилиния (даже замкнутая) и многоугольник отрисовывается с учетом Thickness, а команда прямоугольник это значение игнорирует.
KSI вне форума  
 
Непрочитано 05.05.2004, 20:59
#7
Arkady

AutoCad Development and Support
 
Регистрация: 21.08.2003
Israel
Сообщений: 183
Отправить сообщение для Arkady с помощью Skype™


Если запустить команду прямоугольник из командной строки,
Rectangle (Rec) - то можно видеть ,что то в ней есть своя опция Thickness.
Arkady вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как задать толщину?

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

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