XDSoft 发表于 2025-5-21 21:31:47

XDrxAPI 40 个 BLOCK 函数帮助手册

1
函数名称: xdrx-block-isdynamic
函数别名: xdrx-dynblock-isdyn

描述:
该函数判断AutoCAD块参照是否为动态块。

调用格式:
(xdrx-block-isdynamic <块参照实体>)

参数说明:
* <块参照实体>: 必需参数,要检查的块参照实体

返回值:
如果是动态块返回T,否则返回nil

示例用法1:
(xdrx-block-isdynamic (car (entsel)))
返回: T - 表示选择的块是动态块

示例用法2:
(if (xdrx-block-isdynamic blk) (princ "是动态块"))
返回: 当blk是动态块时显示"是动态块"

注意事项:
1. 仅对块参照实体有效
2. 非块参照实体返回nil
3. 普通块参照返回nil
4. 动态块参照返回T
5. 无效输入返回nil
------------------------------------------------------------
2
函数名称: xdrx-block-i**plodable

描述:
该函数判断AutoCAD块定义是否可分解(explode),支持通过块实体或块名查询。

调用格式:
(xdrx-block-i**plodable <块实体或块名>)

参数说明:
* <块实体或块名>: 必需参数,可以是:
- 块参照或块定义实体
- 块名字符串

返回值:
如果块可分解返回T,否则返回nil

示例用法1:
(xdrx-block-i**plodable (car (entsel)))
返回: T - 表示选择的块可以分解

示例用法2:
(xdrx-block-i**plodable "my_block")
返回: nil - 表示名为"my_block"的块不可分解

注意事项:
1. 支持块实体和块名两种输入方式
2. 检查块的explodable属性
3. 可分解返回T,不可分解返回nil
4. 无效输入返回nil
5. 动态块通常不可分解
------------------------------------------------------------
3
函数名称: xdrx-block-setexplodable

描述:
该函数设置AutoCAD块定义是否可分解(explode),支持通过块实体或块名设置。

调用格式:
(xdrx-block-setexplodable <块实体或块名> <可分解标志>)

参数说明:
* <块实体或块名>: 必需参数,可以是:
- 块参照或块定义实体
- 块名字符串
* <可分解标志>: 必需参数:
- T: 设置块可分解
- nil: 设置块不可分解

返回值:
设置成功返回T,失败返回nil

示例用法1:
(xdrx-block-setexplodable (car (entsel)) T)
返回: T - 设置选择的块可分解

示例用法2:
(xdrx-block-setexplodable "my_block" nil)
返回: T - 设置名为"my_block"的块不可分解

注意事项:
1. 支持块实体和块名两种输入方式
2. 第二个参数必须为T或nil
3. 动态块通常不能修改此属性
4. 成功返回T,失败返回nil
5. 修改会影响所有该块的参照实例
------------------------------------------------------------
4
函数名称: xdrx_dynblock->static

描述:
该函数将AutoCAD动态块转换为静态块,可指定转换后的新块名。

调用格式:
(xdrx-dynblock->static <动态块实体> [新块名])

参数说明:
* <动态块实体>: 必需参数,要转换的动态块实体
* [新块名]: 可选参数,转换后的静态块名称(不指定则使用原名称)

返回值:
转换成功返回T,失败返回nil

示例用法1:
(xdrx-dynblock->static (car (entsel)))
返回: T - 将选择的动态块转换为同名静态块

示例用法2:
(xdrx-dynblock->static blk "new_static_block")
返回: T - 将动态块blk转换为名为"new_static_block"的静态块

注意事项:
1. 仅对动态块有效
2. 非动态块直接返回nil
3. 新块名可选,不指定则保留原名
4. 转换后原动态块参照变为静态块参照
5. 成功返回T,失败返回nil
------------------------------------------------------------
5
函数名称: xdrx-dynblock-blockid

描述:
该函数获取AutoCAD动态块对应的匿名块表记录ID。

调用格式:
(xdrx-dynblock-blockid <动态块实体>)

参数说明:
* <动态块实体>: 必需参数,要查询的动态块实体

返回值:
返回动态块对应的匿名块表记录ID,非动态块返回nil

