指定线型比例

AutoCAD ActiveX/VBA

 
指定线型比例
 
 
 

用户可以指定创建对象的线型比例。比例越小,每个绘图单位中画出的重复图案就越多。默认情况下,AutoCAD 使用 1.0 的全局线型比例,即一个图形单位。用户可以更改所有图形对象、属性参考和编组的线型比例。

要修改线型比例,请使用 LinetypeScale 特性。

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