2017-02-17 36 views
0

我嘗試保存dwg文檔,但僅限於選定的對象,我知道我可以使用wblock命令,但我只需要使用ssget和saveas命令。另存爲選定對象dwg格式

(setq selection(ssget))

任何已知的選項?

回答

0

如果要使用SAVEAS命令,必須在調用SAVEAS之前從圖形中刪除所有未選定的對象。 您必須記住AutoLISP在文檔上下文中運行,因此只要SAVEAS命令銷燬當前文檔,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) 
)