Сообщество программистов Autodesk в СНГ

ADN Club => VBA => Тема начата: dmitrykit от 18-12-2016, 19:48:47

Название: COM DxfOut
Отправлено: dmitrykit от 18-12-2016, 19:48:47
Добрый день.
Пишу на PERL. подключаюсь через позднее связывание.

и собственно вопрос возможно ли както через COM добраться до данных методов.
Название: Re: COM DxfOut
Отправлено: Александр Ривилис от 18-12-2016, 19:55:02
и собственно вопрос возможно ли както через COM добраться до данных методов.
Код - Visual Basic [Выбрать]
  1. Document.Export FileName, Extension, SelectionSet
где Extension = "DXF"
Название: Re: COM DxfOut
Отправлено: dmitrykit от 18-12-2016, 20:59:29
Александр спасибо.
но как быть если сохранить необходимо только часть чертежа


SelectionSet

SelectionSet object; input-only
For WMF, SAT, and BMP formats, the selection set specifies the objects to be exported. For EPS and DXF formats, the selection set is ignored and the entire drawing is exported.

Название: Re: COM DxfOut
Отправлено: Александр Ривилис от 18-12-2016, 21:22:14
Первое, что приходит на ум - воспользоваться методом Wblock для сохранения выбранных примитивов в dwg-файл, затем его нужно открыть и воспользоваться или методом Export или SaveAs в один из форматов dxf. Еще один вариант - воспользоваться методом Sendcommand "(command "_dxfout" "путь к файлу.dxf") " - в этом варианте возможно задание объектов (опция "_o"), но это не так просто сделать из VBA.
Название: Re: COM DxfOut
Отправлено: dmitrykit от 18-12-2016, 21:46:05
Пробую в командной строке dxfout, но непредлагаются опции.

выбрать обьекты через handent былобы наверно несложно.


а на лисп это нельзя реализовать?

p.s autocad2014
Название: Re: COM DxfOut
Отправлено: Александр Ривилис от 18-12-2016, 22:31:22
Пробую в командной строке dxfout, но непредлагаются опции.
Попробуй в командной строке:
(command "_dxfout")
Название: Re: COM DxfOut
Отправлено: Александр Ривилис от 18-12-2016, 22:45:33
а на лисп это нельзя реализовать?
Можно:

Код - Auto/Visual Lisp [Выбрать]
  1. (defun mydxfout (path ss)
  2.   (command "_dxfout" path "_o" ss "" "")
  3.   (princ)
  4. )

Запускать в виде:
(mydxfout "путь_к_dxf_файлу.dxf" (ssget))
Название: Re: COM DxfOut
Отправлено: dmitrykit от 18-12-2016, 22:54:07
Александр спасибо, буду пробывать