概要 - オブジェクトの線種を変更する(VBA/ActiveX)

既定では、オブジェクトは作成した画層の線種を継承します。

オブジェクトの線種を変更するには、そのオブジェクトの Linetype プロパティを使用します。Linetype プロパティは、入力として線種の名前を受け取り、それをオブジェクトに割り当てます。

注: 線種をオブジェクトに割り当てる前に、その線種を現在の図面にロードする必要があります。線種を図面にロードするには、Load メソッドを使用します。

円の線種を変更する

次の例は円を作成します。次に、acad.lin ファイルから線種 "CENTER" をロードします。この線種が既に存在していたり、このファイルが存在しない場合は、メッセージが表示されます。最後に、円の線種を "CENTER" に設定します。

Sub Ch4_ChangeCircleLinetype()
  On Error Resume Next

  ' Create a circle
  Dim circleObj As AcadCircle
  Dim center(0 To 2) As Double
  Dim radius As Double
  center(0) = 2: center(1) = 2: center(2) = 0
  radius = 1
  Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)

  Dim linetypeName As String
  linetypeName = "CENTER"

  ' Load "CENTER" line type from acad.lin file
  ThisDrawing.Linetypes.Load linetypeName, "acad.lin"
  If Err.Description <> "" Then MsgBox Err.Description

  ' Assign the circle the linetype "CENTER"
  circleObj.Linetype = "CENTER"
  circleObj.Update
End Sub