CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

添加属性方法 (ActiveX)

2023-1-4 13:37| 发布者: admin| 查看: 488| 评论: 0|来自: AutoCAD

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

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

支持的平台:仅窗口

签名

工 务 局:

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

类型:模型空间,图纸空间

此方法适用的对象。

高度

访问:仅输入

类型:

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

模式

访问:仅输入

类型:枚举AcAttributeMode

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

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

访问:仅输入

类型:字符串

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

插入点

访问:仅输入

类型:变体(双精度的三元素数组)

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

标记

访问:仅输入

类型:字符串

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

价值

访问:仅输入

类型:字符串

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

返回值(RetVal)

类型:属性

新创建的对象。Attribute

言论

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

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

Examples

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

Visual 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 )

GMT+8, 2024-5-19 13:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部