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

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

Изменение шага массива динамического блока

Ответ
Поиск в этой теме
Непрочитано 25.03.2017, 17:59 #1
Изменение шага массива динамического блока
konservnii
 
Регистрация: 23.08.2016
Сообщений: 14

Перечитал не один форум по этому вопросу, понял что решить это обычными средствами автокада невозможно(про видимость не пишу, потому как при большом количестве вариаций это очень трудоемко). Лишь с помощью маштабирования блока по одной из осей координат, но при этом все элементы (и текст тоже масштабируется, что не хотелось бы)

Появилась идея. Можно ли как нибудь из пространства модели при помощи лиспа изменить это свойство массива: "Между столбцами".
получается чтобы это реализовать нужно как-то узнать id самого параметра (массива), и id свойства этого массива ("Между столбцами"), а потом каким-то образом их изменить из вне. При помощи лиспа??...

Миниатюры
Нажмите на изображение для увеличения
Название: 23232.JPG
Просмотров: 109
Размер:	90.5 Кб
ID:	185632  

Просмотров: 3335
 
Непрочитано 28.03.2017, 11:11
1 | #2
valerik88


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


Как-то так
Код:
[Выделить все]
 (setq e (car (entsel)))
(setq strBlockName (vla-get-effectivename (vlax-ename->vla-object e)))

(command "_BEDIT" strBlockName)
(setq sel (ssget "_x" '((0 . "*ArrayActionEntity"))))
(setq n (ssname sel 0))
(setq vla  (vlax-ename->vla-object n))

;ColumnOffset или RowOffset
(vlax-put-property vla "ColumnOffset" 20)
(command "_BCLOSE" "С")
В конце команда (command "_BCLOSE" "С") Буква C - Русская от слова Сохранить, как там в английском варианте я не знаю даже, пробовал S - не подходит.
Пример работает если в блоке только один атрибут массива

Последний раз редактировалось valerik88, 28.03.2017 в 11:19.
valerik88 вне форума  
 
Непрочитано 28.03.2017, 11:49
#3
frostmourn


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


Цитата:
Сообщение от konservnii Посмотреть сообщение
??...
А что бы динамический массив не использовать?
frostmourn вне форума  
 
Непрочитано 30.03.2017, 21:33
1 | #4
VVA

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


Цитата:
Сообщение от valerik88 Посмотреть сообщение
пробовал S - не подходит.
Почитай 1-й абзац статьи Пространство модели и пространство листа для двухмерного черчения
Код:
[Выделить все]
(command "_BCLOSE" "_S")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Изменение шага массива динамического блока

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить все состояние видимостей динамического блока? prajdziswet LISP 6 18.11.2021 21:30
Нужна помощь при вставке динамического блока [email protected] LISP 4 17.06.2016 10:53
Изменение элементов динамического блока Kuznetsov R. Динамические блоки 6 06.05.2014 08:43
Высотная отметка в атрибуте динамического блока Isuma Динамические блоки 12 24.04.2014 13:16
При изменении масштаба динамического блока пропадает параметр remlin Динамические блоки 2 30.03.2014 16:55