示例用法1:
(xdrx-dynblock-blockid (car (entsel)))
返回: <图元名: 7ffff706050> - 动态块的匿名块表记录ID

示例用法2:
(setq blkId (xdrx-dynblock-blockid blk))
返回: 将动态块blk的匿名块表记录ID存入blkId变量

注意事项:
1. 仅对动态块有效
2. 非动态块返回nil
3. 返回值为匿名块表记录ID
4. 可用于获取动态块的底层定义
5. 无效输入返回nil
------------------------------------------------------------
6
函数名称: xdrx-dynblock-dynblockid

描述:
该函数获取AutoCAD动态块对应的动态块表记录ID(非匿名块)。

调用格式:
(xdrx-dynblock-dynblockid <动态块实体>)

参数说明:
* <动态块实体>: 必需参数,要查询的动态块实体

返回值:
返回动态块对应的动态块表记录ID,非动态块返回nil

示例用法1:
(xdrx-dynblock-dynblockid (car (entsel)))
返回: <图元名: 7ffff706050> - 动态块的动态块表记录ID

示例用法2:
(setq dynId (xdrx-dynblock-dynblockid blk))
返回: 将动态块blk的动态块表记录ID存入dynId变量

注意事项:
1. 仅对动态块有效
2. 非动态块返回nil
3. 返回值为动态块表记录ID(非匿名块)
4. 可用于获取动态块的主定义
5. 无效输入返回nil
------------------------------------------------------------
7
函数名称: xdrx-dynblock-getproperty

描述:
该函数获取AutoCAD动态块的所有属性信息,包括属性名、描述、当前值、允许值等。

调用格式:
(xdrx-dynblock-getproperty <动态块实体>)

参数说明:
* <动态块实体>: 必需参数,要查询的动态块实体

