指定属性或属性引用是否为常量。 支持的平台:仅窗口 属性值只读:不,对象;是,对象AttributeAttributeReference 类型:布尔
言论常量属性是在每次出现时保持相同值的属性。AutoCAD 不会提示输入常量属性的值。属性只能作为四种可选模式之一存在:常量、预设、不可见或验证。 注意:AFLAGS 系统变量存储当前模式设置。可以使用属性查询当前模式。Mode
例子工 务 局: Sub Example_Constant() ' This example creates an attribute definition in model space. ' It then queries the attribute to see if it is a constant attribute. Dim attributeObj As AcadAttribute Dim height As Double Dim mode As Long Dim prompt As String Dim insertionPoint(0 To 2) As Double Dim tag As String Dim value As String ' Define the attribute definition height = 1# mode = acAttributeModeVerify prompt = "New Prompt" insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0 tag = "New_Tag" value = "New Value" ' Create the attribute definition object in model space Set attributeObj = ThisDrawing.ModelSpace.AddAttribute(height, mode, prompt, insertionPoint, tag, value) ZoomAll ' Query the attribute GoSub QUERYSTATUS ' Change the attribute attributeObj.constant = Not attributeObj.constant GoSub QUERYSTATUS Exit Sub QUERYSTATUS: If attributeObj.constant Then MsgBox "The attribute is a constant attribute." Else MsgBox "The attribute is not a constant attribute." End If Return End Sub Visual LISP: (vl-load-com) (defun c:Example_Constant() ;; This example creates an attribute definition in model space. ;; It then queries the attribute to see if it is a constant attribute. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Define the attribute definition (setq insertionPoint (vlax-3d-point 5 5 0) attHeight 1 attMode acAttributeModeVerify attPrompt "New Prompt" attTag "New_Tag" attValue "New Value") ;; Create the attribute definition object in model space (setq modelSpace (vla-get-ModelSpace doc)) (setq attributeObj (vla-AddAttribute modelSpace attHeight attMode attPrompt insertionPoint attTag attValue)) (vla-ZoomAll acadObj) ;; Query the attribute (if (= (vla-get-Constant attributeObj) :vlax-true) (alert "The attribute is a constant attribute.") (alert "The attribute is not a constant attribute.") ) ;; Change the attribute (vla-put-Constant attributeObj (if (= (vla-get-Constant attributeObj) :vlax-true) :vlax-false :vlax-true)) (if (= (vla-get-Constant attributeObj) :vlax-true) (alert "The attribute is a constant attribute.") (alert "The attribute is not a constant attribute.") ) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:21
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.