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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > acad profil - lisp

acad profil - lisp

Ответ
Поиск в этой теме
Непрочитано 15.11.2004, 16:58 #1
acad profil - lisp
Apelsinov
 
Проектировщик ВК. LISP-любитель.
 
Москва
Регистрация: 15.12.2003
Сообщений: 1,190

Подскажите, как загрузить имеющийся профиль в акад с помощью лиспа? С проверкой на наличие этого профиля.
Просмотров: 1977
 
Непрочитано 15.11.2004, 17:46
#2
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Вот набор функций сделаный для ruCAD:
Код:
[Выделить все]
(defun ru-menu-set-profile (name force)
  (setq name (strcase name))
  (if (and (numberp
	     (vl-position name (mapcar 'strcase (ru-menu-get-profiles-names)))
	   ) ;_ end of numberp
	   (or force
	       (/= name (strcase (ru-menu-get-profile-activename)))
	   ) ;_ end of or
      ) ;_ end of and
    (vla-put-activeprofile (ru-menu-get-profiles) name)
  ) ;_ end of if
) ;_ end of defun

(defun ru-menu-get-profile-activename ()
  (vla-get-ActiveProfile (ru-menu-get-profiles))
) ;_ end of defun

(defun ru-menu-get-profiles-names ( / tmp)
  (vla-GetAllProfileNames (ru-menu-get-profiles) 'tmp)
  (vlax-safearray->list tmp)
) ;_ end of defun

(defun ru-menu-new-profile (name / profs)
  (setq profs (ru-menu-get-profiles))
  (vla-CopyProfile profs (vla-get-ActiveProfile profs) name)
  (vla-put-ActiveProfile profs name)
) ;_ end of defun

(defun ru-menu-get-profiles ()
  (vla-get-profiles
    (vla-get-preferences (vlax-get-acad-object))
  ) ;_ end of vla-get-Profiles
) ;_ end of defun
Вызов:
Код:
[Выделить все]
(ru-menu-set-profile <имя профиля> <игнорировать активный>)
включить имеющийся
или
Код:
[Выделить все]
(ru-menu-new-profile <имя профиля>)
создать новый

Если что-нибудь из функций "недоложил" - скажи.
Alaspher вне форума  
 
Автор темы   Непрочитано 16.11.2004, 15:37
#3
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,190
<phrase 1=


>Alaspher, Большое спасибо!
Все есть, все работает. Это то что было нужно.
Apelsinov вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > acad profil - lisp

Размещение рекламы