Linetype プロパティ(ActiveX)

オブジェクトの線種を指定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.Linetype
object

タイプ: すべての図形オブジェクトAttributeReferenceGroupLayerSubDMeshEdgeSubDMeshFaceSubDMeshVertexSubEntitySubEntSolidEdgeSubEntSolidFaceSubEntSolidNodeSubEntSolidVertex

このプロパティが適用されるオブジェクト。

プロパティの値

読み込み専用: いいえ(書き込み専用の Group オブジェクトを除く)

タイプ: 文字列

オブジェクトの線種。既定の線種は画層の線種(ByLayer)です。

注意

線種は、線を作成するときのドットとダッシュのパターンを識別します。線種を指定しないと、現在のアクティブな線種が新しい図形に使用されます。図形に線種を指定すると、現在のアクティブな線種は無視されます。ActiveLinetype プロパティを使用して、現在のアクティブな線種の設定または取得を行います。

注: 線種をプログラムで作成することはできません。既存の線種を図面に追加するには、まず Load メソッドを使用して線種をロードし、次に Add メソッドを使用して Linetypes コレクションに追加します。

VBA:

Sub Example_Linetype()
    ' This example searches for the linetype DashDot. If it is
    ' not found, it is added from the acad.lin file. Then a
    ' line is created and changed to the DashDot linetype.
    
    ' Search the linetypes collection for the DashDot linetype.
    Dim entry As AcadLineType
    Dim found As Boolean
    found = False
    For Each entry In ThisDrawing.Linetypes
        If StrComp(entry.name, "DASHDOT", 1) = 0 Then
            found = True
            Exit For
        End If
    Next
    If Not (found) Then ThisDrawing.Linetypes.Load "DASHDOT", "acad.lin"
        
    ' Create the line
    Dim lineObj As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 4#: endPoint(1) = 4#: endPoint(2) = 0#
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    
    ' Change the linetype of the line
    lineObj.Linetype = "DASHDOT"
    ZoomAll
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Linetype()
    ;; This example searches for the linetype DashDot. If it is
    ;; not found, it is added from the acad.lin file. Then a
    ;; line is created and changed to the DashDot linetype.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Search the linetypes collection for the DashDot linetype.
    (setq found :vlax-false)
    (vlax-for entry (vla-get-Linetypes doc)
        (if (= (vla-get-Name entry) "DASHDOT")
            (setq found :vlax-true)
        )
    )
  
    (if (= found :vlax-false)
        (vla-Load (vla-get-Linetypes doc) "DASHDOT" "acad.lin")
    )
        
    ;; Create the line
    (setq startPoint (vlax-3d-point 1 1 0)
          endPoint (vlax-3d-point 4 4 0))
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq lineObj (vla-AddLine modelSpace startPoint endPoint))
    
    ;; Change the linetype of the line
    (vla-put-Linetype lineObj "DASHDOT")
    (vla-ZoomAll acadObj)
)