概要 - メッシュを作成する(VBA/ActiveX)

矩形メッシュ(PolygonMesh オブジェクト)は、切り子面を使用してオブジェクトの面を表します。

メッシュの密度、つまり切り子面の個数は、行と列で構成されるグリッドのように、MN で示す頂点の行列で定義します。M および N は、それぞれ与えられた頂点の列と行を指定します。メッシュは、2D および 3D で作成することができますが、主に 3D で使用します。

Add3DMesh メソッドを使用して、矩形メッシュを作成します。このメソッドでは、M 方向での頂点の数、N 方向での頂点の数、メッシュのすべての頂点の座標を含むバリアント配列の 3 つの値を入力します。

PolygonMesh を作成したら、MClose および NClose プロパティを使用して、メッシュを閉じます。

ポリゴン メッシュを作成する

次の例では、4×4 のポリゴン メッシュを作成します。メッシュの 3 次元的な特質をより明確に表示できるように、アクティブ ビューポートの方向を調整します。

Sub Ch8_Create3DMesh()
    Dim meshObj As AcadPolygonMesh
    Dim mSize, nSize, Count As Integer
    Dim points(0 To 47) As Double

    ' create the matrix of points
    points(0) = 0: points(1) = 0: points(2) = 0
    points(3) = 2: points(4) = 0: points(5) = 1
    points(6) = 4: points(7) = 0: points(8) = 0
    points(9) = 6: points(10) = 0: points(11) = 1
    points(12) = 0: points(13) = 2: points(14) = 0
    points(15) = 2: points(16) = 2: points(17) = 1
    points(18) = 4: points(19) = 2: points(20) = 0
    points(21) = 6: points(22) = 2: points(23) = 1
    points(24) = 0: points(25) = 4: points(26) = 0
    points(27) = 2: points(28) = 4: points(29) = 1
    points(30) = 4: points(31) = 4: points(32) = 0
    points(33) = 6: points(34) = 4: points(35) = 0
    points(36) = 0: points(37) = 6: points(38) = 0
    points(39) = 2: points(40) = 6: points(41) = 1
    points(42) = 4: points(43) = 6: points(44) = 0
    points(45) = 6: points(46) = 6: points(47) = 0

    mSize = 4: nSize = 4

    ' creates a 3Dmesh in model space
    Set meshObj = ThisDrawing.ModelSpace. _
 Add3DMesh(mSize, nSize, points)

    ' Change the viewing direction of the viewport
    ' to better see the cylinder
    Dim NewDirection(0 To 2) As Double
    NewDirection(0) = -1
    NewDirection(1) = -1
    NewDirection(2) = 1
    ThisDrawing.ActiveViewport.Direction = NewDirection
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ZoomAll
End Sub