Linetype Property (ActiveX)

Specifies the linetype of an object.

Supported platforms: Windows only

Signature

VBA:

object.Linetype
object

Type: All drawing objects, AttributeReference, Group, Layer, SubDMeshEdge, SubDMeshFace, SubDMeshVertex, SubEntity, SubEntSolidEdge, SubEntSolidFace, SubEntSolidNode, SubEntSolidVertex

The objects this property applies to.

Property Value

Read-only: No; except for Group objects which are write-only

Type: String

The linetype of an object. The default linetype is the linetype of the layer (ByLayer).

Remarks

The linetype values identify the series of dots and dashes used for drawing lines. If you do not specify a linetype, the current active linetype is used for a new entity. If a linetype is specified for an entity, the current active linetype is ignored. Use the ActiveLinetype property to set or query the current active linetype.

Note: It is not possible to create a linetype programmatically. An existing linetype may be added to a drawing by using the Load method to first load the linetype, and then the Add method to add it to the Linetypes collection.

Examples

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)
)