概要 - ソリッドを作成する(VBA/ActiveX)

ソリッド オブジェクト(3DSolid オブジェクト)は、オブジェクト全体を表します。

ソリッドは、3 種類のモデリングの中で最も情報量が多く明確に定義されたモデルです。また、複雑な形状の場合も、ワイヤフレームやメッシュより作成および編集が簡単です。

ソリッドは、直方体、円錐、円筒、球、トーラス(ドーナツ型)、くさび型という基本的なソリッド形状のいずれかから作成するか、2D オブジェクトをパスに沿って押し出す、あるいは 2D オブジェクトを軸を中心に回転させることで作成します。次のいずれかのメソッドを使用して、ソリッドを作成します。

メッシュと同様に、ソリッドは、隠面処理、シェーディング、レンダリングを行わなければ、ワイヤフレームとして表示されます。さらに、ソリッドを解析して物理的特性(量、慣性モーメント、重心など)を取得することができます。ソリッドを分析するには、次のプロパティを使用します。

ContourlinesPerSurface プロパティは、ワイヤフレームの曲線部分を表示するために使用される格子線の数をコントロールします。RenderSmoothness プロパティは、シェーディングまたは隠線処理されたオブジェクトの滑らかさを調整します。

くさび型ソリッドを作成する

次の例では、くさび型ソリッドをモデル空間に作成します。くさびの 3 次元的な特質をより明確に表示できるように、アクティブ ビューポートのビュー方向を更新します。

Sub Ch8_CreateWedge()
    Dim wedgeObj As Acad3DSolid
    Dim center(0 To 2) As Double
    Dim length As Double
    Dim width As Double
    Dim height As Double

    ' Define the wedge
    center(0) = 5#: center(1) = 5#: center(2) = 0
    length = 10#: width = 15#: height = 20#

    ' Create the wedge in model space
    Set wedgeObj = ThisDrawing.ModelSpace. _
 AddWedge(center, length, width, height)

    ' Change the viewing direction of the viewport
    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