Vla-appendvertex
- 構文
- (vla-appendvertex vla-object Point)
- 機能
- 3DPolyline、Polyline、PolygonMesh オブジェクトの端点に頂点を追加する。
- 引数
-
- vla-object … 3DPolyline、PolygonMesh、PolylineのVLAオブジェクト
- Point … 追加する頂点を指定する座標。
- PolygonMesh: 追加する頂点の列を指定する 3D WCS 座標。
- 3DPolyline: 追加する頂点を指定する 3D WCS 座標。
- Polyline: 3D 座標。X および Y 座標は OCS で指定され、Z 座標は無視される。
- 戻り値
- nil
- MEMO : PolygonMesh: PolygonMesh オブジェクトの端点に頂点を追加すると、頂点の列を追加することになる。たとえば、4 x 3 の PolygonMesh の場合 12 の頂点定義になるが、頂点を追加すると 5 x 3 のマトリックスになるので、3 つの頂点を新たに追加する必要がある。4 x 3 マトリックスの最後の頂点を次のように仮定する。
頂点(3,0): 6,6,6 頂点(3,1): 7,7,7 頂点(3,2): 8,8,8
この場合、追加される頂点は次のようになる。
頂点(4,0): 10,10,10 頂点(4,1): 10,5,0 頂点(4,2): 10,20,30
Polyline オブジェクトの OCS 座標は、 TranslateCoordinates メソッドを使用して他の座標系との相互変換が可能。
- サンプル
(vl-load-com) (defun c:Example_AppendVertex() ;; ポリラインを作成してから点を追加するサンプル (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; 2D polyline の点 (setq center (vlax-make-safearray vlax-vbDouble '(0 . 14))) (vlax-safearray-fill center '(1 1 0 1 2 0 2 2 0 3 2 0 4 4 0 ) ) ;; lightweight Polyline を生成 (setq modelSpace (vla-get-ModelSpace doc)) (setq plineObj (vla-AddPolyline modelSpace points)) (vla-ZoomAll acadObj) (alert "頂点 4、1、0 を追加します。") (setq newVertex (vlax-3d-point 4 1 0)) (vla-AppendVertex plineObj newVertex) (vla-ZoomAll acadObj) (alert "頂点 4、1、0 を追加しました。") )
関連事項