Vla-put-ndensity
- 構文
- (vla-put-ndensity vla-object num )
- 機能
- ポリメッシュの N 方向における滑らかなサーフェス密度を指定する。
- 引数
-
- vla-object … PolygonMesh のVLAオブジェクト
- num … サーフェス密度の整数(既定値 = 6 )
- 戻り値
- nil
- MEMO : N サーフェス密度は、タイプが acQuadSurfaceMesh、acCubicSurfaceMesh、acBezierSurfaceMeshの PolygonMesh オブジェクトの N 方向の頂点の数。
- このプロパティの初期値は、システム変数 SURFV の値 + 1 から導き出される。つまり、SURFV の現在の値が 6 の場合、サーフェス フィット操作を行った後のメッシュの NDensity は 7 になる。
- メッシュにサーフェス フィット操作を実行するためには、Type プロパティを使用してメッシュ タイプを変更する必要がある。
- サンプル
(vl-load-com) (defun c:Example_ndensity() ;; 4 x 4 のポリゴンメッシュを作成してN 方向における ;; 滑らかなサーフェス密度を変更するサンプル (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 '(2 2 1 2.5 2 0 5 2 0 5.5 2 1 2 4 0.5 2.5 4 0 5 4 0 5.5 4 0.5 2 6 0.5 2.5 6 0 5 6 0 5.5 6 0.5 2 8 1 2.5 8 0 5 8 0 5.5 8 1 ) ) (setq mSize 4 nSize 4) ;; ポリゴンメッシュを作成 (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) ;; メッシュタイプを変更 (NDensity は acSimpleMesh じゃだめ。) (vla-put-Type meshObj acQuadSurfaceMesh) (vla-Update meshObj) (vla-Regen doc acActiveViewport) ;; NDensity を取得 (setq currDensity (vla-get-NDensity meshObj)) (alert (strcat "メッシュの NDensity は" (itoa currDensity))) (vla-put-NDensity meshObj 12) (alert (strcat "メッシュの NDensity は" (itoa currDensity)))
関連事項