返回值:
返回包含动态块所有属性信息的关联列表,格式为:
(
(
    ("PropertyName" . "属性名")
    ("Description" . "描述")
    ("ReadOnly" . T/nil)
    ("Show" . T/nil)
    ("Value" . 当前值)
    ("UnitsType" . 单位类型)
    ("AllowedValue" . (允许值列表))
...
)

示例用法1:
(xdrx-dynblock-getproperty (car (entsel)))
返回: 动态块的所有属性信息列表

示例用法2:
(setq props (xdrx-dynblock-getproperty blk))
返回: 将动态块blk的属性信息存入props变量

注意事项:
1. 仅对动态块有效
2. 非动态块返回nil
3. 返回值为复杂关联列表结构
4. 包含属性名、描述、当前值、允许值等信息
5. 无效输入返回nil
------------------------------------------------------------
8
函数名称: xdrx-dynblock-getvalue

描述:
该函数获取AutoCAD动态块指定属性的当前值。

调用格式:
(xdrx-dynblock-getvalue <动态块实体> <属性名>)

参数说明:
* <动态块实体>: 必需参数,要查询的动态块实体
* <属性名>: 必需参数,要获取值的属性名称(字符串)

返回值:
返回指定属性的当前值,未找到返回nil

示例用法1:
(xdrx-dynblock-getvalue (car (entsel)) "Width")
返回: 50.0 - 动态块的Width属性值

示例用法2:
(setq val (xdrx-dynblock-getvalue blk "Height"))
返回: 将动态块blk的Height属性值存入val变量

注意事项:
1. 仅对动态块有效
2. 必须提供属性名参数
3. 返回属性当前值(类型取决于属性)
4. 属性名区分大小写
5. 无效输入返回nil
------------------------------------------------------------
9
函数名称: xdrx-dynblock-hasname

描述:
该函数检查AutoCAD动态块是否包含指定名称的属性。

调用格式:
(xdrx-dynblock-hasname <动态块实体> <属性名>)

参数说明:
* <动态块实体>: 必需参数,要检查的动态块实体
* <属性名>: 必需参数,要检查的属性名称(字符串)

返回值:
如果动态块包含该属性返回T,否则返回nil

示例用法1:
(xdrx-dynblock-hasname (car (entsel)) "Width")
返回: T - 表示动态块包含Width属性

示例用法2:
(if (xdrx-dynblock-hasname blk "Height") (princ "包含Height属性"))
返回: 当blk包含Height属性时显示提示信息

注意事项:
1. 仅对动态块有效
2. 必须提供属性名参数
3. 属性名不区分大小写
4. 存在返回T,不存在返回nil
5. 无效输入返回nil
------------------------------------------------------------
10
函数名称: xdrx-dynblock-setvalue

描述:
该函数设置AutoCAD动态块属性的值,支持同时设置多个属性。

调用格式:
(xdrx-dynblock-setvalue <动态块实体> <属性名1> <值1> [<属性名2> <值2> ...])

参数说明:
* <动态块实体>: 必需参数,要设置的动态块实体
* <属性名>: 必需参数,要设置的属性名称(字符串)
* <值>: 必需参数,要设置的属性值(类型需匹配属性)

返回值:
设置成功返回T,失败返回nil

示例用法1:
(xdrx-dynblock-setvalue (car (entsel)) "Width" 50.0)
返回: T - 成功设置Width属性为50.0

示例用法2:
(xdrx-dynblock-setvalue blk "Height" 20.0 "Length" 30.0)
返回: T - 同时设置Height和Length属性

注意事项:
1. 仅对动态块有效
2. 必须提供至少一个属性名/值对
3. 仅能设置非只读属性
4. 值类型必须与属性匹配
5. 支持同时设置多个属性
------------------------------------------------------------
11
函数名称: xdrx-block->entities

描述:
该函数获取AutoCAD块定义中的所有图元,支持通过块名或块实体引用访问,并可选择是否嵌套展开。

调用格式:
(xdrx-block->entities <块名/块实体> )

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* : 可选参数,指定是否嵌套展开块中的嵌套块

返回值:
返回包含块中所有图元的列表

示例用法1:
(xdrx-block->entities "MyBlock")
返回: (<图元1> <图元2> ...) - 块"MyBlock"中的所有图元

示例用法2:
(xdrx-block->entities (car (entsel)) T)
返回: 展开选中块及其嵌套块中的所有图元

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 可选参数T控制是否展开嵌套块
3. 返回图元列表可直接用于后续操作
4. 无效输入返回nil
5. 块不存在返回nil
------------------------------------------------------------
12
函数名称: xdrx-block->insert

描述:
该函数获取AutoCAD中指定块的所有插入引用(块参照),支持通过块名或块实体访问。

调用格式:
(xdrx-block->insert <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回包含该块所有插入引用的选择集

示例用法1:
(xdrx-block->insert "MyBlock")
返回: <选择集: 1> - 包含所有"MyBlock"的块参照

示例用法2:
(setq ss (xdrx-block->insert (car (entsel))))
返回: 将选中块的所有参照存入ss变量

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回选择集可直接用于后续操作
3. 选择集包含当前图形中所有该块的参照
4. 无效输入返回nil
5. 块不存在返回nil
------------------------------------------------------------
13
函数名称: xdrx-block<-attdef

描述:
该函数向AutoCAD块中添加或修改属性定义,支持通过块名或块实体访问。

调用格式:
(xdrx-block<-attdef <块名/块实体> <标记> <插入点> <提示> <默认值> <文字样式> <高度> [旋转角度] [对齐方式] [垂直对齐] [不可见] [验证] [预置] [常量])

参数说明:
* : 可选参数,指定不更新块参照
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* <标记>: 必需参数,属性标记字符串
* <插入点>: 必需参数,属性插入点(3D点)
* <提示>: 必需参数,属性提示字符串
* <默认值>: 必需参数,属性默认值字符串
* <文字样式>: 必需参数,文字样式名
* <高度>: 必需参数,文字高度
* [旋转角度]: 可选参数,文字旋转角度(弧度)
* [对齐方式]: 可选参数,文字对齐方式("Left"/"Center"/"Right"/"Align"/"Fit"/"Mid")
* [垂直对齐]: 可选参数,垂直对齐方式("Base"/"Bottom"/"Mid"/"Top")
* [不可见]: 可选参数,T表示属性不可见
* [验证]: 可选参数,T表示需要验证
* [预置]: 可选参数,T表示预置属性
* [常量]: 可选参数,T表示常量属性

返回值:
返回创建的属性定义实体

示例用法1:
(xdrx-block<-attdef "MyBlock" "TAG1" '(0 0 0) "请输入值" "" "Standard" 2.5)
返回: <图元名: 7ffff706050> - 创建的属性定义

示例用法2:
(xdrx-block<-attdef T (car (entsel)) "TAG2" '(10 10 0) "提示" "默认" "工程字" 3.0 0 "Center" "Mid")
返回: 不更新块参照的情况下创建居中属性定义

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 可选参数T控制是否更新块参照
3. 标记相同的属性会被更新
4. 返回属性定义实体
5. 无效输入返回nil
------------------------------------------------------------
14
函数名称: xdrx-block-appendentity

描述:
该函数向AutoCAD块定义中添加实体,支持通过块名或块实体访问,并可选择是否删除原实体。

调用格式:
(xdrx-block-appendentity <块名/块实体> <实体/选择集> )

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* <实体/选择集>: 必需参数,要添加的实体或选择集
* : 可选参数,指定是否删除原实体

返回值:
返回包含所有添加实体的列表

示例用法1:
(xdrx-block-appendentity "MyBlock" (car (entsel)))
返回: (<图元名: 7ffff706050>) - 添加的实体列表

示例用法2:
(xdrx-block-appendentity (car (entsel)) (ssget) T)
返回: 将选择集中的实体添加到块中并删除原实体

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 可添加单个实体或选择集
3. 可选参数T控制是否删除原实体
4. 自动处理属性定义
5. 返回添加的实体列表
------------------------------------------------------------
15
函数名称: xdrx-block-attribute2text

描述:
该函数将AutoCAD块属性转换为普通文字,支持通过块名或块实体访问,并可选择是否保留原属性。

调用格式:
(xdrx-block-attribute2text <块名/块实体> )

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* : 可选参数,指定保留原属性(默认删除)

返回值:


示例用法1:
(xdrx-block-attribute2text "MyBlock")
返回: 将块"MyBlock"的所有属性转换为文字并删除原属性

示例用法2:
(xdrx-block-attribute2text (car (entsel)) T)
返回: 将选中块的属性转换为文字但保留原属性

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 可选参数T控制是否保留原属性
3. 自动处理多行文字属性
4. 会删除空的块定义
5. 转换后的文字保留原属性格式
------------------------------------------------------------
16
函数名称: xdrx-block-attributebytag

描述:
该函数根据属性标记获取块属性或属性定义实体,支持块参照和块定义两种输入方式。

调用格式:
(xdrx-block-attributebytag <块实体/块定义> <属性标记>)

参数说明:
* <块实体/块定义>: 必需参数,块参照实体或块定义实体
* <属性标记>: 必需参数,要查找的属性标记字符串

返回值:
返回匹配的属性实体,未找到返回nil

示例用法1:
(xdrx-block-attributebytag (car (entsel)) "TAG1")
返回: <图元名: 7ffff706050> - 匹配的属性实体

示例用法2:
(xdrx-block-attributebytag blkDef "HEIGHT")
返回: 块定义中标记为"HEIGHT"的属性定义

注意事项:
1. 支持块参照和块定义两种输入方式
2. 属性标记匹配不区分大小写
3. 返回第一个匹配的属性实体
4. 未找到返回nil
5. 精确匹配属性标记
------------------------------------------------------------
17
函数名称: xdrx-block-fromfile

描述:
该函数从外部DWG文件导入块定义到当前图形,支持指定导入特定块名和控制返回值类型。

调用格式:
(xdrx-block-fromfile <DWG文件> [块名列表] )

参数说明:
* <DWG文件>: 必需参数,要导入的DWG文件路径(可省略.dwg扩展名)
* [块名列表]: 可选参数,要导入的特定块名列表
* : 可选参数,指定返回块实体而非块名

返回值:
默认返回导入的块名列表,指定T参数时返回块实体

示例用法1:
(xdrx-block-fromfile "C:/blocks/example")
返回: ("block1" "block2") - 导入的块名列表

示例用法2:
(xdrx-block-fromfile "template" '("title" "scale") T)
返回: (<图元名1> <图元名2>) - 导入的块实体列表

注意事项:
1. 支持单个或多个DWG文件输入
2. 可指定要导入的特定块名
3. 可选参数T控制返回块名或块实体
4. 自动处理文件路径和扩展名
5. 返回第一个匹配的属性实体
------------------------------------------------------------
18
函数名称: xdrx-block-getcomments

描述:
该函数获取AutoCAD块定义的注释信息,支持通过块名或块实体访问。

调用格式:
(xdrx-block-getcomments <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回块的注释字符串,无注释时返回nil

示例用法1:
(xdrx-block-getcomments "MyBlock")
返回: "这是一个示例块" - 块的注释内容

示例用法2:
(xdrx-block-getcomments (car (entsel)))
返回: 选中块的注释内容

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回块定义中的注释内容
3. 无注释时返回nil
4. 仅适用于块定义,不适用于块参照
------------------------------------------------------------
19
函数名称: xdrx-block-getentities

描述:
该函数获取AutoCAD块定义中的实体列表,支持嵌套实体查询和多种选择过滤方式。

调用格式:
(xdrx-block-getentities <块名/块实体> [选择方式] [过滤条件])

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* : 可选参数,指定包含嵌套实体
* [选择方式]: 可选参数,支持"W"(窗口)、"C"(交叉)、"WP"(多边形窗口)、"CP"(交叉多边形)
* [过滤条件]: 可选参数,DXF组码过滤条件

返回值:
返回匹配的实体列表

示例用法1:
(xdrx-block-getentities "MyBlock")
返回: (<图元1> <图元2>) - 块中的实体列表

示例用法2:
(xdrx-block-getentities (car (entsel)) T "CP" '((0 . "LINE")))
返回: 选中块中所有嵌套的LINE实体(多边形交叉选择)

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 可选参数T控制是否包含嵌套实体
3. 支持多种AutoCAD选择方式
4. 可附加DXF组码过滤条件
5. 返回实体列表
------------------------------------------------------------
20
函数名称: xdrx-block-geterased

描述:
该函数获取AutoCAD块中被删除的块参照,支持通过块名或块实体访问。

调用格式:
(xdrx-block-geterased <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回包含被删除块参照的选择集,无删除参照时返回空选择集

示例用法1:
(xdrx-block-geterased "MyBlock")
返回: <选择集: 1> - 包含被删除块参照的选择集

示例用法2:
(xdrx-block-geterased (car (entsel)))
返回: 选中块中被删除的块参照选择集

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回被删除的块参照选择集
3. 无删除参照时返回空选择集
4. 仅适用于块定义,不适用于普通实体
------------------------------------------------------------
21
函数名称: xdrx-block-getlayout

描述:
该函数获取AutoCAD块关联的布局对象,支持通过块名或块实体访问。

调用格式:
(xdrx-block-getlayout <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回关联的布局实体名,无关联布局时返回nil

示例用法1:
(xdrx-block-getlayout "MyBlock")
返回: <图元名: 7ffff706038> - 关联的布局实体

示例用法2:
(xdrx-block-getlayout (car (entsel)))
返回: 选中块关联的布局实体

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回关联的布局实体名
3. 无关联布局时返回nil
4. 仅适用于块定义,不适用于普通实体
------------------------------------------------------------
22
函数名称: xdrx-block-getorigin

描述:
该函数获取AutoCAD块的基点坐标,支持通过块名或块实体访问。

调用格式:
(xdrx-block-getorigin <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回块的基点坐标(三维点)

示例用法1:
(xdrx-block-getorigin "MyBlock")
返回: (10.0 20.0 0.0) - 块的基点坐标

示例用法2:
(xdrx-block-getorigin (car (entsel)))
返回: 选中块的基点坐标

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回块定义的基点坐标
3. 适用于块定义和块参照
4. 返回值为WCS坐标系下的点
------------------------------------------------------------
23
函数名称: xdrx-block-getpathname

描述:
该函数获取外部参照块的源文件路径,支持通过块名或块实体访问。

调用格式:
(xdrx-block-getpathname <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回外部参照块的源文件路径字符串,非外部参照块返回nil

示例用法1:
(xdrx-block-getpathname "XrefBlock")
返回: "C:/drawings/xref.dwg" - 外部参照源文件路径

示例用法2:
(xdrx-block-getpathname (car (entsel)))
返回: 选中外部参照块的源文件路径

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 仅适用于外部参照块
3. 非外部参照块返回nil
4. 返回完整文件路径
------------------------------------------------------------
24
函数名称: xdrx-block-getsortenttable

描述:
该函数获取AutoCAD块的排序实体表,支持通过块名或块实体访问,无参数时使用当前空间。

调用格式:
(xdrx-block-getsortenttable [块名/块实体])

参数说明:
* [块名/块实体]: 可选参数,可以是块名字符串或块实体,无参数时使用当前空间

返回值:
成功返回排序实体表对象,失败返回错误代码

示例用法1:
(xdrx-block-getsortenttable "MyBlock")
返回: <图元名: 7ffff706038> - 块的排序实体表

示例用法2:
(xdrx-block-getsortenttable)
返回: 当前空间的排序实体表

注意事项:
1. 参数可选,无参数时使用当前空间
2. 支持通过块名或块实体两种输入方式
3. 返回排序实体表对象
4. 失败时返回错误代码
5. 排序实体表控制显示顺序
------------------------------------------------------------
25
函数名称: xdrx-block-getxrefdatabase

描述:
该函数获取外部参照块的源数据库对象,支持通过块名或块实体访问。

调用格式:
(xdrx-block-getxrefdatabase <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回外部参照块的源数据库对象,非外部参照块返回nil

示例用法1:
(xdrx-block-getxrefdatabase "XrefBlock")
返回: <数据库对象> - 外部参照的源数据库

示例用法2:
(xdrx-block-getxrefdatabase (car (entsel)))
返回: 选中外部参照块的源数据库对象

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 仅适用于外部参照块
3. 非外部参照块返回nil
4. 返回的是数据库对象而非文件路径
5. 可用于直接操作外部参照源数据
------------------------------------------------------------
27
函数名称: xdrx-block-hasattdef

描述:
该函数检查块定义是否包含属性定义,支持通过块名或块实体访问。

调用格式:
(xdrx-block-hasattdef <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回T表示块包含属性定义,nil表示不包含

示例用法1:
(xdrx-block-hasattdef "TitleBlock")
返回: T - 表示块包含属性定义

示例用法2:
(xdrx-block-hasattdef (car (entsel)))
返回: 选中块是否包含属性定义

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回T表示有属性定义,nil表示无
3. 仅检查块定义中的属性定义
4. 不检查块参照中的属性值
------------------------------------------------------------
28
函数名称: xdrx-block-isanonymous

描述:
该函数检查块是否为匿名块,支持通过块名或块实体访问。

调用格式:
(xdrx-block-isanonymous <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回T表示是匿名块,nil表示不是

示例用法1:
(xdrx-block-isanonymous "*U1")
返回: T - 表示是匿名块

示例用法2:
(xdrx-block-isanonymous (car (entsel)))
返回: 选中块是否为匿名块

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回T表示是匿名块,nil表示不是
3. 适用于动态块等匿名块类型
4. 匿名块通常以"*"开头命名
------------------------------------------------------------
29
函数名称: xdrx-block-islayout

描述:
该函数检查块是否为布局,支持通过块名或块实体访问。

调用格式:
(xdrx-block-islayout <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回T表示是布局,nil表示不是

示例用法1:
(xdrx-block-islayout "Layout1")
返回: T - 表示是布局

示例用法2:
(xdrx-block-islayout (car (entsel)))
返回: 选中块是否为布局

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回T表示是布局,nil表示不是
3. 适用于检查模型空间和图纸空间
4. 布局通常用于图纸空间
------------------------------------------------------------
30
函数名称: xdrx-block-isoverlay

描述:
该函数检查块参照是否为覆盖型外部参照,仅接受块参照实体作为输入。

调用格式:
(xdrx-block-isoverlay <块参照实体>)

参数说明:
* <块参照实体>: 必需参数,必须是块参照实体

返回值:
返回T表示是覆盖型外部参照,nil表示不是

示例用法1:
(xdrx-block-isoverlay (car (entsel)))
返回: T - 表示选中的块参照是覆盖型外部参照

注意事项:
1. 仅接受块参照实体作为输入
2. 返回T表示是覆盖型外部参照,nil表示不是
3. 区别于附着型外部参照
4. 覆盖型外部参照不会嵌套显示
------------------------------------------------------------
31
函数名称: xdrx-block-isunloaded

描述:
该函数检查块是否已卸载,支持通过块名或块实体访问。

调用格式:
(xdrx-block-isunloaded <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回T表示块已卸载,nil表示未卸载

示例用法1:
(xdrx-block-isunloaded "XrefBlock")
返回: T - 表示外部参照块已卸载

示例用法2:
(xdrx-block-isunloaded (car (entsel)))
返回: 选中块是否已卸载

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回T表示块已卸载,nil表示未卸载
3. 主要用于检查外部参照块的状态
4. 卸载的块仍保留在图形中但不显示
------------------------------------------------------------
32
函数名称: xdrx-block-make

描述:
该函数创建块定义,支持创建匿名块、命名块,以及从现有实体创建块。

调用格式:
(xdrx-block-make) - 创建匿名块
(xdrx-block-make "块名") - 创建命名块
(xdrx-block-make "块名" <实体列表> [基点] ) - 从实体创建块
(xdrx-block-make <实体列表> 基点 ) - 从实体创建匿名块

参数说明:
* "块名": 可选参数,块名称字符串
* <实体列表>: 要包含在块中的实体列表
* [基点]: 可选参数,块的基点坐标
* : 可选参数,创建后删除原实体

返回值:
创建匿名块时返回块名("*U"开头)
创建命名块时返回块名
从实体创建块时根据参数返回块名或块参照实体

示例用法1:
(xdrx-block-make)
返回: "*U1" - 匿名块名称

示例用法2:
(xdrx-block-make "MyBlock" (list ent1 ent2) '(0 0 0) T)
返回: 创建包含ent1,ent2的块并返回块参照实体

注意事项:
1. 支持创建匿名块和命名块
2. 支持从现有实体创建块
3. 支持指定基点
4. 可选删除原实体
5. 匿名块名以"*U"开头
------------------------------------------------------------
33
函数名称: xdrx-block-makethumbnail

描述:
该函数为指定块创建缩略图位图,支持通过块名或块实体访问。

调用格式:
(xdrx-block-makethumbnail <块名/块实体>)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体

返回值:
返回T表示缩略图创建成功,nil表示失败

示例用法1:
(xdrx-block-makethumbnail "MyBlock")
返回: T - 表示块缩略图创建成功

示例用法2:
(xdrx-block-makethumbnail (car (entsel)))
返回: 选中块的缩略图是否创建成功

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 返回T表示创建成功,nil表示失败
3. 主要用于生成块预览图像
4. 缩略图保存在系统临时目录
------------------------------------------------------------
34
函数名称: xdrx-block->bmp

描述:
该函数将指定块导出为BMP图像文件,支持通过块名或块实体访问。

调用格式:
(xdrx-block->bmp <块名/块实体> "输出文件路径")

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* "输出文件路径": 必需参数,BMP文件保存路径

返回值:
返回T表示导出成功,nil表示失败

示例用法1:
(xdrx-block->bmp "MyBlock" "C:/temp/block.bmp")
返回: T - 表示块已成功导出为BMP

示例用法2:
(xdrx-block->bmp (car (entsel)) "C:/temp/selected.bmp")
返回: 选中块是否成功导出为BMP

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 必须指定完整的输出文件路径
3. 返回T表示导出成功,nil表示失败
4. 输出为标准的BMP位图格式
------------------------------------------------------------
35
函数名称: xdrx-block-setcomments

描述:
该函数设置块的注释信息,支持通过块名或块实体访问。

调用格式:
(xdrx-block-setcomments <块名/块实体> "注释内容")

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* "注释内容": 必需参数,要设置的注释文本

返回值:
返回T表示注释设置成功,nil表示失败

示例用法1:
(xdrx-block-setcomments "MyBlock" "这是一个测试块")
返回: T - 表示块注释设置成功

示例用法2:
(xdrx-block-setcomments (car (entsel)) "重要参考块")
返回: 选中块的注释是否设置成功

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 注释内容必须为字符串
3. 返回T表示设置成功,nil表示失败
4. 注释信息保存在块定义中
------------------------------------------------------------
36
函数名称: xdrx-block-setisunloaded

描述:
该函数设置块的卸载状态,支持通过块名或块实体访问。

调用格式:
(xdrx-block-setisunloaded <块名/块实体> T/nil)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* T/nil: 必需参数,T表示卸载块,nil表示加载块

返回值:
返回T表示状态设置成功,nil表示失败

示例用法1:
(xdrx-block-setisunloaded "MyBlock" T)
返回: T - 表示块已成功设置为卸载状态

示例用法2:
(xdrx-block-setisunloaded (car (entsel)) nil)
返回: 选中块是否成功设置为加载状态

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 状态参数必须为T或nil
3. 返回T表示设置成功,nil表示失败
4. 卸载的块仍保留在图形中但不显示
------------------------------------------------------------
37
函数名称: xdrx-block-setorigin

描述:
该函数设置块的基点坐标,支持通过块名或块实体访问。

调用格式:
(xdrx-block-setorigin <块名/块实体> 基点坐标)

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* 基点坐标: 必需参数,块的新基点三维坐标

返回值:
返回T表示基点设置成功,nil表示失败

示例用法1:
(xdrx-block-setorigin "MyBlock" '(10 20 0))
返回: T - 表示块基点设置成功

示例用法2:
(xdrx-block-setorigin (car (entsel)) '(0 0 0))
返回: 选中块的基点是否设置成功

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 基点坐标必须为三维点
3. 返回T表示设置成功,nil表示失败
4. 基点影响块插入时的定位
------------------------------------------------------------
38
函数名称: xdrx-block-setpathname

描述:
该函数设置外部参照块的源文件路径,支持通过块名或块实体访问。

调用格式:
(xdrx-block-setpathname <块名/块实体> "路径字符串")

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* "路径字符串": 必需参数,外部参照源文件的新路径

返回值:
返回T表示路径设置成功,nil表示失败

示例用法1:
(xdrx-block-setpathname "XrefBlock" "C:/xrefs/newpath.dwg")
返回: T - 表示外部参照路径设置成功

示例用法2:
(xdrx-block-setpathname (car (entsel)) "D:/projects/xref.dwg")
返回: 选中外部参照块的路径是否设置成功

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 路径参数必须为字符串
3. 主要用于外部参照块
4. 返回T表示设置成功,nil表示失败
5. 路径应为有效的DWG文件路径
------------------------------------------------------------
39
函数名称: xdrx-block-text2attribute

描述:
该函数将块中的文本对象转换为属性定义,支持通过块名或块实体访问。

调用格式:
(xdrx-block-text2attribute <块名/块实体> [文本实体列表])

参数说明:
* <块名/块实体>: 必需参数,可以是块名字符串或块实体
* [文本实体列表]: 可选参数,要转换的文本实体列表

返回值:
返回成功转换的属性数量

示例用法1:
(xdrx-block-text2attribute "MyBlock")
返回: 3 - 表示块内所有文本已转换为3个属性

示例用法2:
(xdrx-block-text2attribute (car (entsel)) (list txt1 txt2))
返回: 2 - 表示成功转换2个指定文本为属性

注意事项:
1. 支持通过块名或块实体两种输入方式
2. 不指定文本实体时转换块内所有文本
3. 返回转换成功的属性数量
4. 仅转换普通文本和多行文本对象
5. 转换后原文本对象将被删除
------------------------------------------------------------
40
函数名称: xdrx-block-update
函数别名: xdrx-block-updatedisplay

描述:
该函数更新指定块的所有参照实例,支持通过块名或块实体列表输入。

调用格式:
(xdrx-block-update <块名/块实体>...)

参数说明:
* <块名/块实体>: 可变参数,可以是多个块名字符串或块实体

返回值:
返回T表示至少成功更新一个块,nil表示全部失败

示例用法1:
(xdrx-block-update "Block1" "Block2")
返回: T - 表示两个块的参照实例已更新

示例用法2:
(xdrx-block-update (car (entsel))
返回: 选中块的参照实例是否更新成功

注意事项:
1. 支持同时更新多个块
2. 自动处理块定义和块参照
3. 返回T表示至少成功更新一个块
4. 主要用于块修改后强制更新显示
5. 会触发图形重生成
------------------------------------------------------------


页: [1]
查看完整版本: XDrxAPI 40 个 BLOCK 函数帮助手册