XDrxAPI 15 个 Attribute 函数帮助手册
1函数名称: xdrx-attribute-fieldlength
描述:
获取属性字段的长度
调用格式:
(xdrx-attribute-fieldlength <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
返回属性字段的长度(整数)
示例用法1:
(xdrx-attribute-fieldlength ent)
; 获取指定属性实体的字段长度
示例用法2:
(setq len (xdrx-attribute-fieldlength (car (entsel))))
; 交互选择属性实体并获取其字段长度
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 返回值为字段定义的长度限制
3. 实际内容长度可能小于返回值
------------------------------------------------------------
2
函数名称: xdrx-attribute-isconstant
描述:
判断属性是否为常量属性
调用格式:
(xdrx-attribute-isconstant <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
是常量属性返回T,否则返回nil
示例用法1:
(xdrx-attribute-isconstant ent)
; 判断指定属性是否为常量属性
示例用法2:
(if (xdrx-attribute-isconstant (car (entsel)))
(princ "这是常量属性")
(princ "这不是常量属性")
)
; 交互选择属性并判断
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 常量属性在块插入时不能修改
3. 返回值可直接用于条件判断
------------------------------------------------------------
3
函数名称: xdrx-attribute-isinvisible
描述:
判断属性是否不可见
调用格式:
(xdrx-attribute-isinvisible <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
不可见返回T,否则返回nil
示例用法1:
(xdrx-attribute-isinvisible ent)
; 判断指定属性是否不可见
示例用法2:
(if (xdrx-attribute-isinvisible (car (entsel)))
(princ "该属性不可见")
(princ "该属性可见")
)
; 交互选择属性并判断可见性
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 不可见属性仍存在于图形中但不显示
3. 返回值可直接用于条件判断
------------------------------------------------------------
4
函数名称: xdrx-attribute-isPreset
描述:
判断属性是否为预设属性
调用格式:
(xdrx-attribute-isPreset <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
是预设属性返回T,否则返回nil
示例用法1:
(xdrx-attribute-isPreset ent)
; 判断指定属性是否为预设属性
示例用法2:
(if (xdrx-attribute-isPreset (car (entsel)))
(princ "这是预设属性")
(princ "这不是预设属性")
)
; 交互选择属性并判断
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 预设属性在块插入时不提示输入值
3. 返回值可直接用于条件判断
------------------------------------------------------------
5
函数名称: xdrx-attribute-isVerifiable
描述:
判断属性是否可验证
调用格式:
(xdrx-attribute-isVerifiable <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
可验证返回T,否则返回nil
示例用法1:
(xdrx-attribute-isVerifiable ent)
; 判断指定属性是否可验证
示例用法2:
(if (xdrx-attribute-isVerifiable (car (entsel)))
(princ "该属性可验证")
(princ "该属性不可验证")
)
; 交互选择属性并判断可验证性
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 可验证属性在插入时会检查输入值
3. 返回值可直接用于条件判断
------------------------------------------------------------
6
函数名称: xdrx-attribute-lockposition
描述:
判断属性位置是否锁定
调用格式:
(xdrx-attribute-lockposition <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
位置锁定返回T,否则返回nil
示例用法1:
(xdrx-attribute-lockposition ent)
; 判断指定属性位置是否锁定
示例用法2:
(if (xdrx-attribute-lockposition (car (entsel)))
(princ "该属性位置已锁定")
(princ "该属性位置未锁定")
)
; 交互选择属性并判断位置锁定状态
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 锁定位置的属性不能移动
3. 返回值可直接用于条件判断
------------------------------------------------------------
7
函数名称: xdrx-attribute-setinvisible
描述:
设置属性的可见性
调用格式:
(xdrx-attribute-setinvisible <属性实体> )
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
* : 可选参数,存在则设置不可见,否则设置可见(RTT)
返回值:
设置成功返回T,否则返回nil
示例用法1:
(xdrx-attribute-setinvisible ent T)
; 设置属性不可见
示例用法2:
(xdrx-attribute-setinvisible ent)
; 设置属性可见
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 不可见属性仍存在于图形中但不显示
3. 可随时切换可见性状态
------------------------------------------------------------
8
函数名称: xdrx-attribute-settag
描述:
设置属性的标签
调用格式:
(xdrx-attribute-settag <属性实体> <新标签>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
* <新标签>: 新的属性标签字符串(RTSTR)
返回值:
设置成功返回T,否则返回nil
示例用法1:
(xdrx-attribute-settag ent "新标签")
; 设置属性的标签为"新标签"
示例用法2:
(xdrx-attribute-settag (car (entsel)) "编号")
; 交互选择属性并设置标签为"编号"
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 标签是属性的唯一标识符
3. 修改标签不会影响属性值
------------------------------------------------------------
9
函数名称: xdrx-attribute-tag
描述:
获取属性的标签
调用格式:
(xdrx-attribute-tag <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
返回属性标签字符串
示例用法1:
(xdrx-attribute-tag ent)
; 获取指定属性的标签
示例用法2:
(princ (strcat "属性标签是: " (xdrx-attribute-tag (car (entsel))))
; 交互选择属性并显示其标签
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 标签是属性的唯一标识符
3. 返回值可直接用于字符串操作
------------------------------------------------------------
10
函数名称: xdrx-attributedef-make
描述:
将文本或MTEXT转换为属性定义
调用格式:
(xdrx-attributedef-make <文本实体> )
参数说明:
* <文本实体>: 文本或MTEXT实体对象(RTENAME)
* : 可选参数,存在则转换后删除原实体(RTT)
返回值:
成功返回新创建的属性定义实体名,失败返回nil
示例用法1:
(xdrx-attributedef-make ent)
; 将文本转换为属性定义(保留原文本)
示例用法2:
(xdrx-attributedef-make (car (entsel)) T)
; 交互选择文本并转换为属性定义(删除原文本)
注意事项:
1. 支持AcDbText和AcDbMText类型实体
2. 转换后会保留原文本的所有属性
3. 创建的属性定义可直接用于块定义
------------------------------------------------------------
11
函数名称: xdrx-attribute-setlockposition
描述:
设置属性位置锁定状态
调用格式:
(xdrx-attribute-setlockposition <属性实体> <锁定状态>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
* <锁定状态>: 锁定状态字符串("1"锁定/"0"解锁)(RTSTR)
返回值:
设置成功返回T,否则返回nil
示例用法1:
(xdrx-attribute-setlockposition ent "1")
; 锁定属性位置
示例用法2:
(xdrx-attribute-setlockposition (car (entsel)) "0")
; 交互选择属性并解锁位置
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 锁定后属性位置不可移动
3. 可随时切换锁定状态
------------------------------------------------------------
12
函数名称: xdrx-attribute-isReallyLocked
描述:
判断属性是否真正锁定(考虑块参照中的锁定状态)
调用格式:
(xdrx-attribute-isReallyLocked <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
真正锁定返回T,否则返回nil
示例用法1:
(xdrx-attribute-isReallyLocked ent)
; 判断属性是否真正锁定
示例用法2:
(if (xdrx-attribute-isReallyLocked (car (entsel)))
(princ "属性已真正锁定")
(princ "属性未真正锁定")
)
; 交互选择属性并判断锁定状态
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 考虑块参照中的锁定状态
3. 返回值可直接用于条件判断
------------------------------------------------------------
13
函数名称: xdrx-attribute-isMText
描述:
判断属性是否为多行文本属性
调用格式:
(xdrx-attribute-isMText <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
是多行文本属性返回T,否则返回nil
示例用法1:
(xdrx-attribute-isMText ent)
; 判断指定属性是否为多行文本属性
示例用法2:
(if (xdrx-attribute-isMText (car (entsel)))
(princ "这是多行文本属性")
(princ "这不是多行文本属性")
)
; 交互选择属性并判断类型
注意事项:
1. 仅适用于AcDbAttribute类型实体
2. 多行文本属性支持复杂格式
3. 返回值可直接用于条件判断
------------------------------------------------------------
14
函数名称: xdrx-attribute-updateMText
描述:
更新多行文本属性
调用格式:
(xdrx-attribute-updateMText <多行文本属性实体>)
参数说明:
* <多行文本属性实体>: 多行文本属性实体对象(RTENAME)
返回值:
更新成功返回T,否则返回nil
示例用法1:
(xdrx-attribute-updateMText ent)
; 更新指定的多行文本属性
示例用法2:
(if (xdrx-attribute-updateMText (car (entsel)))
(princ "多行文本属性更新成功")
(princ "更新失败或不是多行文本属性")
)
; 交互选择属性并更新
注意事项:
1. 仅适用于多行文本属性(AcDbAttribute)
2. 更新后会重新计算文本布局
3. 修改文本内容后建议调用此函数
------------------------------------------------------------
15
函数名称: xdrx-attribute-to-mtext
描述:
将普通属性转换为多行文本属性
调用格式:
(xdrx-attribute-to-mtext <属性实体>)
参数说明:
* <属性实体>: 属性实体对象(RTENAME)
返回值:
转换成功返回T,否则返回nil
示例用法1:
(xdrx-attribute-to-mtext ent)
; 将指定属性转换为多行文本属性
示例用法2:
(if (xdrx-attribute-to-mtext (car (entsel)))
(princ "转换成功")
(princ "转换失败或已是多行文本属性")
)
; 交互选择属性并转换
注意事项:
1. 仅适用于普通属性(AcDbAttribute)
2. 转换后会保留原属性内容
3. 转换后的属性支持多行文本格式
------------------------------------------------------------
页:
[1]