ScaleFactor 属性 (ActiveX) 
指定对象的比例因子。 支持的平台:仅限 Windows 签名VBA: object.ScaleFactor 属性值只读:不 类型:双人房 (ACAD_NOUNITS) 大于 0.0 的实数。大于 1 的比例因子将放大对象。介于 0 和 1 之间的比例因子可缩小对象。 言论此属性的初始值为 1.0000。 比例因子通常称为相对 X 比例因子。比例因子应用于对象的宽度,以允许独立于高度调整宽度。例如,如果比例因子值为 0.8,则绘制对象的宽度将是其正常未调整宽度的 80%。 Dimension、leader 和 tolerance 对象:此属性将覆盖 DIMSCALE 系统变量。 如果在图纸空间中工作,则尺寸的比例因子将等于 0.0,AutoCAD 将根据当前模型空间视口和图纸空间之间的比例计算合理的默认值。您将无法更改图纸空间中维度的比例因子。 例子VBA: Sub Example_ScaleFactor()
    ' This example creates a text object in model space.
    ' It then finds the current scale factor and changes it.
    Dim textObj As AcadText
    Dim textString As String
    Dim insertionPoint(0 To 2) As Double
    Dim height As Double
    
    ' Define the text object
    textString = "Hello, World."
    insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
    height = 0.5
    
    ' Create the text object in model space
    Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
    ZoomAll
    
    ' Find the current scale factor for the text object
    Dim currScaleFactor As Double
    currScaleFactor = textObj.scalefactor
    MsgBox "The scale factor of the text is " & textObj.scalefactor, , "ScaleFactor Example"
    
    ' Change the scale factor for the text object
    textObj.scalefactor = currScaleFactor + 1
    ThisDrawing.Regen True
    MsgBox "The scale factor of the text is now " & textObj.scalefactor, , "ScaleFactor Example"
    
End Sub
可视化 LISP: (vl-load-com)
(defun c:Example_ScaleFactor()
    ;; This example creates a text object in model space.
    ;; It then finds the current scale factor and changes it.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the text object
    (setq textString "Hello, World."
          insertionPoint (vlax-3d-point 2 2 0)
          height 0.5)
    ;; Create the text object in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq textObj (vla-AddText modelSpace textString insertionPoint height))
    (vla-ZoomAll acadObj)
    
    ;; Find the current scale factor for the text object
    (setq currScaleFactor (vla-get-Scalefactor textObj))
    (alert (strcat "The scale factor of the text is " (rtos currScaleFactor 2)))
    
    ;; Change the scale factor for the text object
    (vla-put-Scalefactor textObj (1+ currScaleFactor))
    (vla-Regen doc :vlax-true)
    (alert (strcat "The scale factor of the text is now " (rtos (vla-get-Scalefactor textObj) 2)))
)
 | 
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-11-4 15:10
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.