Se puede especificar la escala del tipo de línea para los objetos que se creen. Cuanto menor es la escala, más se repetirá el patrón del tipo de línea por unidad de dibujo. Por defecto, AutoCAD aplica una escala global de 1.0, que equivale a una unidad de dibujo. Se puede cambiar la escala del tipo de línea de todos los objetos de dibujo, las referencias de atributos y los grupos.
Para cambiar la escala del tipo de línea, utilice la propiedad LinetypeScale.
La variable de sistema CELTSCALE establece la escala del tipo de línea para los objetos de nueva creación. Si desea modificar globalmente la escala del tipo de línea de objetos existentes, utilice LTSCALE. Para cambiar los valores de variables de sistema con ActiveX Automation de AutoCAD, utilice el método SetVariable.
Para obtener más información acerca de las escalas del tipo de línea, véase “Control de la escala del tipo de línea“ en el Manual del usuario.
Modificación de la escala del tipo de línea de un círculo
Sub Ch4_ChangeLinetypeScale()
' Save the current linetype
Set currLineType = ThisDrawing.ActiveLinetype
' Change the active linetype to Border, so the scale change will
' be visible.
' First see if the Border linetype is already loaded
On Error Resume Next 'Turn on error trapping
ThisDrawing.ActiveLinetype = ThisDrawing.Linetypes.Item("BORDER")
If Err.Number = -2145386476 Then
' Error indicates linetype is not currently loaded, so load it.
ThisDrawing.Linetypes.Load "BORDER", "acad.lin"
ThisDrawing.ActiveLinetype = _
ThisDrawing.Linetypes.Item("BORDER")
End If
On Error GoTo 0 'Turn off error trapping
' Create a circle object in model space
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")
' Set the linetype scale of a circle to 3
circleObj.LinetypeScale = 3#
circleObj.Update
MsgBox ("Here is the circle with the new linetype")
' Restore original active linetype
ThisDrawing.ActiveLinetype = currLineType
End Sub