本帖最后由 作者 于 2008-11-23 12:59:16 编辑
(defun AddBlock (blk_name insertpoint blk_ss / ACADDOCUMENT BLK BLK_NAME BLK_SS BLOCKLIST INDEX MODELSPACE NUMBER SELECTIONSETOBJS ) (setq AcadDocument (vla-get-activeDocument (vlax-get-acad-object)) ModelSpace (vla-get-Modelspace AcadDocument) ) (if (= (getvar "worlducs") 0) (setq insertpoint (trans insertpoint 1 0)) ) (setq insertpoint (vlax-3d-point insertpoint)) (setq number (sslength blk_ss)) (setq blocklist (vla-get-blocks AcadDocument)) (setq blk (vla-add blocklist insertpoint blk_name)) ;;定義圖塊 (setq SelectionSetObjs (vlax-make-safearray vlax-vbobject (cons 0 (- number 1)))) (defun item (blk_ss index) (vlax-ename->vla-object (ssname blk_ss index)) ) (setq index 0) (repeat number ;;把選擇集的物體加入到圖塊 (vlax-safearray-put-element SelectionSetObjs index (item blk_ss index)) (setq index (1+ index)) ) (vla-copyobjects AcadDocument SelectionSetObjs blk) (vla-insertblock ModelSpace insertpoint (vlax-get-property blk 'name) 1 1 1 0) (vl-cmdf ".erase" blk_ss "") )
請教高手 用這個程序生成的塊為什麼不能修剪通過塊的實體。如下圖 ![](file:///C:/Documents%20and%20Settings/sy007/桌面/blk.jpg)
用TRIM命令修剪時會出現下面的提示 指令: tr TRIM 目前的設定: 投影=UCS 邊緣=無 選擇修剪邊緣 ... 請高手教一下我 ,先謝了 |