Vla-sectionsolid

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月17日 (日) 23:59時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-sectionsolid ''vla-object'' ''Point1'' ''Point2'' ''Point3'') ; 機能 : 3 つの点で定義される平面とソリッドとの交点を...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-sectionsolid vla-object Point1 Point2 Point3)


機能
3 つの点で定義される平面とソリッドとの交点を示すリージョンを作成する。


引数
  • vla-object … 3DSolid の VLAオブジェクト
  • Point1 … 1 番目の点を指定する 3D WCS 座標。
  • Point2 … 2 番目の点を指定する 3D WCS 座標。
  • Point3 … 3 番目の点を指定する 3D WCS 座標。


戻り値
Region 実行結果の断面が、リージョンとして返される。



サンプル
(vl-load-com)
(defun c:Example_SectionSolid()
    ;; モデル空間内のボックスを作成する。
    ;; 三点によって定義される平面に基づいて、その後のセクションボックス。セクションでは、地域として返される。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; ボックスの定義
    (setq center (vlax-3d-point 5 5 0)
          boxLength 5
	         boxWidth 7
	         boxHeight 10)
    
    ;; 3DSolidを作成
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq boxObj (vla-AddBox modelSpace center boxLength boxWidth boxHeight))
    
    ;; 三点で断面平面の定義
    (setq sectionPt1 (vlax-3d-point 1.5 7.5 0)
          sectionPt2 (vlax-3d-point 1.5 7.5 10)
          sectionPt3 (vlax-3d-point 8.5 2.5 10))
    
    ;; ボックスを作成
    (setq sectionObj (vla-SectionSolid boxObj sectionPt1 sectionPt2 sectionPt3))
    
    ;; ビューポートの表示方向を変更
    (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 acadObj)
)

関連事項