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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как установить свойство "Одинаковый масштаб" для блока?

Как установить свойство "Одинаковый масштаб" для блока?

Ответ
Поиск в этой теме
Непрочитано 16.04.2021, 10:52 #1
Как установить свойство "Одинаковый масштаб" для блока?
valerik88
 
Регистрация: 02.07.2016
Сообщений: 249

В окне редактирования блока в свойствах можно установить "Одинаковый масштаб", тогда масштаб по всем осям всегда будет один и тот же.

При установки этого свойства, в дампе блока меняется свойство
ScaleFactors/UniformScale (type: double) (LocalName: Масштаб) = 1.000000

Пытаюсь изменить его двумя способами, через vlax-put-property и через setpropertyvalue ни один не работает:
Код:
[Выделить все]
 (setq entBlockDefinition (tblobjname "block" "мой блок"))   
 (setq objBlockDefinition (vlax-ename->vla-object entBlockDefinition))
    
 (vlax-put-property objBlockDefinition "ScaleFactors/UniformScale" 1)
 (setpropertyvalue entBlockDefinition "ScaleFactors/UniformScale" 1)

Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 22
Размер:	6.7 Кб
ID:	236331  

Просмотров: 5044
 
Непрочитано 16.04.2021, 10:57
#2
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,680


определение блока и его вхождение это не одно и то же. как-то масштаба не должно быть в определении блока по логике.
koMon вне форума  
 
Автор темы   Непрочитано 16.04.2021, 11:05
#3
valerik88


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


Может свойство как-то по другому называется... Может это не ScaleFactors/UniformScale, а что-то другое. В свойствах при редактировании блока ведь оно есть.
valerik88 вне форума  
 
Непрочитано 16.04.2021, 11:42
2 | #4
kacugu

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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
Может свойство как-то по другому называется
Поищите
Код:
[Выделить все]
 (vla-put-BlockScaling block acUniform)
kacugu вне форума  
 
Непрочитано 16.04.2021, 11:47
#5
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


может (vla-put-BlockScaling <blkDefObj> :vlax-true) поможет?
Хотя может и не :vlax-true, а 1. А может надо напрямую писать (vla-put-BlockScaling <blkDefObj> acUniform)
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 16.04.2021, 12:15
#6
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,680


Нажмите на изображение для увеличения
Название: BlockScaling.jpg
Просмотров: 41
Размер:	157.5 Кб
ID:	236338
koMon вне форума  
 
Автор темы   Непрочитано 16.04.2021, 14:37
#7
valerik88


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


Цитата:
Сообщение от kacugu Посмотреть сообщение
Поищите
Код:
[Выделить все]
 (vla-put-BlockScaling block acUniform)
Чёт не работает у меня эта команда, выдаёт ошибку
; ошибка: ActiveX Server возвратил ошибку: неизвестное имя: BlockScaling
Autocad 2021


А, нет, всё супер. Всё работает. Просто определение блока не так получал. Так правильно:
Код:
[Выделить все]
 (setq ent (car (entsel)))
;; get the block definition ename
(setq block (cdr (assoc 330 (entget (tblobjname "block" (cdr (assoc 2 (entget ent))))))))
;; convert the ename into a vla-object
(setq block (vlax-ename->vla-object block))
;; set the BlockScaling of the block definition
(vla-put-BlockScaling block acUniform)
valerik88 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как установить свойство "Одинаковый масштаб" для блока?

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не обновляются поля, являющиеся ссылками на атрибуты блока. Как исправить? bobrovantig AutoCAD 14 14.03.2017 21:48
Как сделать чтоб параметры динамического блока не менялись при изменении аннотативного масштаба блока? kurstep Динамические блоки 15 13.01.2017 22:52
свойство динамичного блока в его атрибуте Pave1 AutoCAD 14 29.12.2011 20:31
C# .net переопределение динамического блока из внешнего файла bargool .NET 35 18.10.2011 16:03
Изменение параметров дин блока ch-viktor Программирование 5 23.05.2008 21:38