Vla-add3dface

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月2日 (月) 21:49時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-add3dface ''vla-object'' ''Point1'' ''Point2'' ''Point3'' [ ''Point4'' ]) ; 機能 : 4 つの頂点を指定して、3DFace オブジェ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-add3dface vla-object Point1 Point2 Point3 [ Point4 ])


機能
4 つの頂点を指定して、3DFace オブジェクトを作成する。


引数
  • vla-object … VLAオブジェクト(Block、ModelSpace、PaperSpace)
  • Point1 … 3DFace オブジェクト上の点を指定する 3D WCS 座標。
  • Point2 … 3DFace オブジェクト上の点を指定する 3D WCS 座標。
  • Point3 … 3DFace オブジェクト上の点を指定する 3D WCS 座標。
  • Point4 … 3DFace オブジェクト上の点を指定する 3D WCS 座標。省略すると、この点は Point3 の座標と同じ値になり、3 つの辺を持つ面を作成する。


戻り値
新しく作成される 3DFace オブジェクト。


注意
  • 3 つの辺を持つ面を作成する場合、最後の点は必要ない。vla-setinvisibleedge メソッドを使用して、エッジの表示を設定する。
  • 各点を時計回り、または反時計回りで順番に入力して 3DFace オブジェクトを作成する。直前に作成した面の最後の 2 点を、新たに追加する面の最初の 2 点として指定すれば、隣接する面をいくつも作成することができる。


サンプル
(vl-load-com)
(defun c:Example_Add3DFace()
    ;; モデル空間に 3D face を作成するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; 3D FACE の4つの座標を定義
    (setq point1 (vlax-3d-point 0 0 0)
          point2 (vlax-3d-point 5 0 1)
          point3 (vlax-3d-point 5 10 1)
          point4 (vlax-3d-point 0 10 0))
    
    ;; 3D FACE のをモデルに追加
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq faceObj (vla-Add3DFace modelSpace point1 point2 point3 point4))
    (vla-ZoomAll acadObj)
)

関連事項