[問題] 新手發問 VBA of AutoCAD

看板Cad_Cae (電腦輔助設計)作者 (toward)時間18年前 (2007/03/17 02:59), 編輯推噓3(306)
留言9則, 2人參與, 最新討論串1/3 (看更多)
需求:欲產生出多個 3D 多面體 方法:先產生出正方體,再利用 SliceSolid 方法切 假設所切的面,都不會切到 原始正方體的中心點, 換句話說,想保留下來的部份都是要包含中心點的那個部份 但是,不知道要如何判斷哪一個部份有包含中心點..... 所以想說中心點也成為一個3D物件 用 CheckInterference 方法,來判斷到底所切出來的兩個部份 哪一個含有中心點 照理來說含有中心點的部份,會回傳物件,但是不知道用什麼函數才能判斷 是否有回傳物件...... Sub MySub() Dim ccObj As Acad3DSolid Dim boxObj As Acad3DSolid Dim sliceObj As Acad3DSolid center(0) = 11.12: center(1) = 5.56: center(2) = 1.11 '建立中心點物件 Set ccObj = ThisDrawing.ModelSpace.AddBox(center, 0.001, 0.001, 0.001) '建立正方體 Set boxObj = ThisDrawing.ModelSpace.AddBox(center, 5.45, 5.45, 5.45) sp1(0) = 10.74: sp1(1) = 4.22: sp1(2) = 0.52 sp2(0) = 9.75: sp2(1) = 5.92: sp2(2) = 0.14 sp3(0) = 12.48: sp3(1) = 5.2: sp3(2) = 0.36 '進行切割 Set sliceObj = boxObj.SliceSolid(sp1, sp2, sp3, True) Dim tmp1 As Acad3DSolid Dim tmp2 As Acad3DSolid '判斷中心點物件ccObj 是否與boxObj 有重疊的部份,有則傳回重疊的部份 Set tmp1 = boxObj.CheckInterference(ccObj, True) '同理 Set tmp2 = sliceObj.CheckInterference(ccObj, True) ' 問題來了,要怎樣判斷哪一個物件裡面有實體物件 ' 請問有什麼函數可以判斷嗎? ' ' 或是各位有更好的判斷方法呢???? End Sub 感謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.5.141

03/17 07:55, , 1F
請問你學 AutoCAD VBA, 採用哪一本中文或英文書?麻煩介紹
03/17 07:55, 1F

03/17 13:51, , 2F
1. AutoCad 2000 activeX與VBA開發人員手冊
03/17 13:51, 2F

03/17 13:53, , 3F
2. AutoCad 2000 activeX與VBA參考手冊
03/17 13:53, 3F

03/17 13:55, , 4F
1 就像一本入門書,教你如何進入VBA 介紹各個物件的層級
03/17 13:55, 4F

03/17 13:56, , 5F
2 就像 msdn 而且每一個method都有不錯的example
03/17 13:56, 5F

03/17 13:57, , 6F
2不用買,因為進到VBA的環境中,按F1就有完整說明
03/17 13:57, 6F

03/17 14:00, , 7F
不管是 AutoCad ActiveX and VBA Reference
03/17 14:00, 7F

03/17 14:02, , 8F
或是 Visual Basic 語法說明...兩者都很完整
03/17 14:02, 8F

03/17 22:23, , 9F
謝謝!等我看一看,再跟你討論
03/17 22:23, 9F
文章代碼(AID): #15-kaGRg (Cad_Cae)
文章代碼(AID): #15-kaGRg (Cad_Cae)