AutoCAD - DIRECTUM из командной строки

4 0

Как выполнить сценарий 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.

Отредактировал Александр Павлов, 19.07.2013 в 10:05
Отредактировал Елена Питомцева, 22.07.2013 в 13:39
Отредактировал Алексей Язынин, 22.07.2013 в 16:58
4
Авторизуйтесь, чтобы оценить материал.
Пока комментариев нет.

Авторизуйтесь, чтобы написать комментарий