首页 > 解决方案 > 使用excel vba加载线型autocad

问题描述

我尝试使用 excel VBA 作为加载线类型:

Call acadDoc.ModelSpace.Linetypes.Load("HIDDEN", "acad.lin")
Or
Set acadLineTypes = acadDoc.ModelSpace.Linetypes.Load("HIDDEN", "acad.lin")

但不可能。

标签: excelautocadvba

解决方案


以下内容是从Linetype Property (ActiveX)的示例中修改的。

Sub Example_Linetype()
    ' This example searches for the linetype Hidden. If it is
    ' not found, it is added from the acad.lin file. Then a
    ' line is created and changed to the Hidden linetype.

    ' Search the linetypes collection for the Hidden linetype.
    Dim entry As AcadLineType
    Dim found As Boolean
    found = False
    For Each entry In acadDoc.Linetypes
        If StrComp(entry.name, "HIDDEN", 1) = 0 Then
            found = True
            Exit For
        End If
    Next
    If Not (found) Then acadDoc.Linetypes.Load "HIDDEN", "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 = acadDoc.ModelSpace.AddLine(startPoint, endPoint)

    ' Change the linetype of the line
    lineObj.Linetype = "HIDDEN"
    ZoomAll

End Sub

推荐阅读