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

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

Как сделать активным размерный стиль с определенным именем по средством Lisp?

Ответ
Поиск в этой теме
Непрочитано 21.09.2017, 21:03 #1
Как сделать активным размерный стиль с определенным именем по средством Lisp?
no_ideas
 
Регистрация: 21.09.2017
Сообщений: 6

Добрый вечер. Как сделать активным размерный стиль с определенным именем по средством Lisp? С текстовым стилем и со стилем мультивыносок проблем не возникло, а сразмерный переставлять не хочет.

Код:
[Выделить все]
(vl-load-com)
(defun c:STKN (/)
(setvar "TEXTSTYLE" "k100")
(setvar "DIMTSTYLE" "k100")
(setvar "CMLEADERSTYLE" "k100")
) ; end of defun
<...> Один вопрос - одна тема /kpblc/

Последний раз редактировалось Кулик Алексей aka kpblc, 21.09.2017 в 21:23.
Просмотров: 1847
 
Непрочитано 21.09.2017, 21:30
#2
Кулик Алексей aka kpblc
Moderator

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


По-моему, только через ActiveX:
Код:
[Выделить все]
 (vla-put-activedimstyle
  (vla-get-activedocument (vlax-get-acad-object))
  (vla-item (vla-get-dimstyles (vla-get-activedocument (vlax-get-acad-object))) "standard")
  ) ;_ end of vla-put-ActiveDimStyle
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.09.2017, 06:50
1 | #3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Код:
[Выделить все]
(vl-cmdf "_-DIMSTYLE" "_R" "Standard")
Ну, или конкретно:
Код:
[Выделить все]
(vl-cmdf "_-DIMSTYLE" "_R" "k100")

Последний раз редактировалось Profan, 22.09.2017 в 07:01.
Profan вне форума  
 
Автор темы   Непрочитано 22.09.2017, 07:13
#4
no_ideas


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


Сработало. Огромное спасибо. Зачем только они залочили эту переменную, не понятно.
no_ideas вне форума  
 
Непрочитано 27.09.2017, 19:01
#5
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Для начала неплохо бы проверить наличие такого стиля в чертеже
Код:
[Выделить все]
(tblobjname "DIMSTYLE" "k100")
И если его нет, создать или "украсть" из какого-либо своего шаблона.
skkkk вне форума  
 
Непрочитано 27.09.2017, 19:38
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А на фига делать активным размерный стиль, которого нет?
И вообще, для начала надо бы проверить наличие не только размерного стиля, но и текстового стиля, и стиля мультивыноски в текущем чертеже.
Profan вне форума  
 
Непрочитано 27.09.2017, 20:17
#7
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Profan, как это на фига? Ну поработал, допустим, наш "Безыдейный" коллега в текущем чертеже, в котором использовал только что созданную кнопку с активацией размерного стиля. Причем, полагаю, эта активация не самоцель, она - часть программы по удобной отрисовке размеров разными стилями. А потом начался новый проект, и размерного стиля там нет - программа выдаст ошибку. Надо будет создавать стиль или искать его в шаблоне или предыдущем проекте и копировать сюда. Удобно? Не очень.
А проверка наличия текстового стиля и его создание - это уже подзадача в рамках задачи создания размерного (или мультивыносочного). И решения этих задач вместе с подзадачей на форуме имеются.
skkkk вне форума  
 
Непрочитано 27.09.2017, 20:52
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


skkkk, ты усложняешь задачу. Автор темы ведь задал вполне конкретный вопрос про неработающий способ назначения текущим известного размерного стиля. Вместо k100 можно ведь написать и Standard...
Можно, конечно, допустить, что коллега совсем уже лопух и будет пытаться сделать текущими несуществующие слои, цвета, типы линий, веса линий, различные стили и т.п. И быстро получит "по рогам" от AutoCAD'а.
Profan вне форума  
 
Непрочитано 27.09.2017, 20:58
#9
Кулик Алексей aka kpblc
Moderator

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


В порядке оффтопа.
Offtop: Мне не кажется, что skkk "усложняет" задачу. Он, как нормальный программист и немного обезьяна с гранатой (я и сам такой ), пытается предупредить ТС о возможных проблемах, которые тот или не видит, или пока не предусматривает.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.09.2017, 21:39
#10
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Это не Offtop. Просто, расширяя задачу, надо тогда уже иметь не просто кратенькую программу с переназначением системных переменных, а полновесную программу с созданием нужных стилей и проверкой их наличия в текущем чертеже. Так что слово за автором темы. Возможно, он уже все решил и загвоздка была именно в оперативном изменении текущего размерного стиля.
Profan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как сделать активным размерный стиль с определенным именем по средством Lisp?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Обозначения базы и шероховатости не подхватывают размерный стиль (AutoCAD Mechanical 2014 rus) crucian Вертикальные решения на базе AutoCAD 1 05.05.2014 08:39
какой командой из делфи сделать активным окно уже запущенного Autocad2006? tinik_89 Программирование 5 19.01.2010 22:52
Как сделать одинаковый стиль линий в AutoCAD2004 для всех чертежей? Серрый AutoCAD 17 22.10.2009 11:17
Как сделать окно Autocad активным при запуске из VBA Excel? AlexV Программирование 1 20.08.2009 12:40