用户可以指定创建对象的线型比例。比例越小,每个绘图单位中画出的重复图案就越多。默认情况下,AutoCAD 使用 1.0 的全局线型比例,即一个图形单位。用户可以更改所有图形对象、属性参考和编组的线型比例。
CELTSCALE 系统变量设置新创建对象的线型比例。LTSCALE 则全局更改现有对象以及新对象的线型比例。要使用 AutoCAD ActiveX Automation 来修改系统变量值,请使用 SetVariable 方法。
有关线型比例的详细信息,请参见《用户手册》中的“控制线型比例”。
Sub Ch4_ChangeLinetypeScale()
' 保存当前的线型
Set currLineType = ThisDrawing.ActiveLinetype
' 将活动线型更改为 Border,使比例的更改
' 可见。
' 首先查看 Border 线型是否已加载
On Error Resume Next ' 打开错误捕获
ThisDrawing.ActiveLinetype = ThisDrawing.Linetypes.Item("BORDER")
If Err.Number = -2145386476 Then
' 错误指出尚未加载线型,因此加载它。
ThisDrawing.Linetypes.Load "BORDER", "acad.lin"
ThisDrawing.ActiveLinetype = _
ThisDrawing.Linetypes.Item("BORDER")
End If
On Error GoTo 0 ' 关闭错误捕获
' 在模型空间中创建 Circle 对象
Dim center(0 To 2) As Double
Dim radius As Double
Dim circleObj As AcadCircle
center(0) = 2
center(1) = 2
center(2) = 0
radius = 4
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
circleObj.Update
MsgBox ("Here is the circle with the original linetype")
' 将圆的线型比例设为 3
circleObj.LinetypeScale = 3#
circleObj.Update
MsgBox ("Here is the circle with the new linetype")
' 恢复原始活动线型
ThisDrawing.ActiveLinetype = currLineType
End Sub