Vla-checkinterference
- 構文
- (vla-checkinterference vla-object1 vla-object2 CreateInterferenceSolid SolidsInterfere)
- 機能
- 2 つのソリッド間の干渉をチェックし、指定があれば干渉からソリッドを作成する。
- 引数
-
- vla-object1 … メソッドが適用されるソリッドの VLA オブジェクト
- vla-object2 … メソッドが適用されるソリッドの VLA オブジェクト
- CreateInterferenceSolid … ブール型 :vlax-True: 干渉ソリッドを作成する。、:vlax-False: 干渉ソリッドを作成しない。
- SolidsInterfere … ソリッドが干渉するかしないか。:vlax-true :干渉する、:vlax-False: 干渉しない。
- 戻り値
- CreateInterferenceSolid が :vlax-True の時、作成されたソリッド図形の VLAオブジェクト
- サンプル
(vl-load-com) (defun c:Example_CheckInterference() ;; ボックス と 円柱をモデルに作成する ;; 次に、2つの固体との間の干渉を検出して干渉から新しいソリッドを作成。 (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) ;; 見やすくするために、ボックスの色を変える。 (setq color (vlax-create-object "AutoCAD.AcCmColor.20")) (setq boxCenter (vlax-3d-point 5 5 0) boxLength 10 boxWidth 7 boxHeight 10) ;; box (3DSolid) をモデル空間に作成 (setq modelSpace (vla-get-ModelSpace doc)) (setq boxObj (vla-AddBox modelSpace boxCenter boxLength boxWidth boxHeight)) (vla-SetRGB color 80 100 244) (vla-put-TrueColor boxObj color) ;; Define the cylinder (setq cylinderCenter (vlax-3d-point 0 0 0) cylinderRadius 5 cylinderHeight 20) ;; Cylinder (3DSolid) をモデル空間に作成 (setq cylinderObj (vla-AddCylinder modelSpace cylinderCenter cylinderRadius cylinderHeight)) (vla-SetRGB color 244 150 50) (vla-put-TrueColor cylinderObj color) ;; 作成した2ソリッドの干渉をチェックして干渉から新しいソリッドを作成 (setq solidObj (vla-CheckInterference boxObj cylinderObj :vlax-true :vlax-true)) (vla-SetRGB color 200 150 244) (vla-put-TrueColor solidObj color) ;; ビューポートを更新 (setq NewDirection (vlax-3d-point -1 -1 1)) (setq activeViewport (vla-get-ActiveViewport doc)) (vla-put-Direction activeViewport NewDirection) (vla-put-ActiveViewport doc activeViewport) (vla-ZoomAll (vlax-get-acad-object)) ;; ボックスと干渉固体をより明確に表示する シリンダーを削除。 (vlax-release-object color) )
関連事項