Тема: А есть что-нибудь для работы с мультилинией кроме AddMLine?
То бишь, VBA позволяет только создать мультилинию по массиву координат или через sendcommand.
А как же создание и управление стилями линии?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → А есть что-нибудь для работы с мультилинией кроме AddMLine?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
То бишь, VBA позволяет только создать мультилинию по массиву координат или через sendcommand.
А как же создание и управление стилями линии?
> Сидор Лютый
К сожалению интерактивно загружать стиль
мультилиний невозможно никак, поскольку при
любых системных переменных нельзя загасить
диалоговое окно стилей
Есть несколько вариантов
- Первый это иметь всегда шаблон чертежа с загруженными
стилями всех мультилиний
- Можно также иметь отдельные рисунки для отдельных
стилей
Потом вставлять рисунок как блок, удалять его
сразу и делать PURGE для этого блока
- Можно загружать на выполнение примерно
такой лисп:
(defun C:demo () ;;;(setvar "CLAYER" "ANNO-ARCH-WALL") (setq MLINE_STYLE_NAME "WALLS" INNER_GAP 0.92 OUTER_GAP 1.04) (if (not (dictadd (cdar (dictsearch (namedobjdict) "ACAD_MLINESTYLE")) MLINE_STYLE_NAME (entmakex (list '(0 . "MLINESTYLE") '(100 . "AcDbMlineStyle") (cons 2 MLINE_STYLE_NAME) '(70 . 0) '(3 . "") '(62 . 256) '(51 . 1.5708) '(52 . 1.5708) '(71 . 4) (cons 49 OUTER_GAP) '(62 . 256) '(6 . "BYLAYER") (cons 49 INNER_GAP) '(62 . 1) '(6 . "BYLAYER") (cons 49 (* -1 INNER_GAP)) '(62 . 1) '(6 . "BYLAYER") (cons 49 (* -1 OUTER_GAP)) '(62 . 256) '(6 . "BYLAYER"))))) (alert "Impossible to create mline style\n perhaps it was exist earlier")) (princ) ) (C:demo)
Алгоритм простой, коды можно посмотреть
в Help / DXF
Альтернативу на VBA пока не придумал :(
Я видел несколько листингов от разных
авторов (не будем упоминать) но у меня почему-то
они не пашут
~'J'~
По-моему, стили мультилиний хранятся в отдельном словаре. Может, в этом направлении покопать?
> Кулик Алексей aka kpblc
А ты эту строчку не видишь?
(dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
Алексей, ну попробуй покопай в этом направлениии,
на тебя все молится будут :)
Успехов
~'J'~
> Fatty
Ну извини, извини. Я заткнулся.
> Кулик Алексей aka kpblc
Алексей, без обид, я ж пошутил :)
~'J'~
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → А есть что-нибудь для работы с мультилинией кроме AddMLine?
Форум работает на PunBB, при поддержке Informer Technologies, Inc