Сохранить как выбранные объекты в формате dwg

Я пытаюсь сохранить документ dwg, но только с выбранным объектом, я знаю, что могу использовать команду wblock, но мне нужно использовать только команду ssget и saveas.

(setq выбор (ssget))

Кто-нибудь знает какие-нибудь варианты?


person Hugo Deudor    schedule 17.02.2017    source источник


Ответы (1)


Если вы хотите использовать команду СОХРАНИТЬКАК, вы должны удалить все невыбранные объекты с чертежа перед вызовом СОХРАНИТЬКАК. Вы должны иметь в виду, что AutoLISP работает в контексте документа, поэтому процедура LISP завершится, как только команда СОХРАНИТЬКАК уничтожит текущий документ.

(defun c:foo (/ s1 s2 i)
  (if (setq s1 (ssget))
    (progn
      (setq s2 (ssget "_X"))
      (repeat (setq i (sslength s1))
        (ssdel (ssname s1 (setq i (1- i))) s2)
      )
      (repeat (setq i (sslength s2))
        (entdel (ssname s2 (setq i (1- i))))
      )
      (command "_.saveas"
               ""
               (strcat
                 "C:\\Temp\\DrawingFromSelection_"
                 (menucmd "M=$(edtime,$(getvar,date),YYYYMMDD-HHMMSS)")
               )
      )
    )
  )
  (princ)
)
person gileCAD    schedule 17.02.2017