CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

AddAttribute 方法 (ActiveX)

2024-5-18 19:07| 发布者: admin| 查看: 154| 评论: 0|原作者: admin|来自: AutoCAD

AddAttribute 方法 (ActiveX)

在给定位置创建具有指定属性的属性定义。

支持的平台:仅限 Windows

签名

VBA:

RetVal = object.AddAttribute(Height, Mode, Prompt, InsertionPoint, Tag, Value)
对象

类型:模型空间纸空间

此方法应用到的对象。

高度

访问:仅输入

类型:

当前绘图单元中的文本高度。

模式

访问:仅输入

类型:枚举AcAttributeMode

可以通过将常量相加来使用常量的任意组合:

  • acAttributeModeInvisible:指定插入块时不显示属性值。AutoCAD ATTDISP 命令将覆盖“不可见”模式。
  • acAttributeModeConstant:为块插入提供属性的固定值。
  • acAttributeModeVerify:插入块时,提示验证属性值是否正确。
  • acAttributeModeLockPosition:锁定属性的位置。
  • acAttributeModeMultipleLine:允许属性转移到多行。提示您在插入块时验证属性值是否正确。
  • acAttributeModePreset:在插入包含当前属性的块时,将属性设置为其默认值。在此模式下无法编辑该值。
提示

访问:仅输入

类型:字符串

插入包含此属性的块时,将显示此字符串。此字符串的默认值为 Tag 字符串。输入 Mode 参数将禁用提示。acAttributeModeConstant

插入点

访问:仅输入

类型:变体(双打的三元素阵列)

指定属性位置的 3D WCS 坐标。

标记

访问:仅输入

类型:字符串

此非 null 字符串标识属性的每次匹配项。输入除空格或感叹号以外的任何字符。AutoCAD 将小写字母更改为大写字母。

价值

访问:仅输入

类型:字符串

此非 null 字符串是默认属性值。

返回值 (RetVal)

类型:属性

新创建的对象。Attribute

言论

属性定义与为其创建属性定义的块相关联。在模型空间或图纸空间中创建的属性定义不被视为附加到任何给定块。

AutoCAD AFLAGS 系统变量存储模式设置。您可以使用该方法查询此值,也可以使用该方法设置该值。GetVariableSetVariable

例子

VBA:

Sub Example_AddAttribute()
    ' This example creates an attribute definition in model space.
    
    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
    
End Sub

可视化 LISP:

(vl-load-com)
(defun c:Example_AddAttribute()
    ;; This example creates an attribute definition in model space.
    (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)
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-28 17:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部