ADN Club > Адаптация Civil 3D

Импорт стилей и настроек CIVIL3D LISP

<< < (3/3)

Алексей Кулик:
В качестве улучшения кода (ну надоело мне работать!)

--- Код - Auto/Visual Lisp [Выбрать] ---(vl-load-com) (defun c:aeccimportstylesandsettings_ra (/ adoc sysvar file)  (if (and (setq file "S:\\Standart\\20181023.dwt") (findfile file) (vl-file-systime file))    (progn (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))           (setq sysvar (vl-remove-if-not (function cdr)                                          (mapcar (function (lambda (x / tmp)                                                              (if (setq tmp (getvar (car x)))                                                                (progn (setvar (car x) (cdr x)) (cons (car x) tmp))                                                                ) ;_ end of if                                                              ) ;_ end of lambda                                                            ) ;_ end of function                                                  '(("sysmon" . 0) ("cmddia" . 0) ("filedia" . 0))                                                  ) ;_ end of mapcar                                          ) ;_ end of vl-remove-if-not                 ) ;_ end of setq           (vl-catch-all-apply             (function (lambda ()                         (command "_textscr")                         (command "_.qsave")                         (command "AECCIMPORTSTYLESANDSETTINGS" file "_Y" " ")                         (command "'_.ZOOM" "_E")                         ) ;_ end of lambda                       ) ;_ end of function             ) ;_ end of vl-catch-all-apply           (foreach item sysvar (setvar (car item) (cdr item)))           (vla-endundomark adoc)           ) ;_ end of progn    (princ (strcat "\nОшибка : файл \"" file "\" не обнаружен либо открыт!"))    ) ;_ end of if  (princ)  ) ;_ end of defun

Александр Панькин:
Благодарю, за ответ.
Я сделал топорно, но работает.
После импорта добавил purgestyles и purge по циклу 3 раза, после это qsave и ещё раз importstylesandsettings, только в таком случае стили, которые ранее были установлены по умолчанию для команд затираются.
Но осталась проблема, если стиль применён к объекту - его не удалить.
Как написать на лисп не знаю, поэтому перед запуском лисп переназначаю стиль объектам, и после лиспа на "ничего" ( он есть и в новом и старом шаблоне), а после обновления возвращаю нужный.
Завтра выложу код и отредактирую это сообщение.

Алексей Кулик:
Сугубо ИМХО.
Работать с вертикальными приложениями из-под лиспа чертовски неудобно. Если есть возможность, переходи на .NET.
P.S. Редактировать пост не надо, зачем?

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии