Vla-put-mclose

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-put-mclose vla-object bool)


機能
ポリメッシュを M 方向に閉じるかどうかを指定する。


引数
  • vla-object … PolygonMesh の VLAオブジェクト
  • bool … ブール値
:* vlax-True: PolygonMesh が M 方向に閉じられる。
:* vlax-False: PolygonMesh が M 方向に開かれる。


戻り値
nil
  • 注意 PolygonMesh が閉じていると、最後の行から最初の行まで連続したものとして扱われる。PolygonMesh が開いていると、最後の行と最初の行の間で不連続なものとして扱われる。


サンプル
(vl-load-com)
(defun c:Example_MClose()
    ;; 4x4 のポリゴンメッシュをモデル空間に作成するサンプル
    ;; '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 '(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)
    
    ;; 3Dmesh を作成
    (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)
    
    ;; 'M 'の方向にポリメッシュを閉じる
    (alert (strcat "ポリメッシュは M方向に " (if (= (vla-get-MClose meshObj) :vlax-true) "closed" "open") " な状態。"))
    (vla-put-MClose meshObj :vlax-true)
    (vla-Regen doc acActiveViewport)
    (alert (strcat "ポリメッシュは M方向に " (if (= (vla-get-MClose meshObj) :vlax-true) "closed" "open") " な状態。"))
)

関連事項