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

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

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

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

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

При установки этого свойства, в дампе блока меняется свойство
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
Просмотров: 9
Размер:	6.7 Кб
ID:	236331  

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


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


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


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


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

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


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

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 459
<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,014


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


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


Цитата:
Сообщение от 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