close

AutoCAD 自訂多重掃掠 SweepM

發表 由 Tiger&蘋果爸 于 周一 16 五月 - 16:31

自AutoCAD 2007版本加入 SWEEP掃掠 功能後,在3D建模上幫助真的很大~
但是比較遺憾的是不支援多重選取,所以當路徑越多就得一條一條的選取!
因為工作上建模時需要多重選取,所以寫了簡單的程式滿足工作需求,在此也和各位分享!
代碼:
(DEFUN C:SweepM ()
  (COMMAND "UNDO" "BE")
  (SETVAR "CMDECHO" 0)
  (SETQ OLAYER (GETVAR "CLAYER"))
  (SETQ ODELOBJ (GETVAR "DELOBJ"))
  (SETVAR "DELOBJ" 0)
  (setq ENT (entsel "\n選取要掃掠的物件:"))
  (IF (= ENT nil) (PROMPT "\n未選取掃掠物件...")
    )
  (setq ENTL (cdr (assoc 8 (entget (car ENT)))))
  (setvar "CLAYER" ENTL)
  (PROMPT "\n選取掃掠路徑:")
  (SETQ SS (SSGET)
        N 0)
  (REPEAT (SSLENGTH SS)
    (SETQ EN (SSNAME SS N))
  (COMMAND "SWEEP" ENT "" EN)
    (SETQ N (1+ N))
    )
  (PROMPT (strcat "\n共有" (itoa (sslength ss)) "條路徑完成掃掠動作"))
  (SETVAR "CLAYER" OLDLAYER)
  (SETVAR "DELOBJ" ODELOBJ)
  (COMMAND "UNDO" "E")
  (PRIN1)
)


另外也補充影片的相關操作,有問題請直接提出來討論~
關於操作步驟有二種方法,請依照你的需求來使用!

方法1:
輸入SWEEPM指令 >> 選擇掃略的物件(可以是聚合線、圓、面域) >> 選擇掃略路徑(多重選取) >> 按ENTER結束選取 >> 完成

方法2:(適用2011以上版本)
先 碰選任一條路徑 >> 按滑鼠右鍵 >> 選取類似物件 >> 輸入SWEEPM指令 >> 選擇掃略的物件 >> 接著輸入P(前次選集) >> 按ENTER結束選取 >> 完成

*選取類似物件 SelectSimilar指令



補充:關於擠出物件方向性,通常我都是使用圓管建模,這部份就沒有影響~
若是使用其他斷面(如H型鋼),可能就要先測好是不是要的結果,最後再一次性多重掃略~


Tiger&蘋果爸 在 周三 3 10月 - 9:13 作了第 4 次修改
arrow
arrow
    全站熱搜

    Estar007 發表在 痞客邦 留言(0) 人氣()