Как выполнить сценарий DIRECTUM из AutoCAD ?
Сохраняем код в lsp файл, загружаем в AutoCAD. Аспекты работы AutoCAD в данной статье не рассматриваются.
В автокаде в командной строке вызываем команду dopen (или делаем кнопку с этой командой), которая запускает сценарий acad из DIRECTUM (с примером передачи параметра в сценарий).
(defun c:dopen()
(vl-load-com)
(setq my_Obj (vlax-get-or-create-object "SBLogon.LoginPoint"))
(setq app (vlax-invoke-method my_obj "GetApplication" "SystemCode=DIRECTUM" 'T))
(setq app_c (vlax-variant-value app))
(setq con (vlax-get-property app_c "ScriptFactory"))
(setq scrobj (vlax-invoke-method con "GetObjectByName" "acad"))
(setq srcparam (vlax-get-property scrobj "Params"))
(setq scradd (vlax-invoke-method srcparam "Add" "file" "param"))
(vlax-invoke-method scrobj "Execute")
(setq my_Obj nil)
)
Далее разработка ведется уже в DIRECTUM :)
Например, открыть файл dwg из DIRECTUM на редактирования из окна поиска:
param = Sender.Params.ValueByName("file") //получить параметр (для примера)
SearchFactory = Application.SearchFactory
SeachDiscription = SearchFactory.Load('EDOCUMENT_SEARCH')
Criteria = SeachDiscription.SearchCriteria
EditorCriterion = Criteria.Add('ISBEDocEditor')
EditorCriterion.SetCompleteValue('AutoCAD')
EditorCriterion = Criteria.Add('ISBEDocAuthor')
EditorCriterion.SetCompleteValue('Я')
//Показать документы, созданные за последний месяц.
CreatedCriterion = Criteria.Add('ISBEDocCreateDate')
CreatedCriterion.AddRange(Today() - 31; Today())
SeachDiscription.Show(ssmSelect; True)
SelectedFails = SeachDiscription.SelectedContents
if Assigned(SelectedFails)
EDocumentID = SelectedFails.Value.ID
EDocuments.GetObjectByID(EDocumentID).Open(TRUE;-1)
endif
Если у пользователя windows-аутентификация или запущен проводник DIRECTUM, то откроется окно поиска. Если же у пользователя вход в систему по паролю и проводник DIRECTUM не открыт, то появится окно входа в систему один раз на текущий сеанс работы AutoCAD. Проверялось на DIRECTUM 4.9.1, версия AutoCAD может быть любой (за последние 5 лет).
Недавно была опубликованная статья Преобразование чертежей в PDF - преобразовывать в формат pdf лучше в текущем сеансе AutoCAD из открытого документа dwg с обязательным предпросмотром печатаемого pdf. Для автоматизации процесса можно в качестве параметра передавать сценарию имя созданного pdf файла для последующего сохранения новой версии документа в формате PDF.
Авторизуйтесь, чтобы написать комментарий