Se puede atribuir una escala a un objeto si se indican un punto base y una longitud, que se utilizará como factor de escala en función de las unidades de dibujo actuales. Puede ajustar la escala de todos los objetos de dibujo, así como la de todos los objetos de referencia de atributos.
Para ajustar el factor de escala de un objeto, utilice el método ScaleEntity del objeto. Este método ajusta la misma escala para el objeto en las direcciones X, Y y Z. Acepta como entrada el punto base de la escala y un factor de escala. El punto base es una matriz de variantes con tres dobles. Estos dobles representan las coordenadas 3D del SCU que indican el punto donde comienza la escala. El factor de escala es el valor sobre el que se ajusta la escala del objeto. Las cotas del objeto se multiplican por el factor de escala. Un factor de escala superior al valor 1 amplía el objeto. Un factor de escala entre 0 y 1 reduce el objeto.
Para obtener más información acerca de la aplicación de escala, véase “Ajuste del tamaño o la forma de los objetos” en el Manual del usuario.
Cambio de la escala de una polilínea
Este ejemplo crea una polilínea optimizada cerrada y después ajusta su escala con un factor 0.5.
Sub Ch4_ScalePolyline()
' Create the polyline
Dim plineObj As AcadLWPolyline
Dim points(0 To 11) As Double
points(0) = 1: points(1) = 2
points(2) = 1: points(3) = 3
points(4) = 2: points(5) = 3
points(6) = 3: points(7) = 3
points(8) = 4: points(9) = 4
points(10) = 4: points(11) = 2
Set plineObj = ThisDrawing.ModelSpace. _
AddLightWeightPolyline(points)
plineObj.Closed = True
ZoomAll
' Define the scale
Dim basePoint(0 To 2) As Double
Dim scalefactor As Double
basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0
scalefactor = 0.5
' Scale the polyline
plineObj.ScaleEntity basePoint, scalefactor
plineObj.Update
End Sub