Vla-get-mdensity
- 構文
- (vla-get-mdensity vla-object )
- 機能
- ポリメッシュの M 方向におけるサーフェス密度を取得する。
- 引数
-
- vla-object … PolygonMesh の VLAオブジェクト
- 戻り値
- M 方向におけるサーフェス密度。2~256 の整数
- M サーフェス密度は、次のタイプのポリメッシュ オブジェクトの M 方向の頂点の数。acQuadSurfaceMesh、acCubicSurfaceMesh、acBezierSurfaceMesh。
- このプロパティの初期値は、システム変数 SURFU の値 + 1 から導き出される。つまり、SURFU の現在の値が 6 の場合、サーフェス フィット操作を行った後のメッシュの MDensity は 7 になる。メッシュにサーフェス フィット操作を実行するためには、Type プロパティを使用してメッシュ タイプを変更する。
- サンプル
(vl-load-com)
(defun c:Example_MDensity()
;; 4 X 4 のポリメッシュを作成して、
;; ポリメッシュの種類を変更し、M方向の点を表示するサンプル。
(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)
;; 3Dメッシュを作成
(setq modelSpace (vla-get-ModelSpace doc))
(setq meshObj (vla-Add3DMesh modelSpace mSize nSize points))
;; ポリメッシュを見やすくするためビューポートの視線方向を変更。
(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)
;; メッシュのタイプを変更 (MDensity は acSimpleMesh 型に対して有効ではない。)
(vla-put-Type meshObj acQuadSurfaceMesh)
(vla-Update meshObj)
(vla-Regen doc acActiveViewport)
;; メッシュの MDensity を表示
(setq currDensity (vla-get-MDensity meshObj))
(alert (strcat "メッシュの MDensity は " (itoa currDensity)))
)
関連事項