「Vla-add3dmesh」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-add3dmesh ''vla-object'' '''' '''' '''') ; 機能 : M および N 方向の点の数と、M および N 方向の点の座標を指定し...」) |
細編集の要約なし |
||
1行目: | 1行目: | ||
{{AutoLISP}} | {{AutoLISP}} | ||
; 構文 | ; 構文 | ||
: (vla-add3dmesh ''vla-object'' '''' '''' '''') | : (vla-add3dmesh ''vla-object'' ''M'' ''N'' ''PointsMatrix'') | ||
2015年6月15日 (月) 17:30時点における最新版
- 構文
- (vla-add3dmesh vla-object M N PointsMatrix)
- 機能
- M および N 方向の点の数と、M および N 方向の点の座標を指定して、自由形状の 3D メッシュを作成する。
- 引数
-
- vla-object … VLAオブジェクト
- M … 点配列の次元。M および N 方向のメッシュのサイズは、2 から 256 までに制限される。
- N … 点配列の次元。M および N 方向のメッシュのサイズは、2 から 256 までに制限される。
- PointsMatrix … 3D WCS 座標の M x N 配列。頂点は、座標(0,0)から開始しする。M 行に含まれる各頂点の座標位置を指定してから、M + 1 行の頂点を指定する。
- 戻り値
- 3D メッシュのVLAオブジェクト
- 注意
- 各頂点間の距離は自由。
- PolygonMesh は、常に M 方向と N 方向の両方に開いている。作成したメッシュは、PolygonMesh オブジェクトの MClose プロパティと NClose プロパティを使用すれば、閉じることができる。
- PolygonMesh は、常に単純なメッシュとして作成される。作成後、Type プロパティを使用してメッシュをスムージングすることができる。
- サンプル
(vl-load-com) (defun c:Example_Add3DMesh() ;; この例では、モデル空間内の 4x4 polygonmesh を作成 (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; ポイントのマトリックスを作成 (setq points (vlax-make-safearray vlax-vbDouble '(0 . 47))) (vlax-safearray-fill points '(0 0 0 2 0 1 4 0 0 6 0 1 0 2 0 2 2 1 4 2 0 6 2 1 0 4 0 2 4 1 4 4 0 6 4 0 0 6 0 2 6 1 4 6 0 6 6 0 ) ) (setq mSize 4 nSize 4) ;; 3Dmesh をモデルに追加 (setq modelSpace (vla-get-ModelSpace doc)) (setq meshObj (vla-Add3DMesh modelSpace mSize nSize points)) ;; より良い polygonmesh を見るためにビューポートの視線方向を変更する。 (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) )
関連事項