XDrxAPI 16 个 XREF 函数帮助文档
1函数名称: xdrx-xref-allocate-name
函数别名: xdrx-xref-createblockname
描述:
为外部参照分配唯一的块名称
调用格式:
(xdrx-xref-allocate-name <外部参照路径>)
参数说明:
* <外部参照路径>: 外部参照文件路径(RTSTR)
返回值:
生成的唯一块名称字符串
示例用法1:
(xdrx-xref-allocate-name "D:/drawings/外部参照.dwg")
; 返回类似"外部参照$0$12345"的唯一名称
注意事项:
1. 返回的名称保证在当前图纸中唯一
2. 名称基于文件路径自动生成
3. 用于后续外部参照绑定操作
------------------------------------------------------------
2
函数名称: xdrx-xref-attach
描述:
附加外部参照到当前图纸
调用格式:
(xdrx-xref-attach <外部参照路径> <块名称> [插入点] [旋转角度] [数据库] [密码] )
参数说明:
* <外部参照路径>: 外部参照文件路径(RTSTR)
* <块名称>: 外部参照的块名称(RTSTR)
* [插入点]: 外部参照插入点(RT3DPOINT)
* [旋转角度]: 旋转角度(弧度)(RTREAL/RTSHORT)
* : X方向缩放比例(RTREAL/RTSHORT)
* : Y方向缩放比例(RTREAL/RTSHORT)
* : Z方向缩放比例(RTREAL/RTSHORT)
* [数据库]: 目标数据库(RTENAME)
* [密码]: 外部参照密码(RTSTR)
* : 显示附加对话框(RTT)
返回值:
包含外部参照实体和块表记录实体的列表
示例用法1:
(xdrx-xref-attach "D:/xref.dwg" "外部参照1" '(0 0 0) 0.0 1.0 1.0 1.0)
; 在原点附加外部参照,不旋转,比例1:1:1
示例用法2:
(xdrx-xref-attach "D:/xref.dwg" "外部参照1" '(100 100 0) (/ pi 4) 0.5 0.5 1.0)
; 在(100,100)附加,旋转45度,XY比例0.5
注意事项:
1. 前两个参数是必须的
2. 默认插入点为(0,0,0),旋转角度0,比例1:1:1
3. 返回的列表中第一个元素是外部参照实体,第二个是块表记录
4. 密码参数用于加密的外部参照
------------------------------------------------------------
3
函数名称: xdrx-xref-bind
描述:
绑定外部参照到当前图纸
调用格式:
(xdrx-xref-bind <块名/块参照> [数据库] )
参数说明:
* <块名/块参照>: 外部参照块名或块参照实体(RTSTR/RTENAME)
* [数据库]: 目标数据库(RTENAME)
* : 第一个T表示使用插入绑定方式(RTT)
* : 第二个T表示显示绑定对话框(RTT)
返回值:
绑定成功返回T,否则返回nil
示例用法1:
(xdrx-xref-bind "外部参照1")
; 绑定名为"外部参照1"的外部参照
示例用法2:
(xdrx-xref-bind blkref T)
; 使用插入绑定方式绑定块参照
示例用法3:
(xdrx-xref-bind "外部参照1" T T)
; 使用插入绑定方式并显示对话框
注意事项:
1. 默认使用绑定方式(保留外部参照命名结构)
2. 使用插入绑定方式会合并外部参照到当前图纸
3. 绑定后外部参照变为普通块
------------------------------------------------------------
4
函数名称: xdrx-xref-clone
函数别名: xdrx-xref-ncopy
描述:
克隆外部参照中的指定实体
调用格式:
(xdrx-xref-clone <块参照> <实体1> <实体2> ...)
参数说明:
* <块参照>: 外部参照块实体(RTENAME)
* <实体1> <实体2> ...: 要克隆的实体列表(RTENAME)
返回值:
成功返回T,否则返回nil
示例用法1:
(xdrx-xref-clone blkref ent1 ent2 ent3)
; 克隆外部参照中的三个实体
示例用法2:
(setq ents (xdrx-ss->ents (ssget)))
(xdrx-xref-clone blkref (car ents) (cadr ents))
; 克隆选择集中的前两个实体
注意事项:
1. 第一个参数必须是外部参照块实体
2. 克隆的实体将保持原始位置和属性
3. 适用于从外部参照中提取特定实体
------------------------------------------------------------
5
函数名称: xdrx-xref-dbresolve
描述:
解析当前图纸中的外部参照
调用格式:
(xdrx-xref-dbresolve [数据库] )
参数说明:
* [数据库]: 目标数据库(RTENAME)
* : 第一个T表示使用线程引擎(RTT),NIL表示不使用
* : 第二个T表示仅解析新参照(RTT),NIL表示解析所有
返回值:
成功返回T,否则返回nil
示例用法1:
(xdrx-xref-dbresolve)
; 使用默认设置解析所有外部参照
示例用法2:
(xdrx-xref-dbresolve T T)
; 使用线程引擎仅解析新参照
注意事项:
1. 仅支持AutoCAD 2005及以上版本
2. 默认使用线程引擎并解析所有参照
3. 解析可更新外部参照的最新状态
------------------------------------------------------------
6
函数名称: xdrx-xref-detach
描述:
从当前图纸中分离外部参照
调用格式:
(xdrx-xref-detach <块名/块参照> [数据库] )
参数说明:
* <块名/块参照>: 外部参照块名或块参照实体(RTSTR/RTENAME)
* [数据库]: 目标数据库(RTENAME)
* : 显示分离对话框(RTT)
返回值:
分离成功返回T,否则返回nil
示例用法1:
(xdrx-xref-detach "外部参照1")
; 分离名为"外部参照1"的外部参照
示例用法2:
(xdrx-xref-detach blkref T)
; 分离块参照并显示对话框
注意事项:
1. 分离操作不可撤销
2. 默认静默模式不显示对话框
3. 分离后外部参照定义将从图纸中移除
------------------------------------------------------------
7
函数名称: xdrx-xref-edresolve
描述:
解析当前编辑中的外部参照
调用格式:
(xdrx-xref-edresolve [数据库] )
参数说明:
* [数据库]: 目标数据库(RTENAME)
* : 显示解析对话框(RTT)
返回值:
解析成功返回T,否则返回nil
示例用法1:
(xdrx-xref-edresolve)
; 静默解析所有编辑中的外部参照
示例用法2:
(xdrx-xref-edresolve T)
; 显示对话框解析外部参照
注意事项:
1. 仅解析当前编辑中的外部参照
2. 默认静默模式不显示对话框
3. 解析可更新外部参照到最新状态
------------------------------------------------------------
8
函数名称: xdrx-xref-get-graph
描述:
获取当前图纸的外部参照关系图
调用格式:
(xdrx-xref-get-graph [数据库] )
参数说明:
* [数据库]: 目标数据库(RTENAME)
* : 包含幽灵参照(RTT)
返回值:
返回外部参照关系图实体
示例用法1:
(xdrx-xref-get-graph)
; 获取当前图纸的外部参照关系图
示例用法2:
(xdrx-xref-get-graph T)
; 获取包含幽灵参照的关系图
注意事项:
1. 关系图实体可用于分析外部参照层级
2. 默认不包含幽灵参照
3. 返回的实体需要手动释放
------------------------------------------------------------
9
函数名称: xdrx-xref-graph-make
描述:
创建新的外部参照关系图
调用格式:
(xdrx-xref-graph-make [参照图节点])
参数说明:
* [参照图节点]: 参照图节点实体(RTENAME)
返回值:
返回新建的外部参照关系图实体
示例用法1:
(xdrx-xref-graph-make)
; 创建空的外部参照关系图
示例用法2:
(setq node (xdrx-xref-get-graph))
(xdrx-xref-graph-make node)
; 基于现有节点创建关系图
注意事项:
1. 无参数时创建空关系图
2. 返回的实体需要手动释放
3. 可用于构建自定义参照关系
------------------------------------------------------------
10
函数名称: xdrx-xref-graph-node-make
描述:
创建外部参照关系图节点
调用格式:
(xdrx-xref-graph-node-make [参照名称] [块ID] [数据库] [状态])
参数说明:
* [参照名称]: 外部参照名称(RTSTR)
* [块ID]: 块表记录ID(RTENAME)
* [数据库]: 目标数据库(RTENAME)
* [状态]: 参照状态(RTSHORT)
返回值:
返回新建的参照图节点实体
示例用法1:
(xdrx-xref-graph-node-make)
; 创建空的参照图节点
示例用法2:
(xdrx-xref-graph-node-make "XREF1" blkId dbId 1)
; 创建指定参数的参照图节点
注意事项:
1. 无参数时创建空节点
2. 状态参数: 0=未解析,1=已解析,2=未找到
3. 返回的实体需要手动释放
------------------------------------------------------------
11
函数名称: xdrx-xref-list
描述:
列出当前图纸或指定图纸中的外部参照
调用格式:
(xdrx-xref-list [状态] [文件路径])
参数说明:
* [状态]: 参照状态过滤条件(RTT/RTNIL/RTSHORT)
* [文件路径]: 目标DWG文件路径(RTSTR)
返回值:
返回外部参照名称列表或实体列表
示例用法1:
(xdrx-xref-list)
; 列出当前图纸所有外部参照名称
示例用法2:
(xdrx-xref-list T)
; 列出当前图纸所有外部参照实体
示例用法3:
(xdrx-xref-list 1 "C:/drawing.dwg")
; 列出指定图纸中已解析的外部参照
注意事项:
1. 状态参数: 1=已解析,2=未解析,3=未找到,4=文件丢失,5=循环参照
2. 无参数时返回名称列表
3. 使用T参数返回实体列表
------------------------------------------------------------
12
函数名称: xdrx-xref-overlay
描述:
附加覆盖型外部参照到当前图纸
调用格式:
(xdrx-xref-overlay <文件路径> <块名> [插入点] [旋转角度] [数据库] [密码])
参数说明:
* <文件路径>: 外部参照文件路径(RTSTR)
* <块名>: 外部参照块名(RTSTR)
* [插入点]: 参照插入点(RT3DPOINT)
* [旋转角度]: 旋转角度(RTREAL/RTSHORT)
* : X方向比例(RTREAL/RTSHORT)
* : Y方向比例(RTREAL/RTSHORT)
* : Z方向比例(RTREAL/RTSHORT)
* : 显示对话框(RTT)
* [数据库]: 目标数据库(RTENAME)
* [密码]: DWG文件密码(RTSTR)
返回值:
成功返回(参照实体 块表记录),失败返回nil
示例用法1:
(xdrx-xref-overlay "C:/xref.dwg" "XREF1")
; 附加覆盖型外部参照
示例用法2:
(xdrx-xref-overlay "C:/xref.dwg" "XREF1" '(0 0 0) 0 1 1 1)
; 指定位置和比例附加参照
注意事项:
1. 覆盖型参照不会嵌套显示
2. 默认比例为1:1:1
3. 默认插入点为原点
4. 需要文件访问权限
------------------------------------------------------------
13
函数名称: xdrx-xref-reload
描述:
重新加载指定的外部参照
调用格式:
(xdrx-xref-reload <块名/块参照> [数据库] )
参数说明:
* <块名/块参照>: 外部参照块名或块参照实体(RTSTR/RTENAME)
* [数据库]: 目标数据库(RTENAME)
* : 显示重载对话框(RTT)
返回值:
重载成功返回T,否则返回nil
示例用法1:
(xdrx-xref-reload "外部参照1")
; 重载名为"外部参照1"的外部参照
示例用法2:
(xdrx-xref-reload blkref T)
; 重载块参照并显示对话框
注意事项:
1. 重载会更新外部参照到最新版本
2. 默认静默模式不显示对话框
3. 需要外部参照文件可访问
------------------------------------------------------------
14
函数名称: xdrx-xref-repath
描述:
修改外部参照的路径
调用格式:
(xdrx-xref-repath <参照文件名> <新路径>)
参数说明:
* <参照文件名>: 外部参照文件名(RTSTR)
* <新路径>: 新的参照文件路径(RTSTR)
返回值:
修改成功返回T,否则返回nil
示例用法1:
(xdrx-xref-repath "外部参照1.dwg" "C:/新路径/")
; 修改外部参照1的路径
示例用法2:
(xdrx-xref-repath "建筑.dwg" "D:/项目/最新版本/")
; 更新建筑参照的路径
注意事项:
1. 路径可以是绝对路径或相对路径
2. 仅修改路径,不重新加载参照
3. 需要文件访问权限
------------------------------------------------------------
16
函数名称: xdrx-xref-xbind
描述:
将外部参照中的对象绑定到当前图纸
调用格式:
(xdrx-xref-xbind <实体列表> [数据库] )
参数说明:
* <实体列表>: 要绑定的对象实体列表(RTENAME)
* [数据库]: 目标数据库(RTENAME)
* : 显示绑定对话框(RTT)
返回值:
绑定成功返回T,否则返回nil
示例用法1:
(xdrx-xref-xbind (list ent1 ent2))
; 绑定指定实体到当前图纸
示例用法2:
(xdrx-xref-xbind (list ent1 ent2) T)
; 绑定实体并显示对话框
注意事项:
1. 绑定后对象成为当前图纸的一部分
2. 默认静默模式不显示对话框
3. 绑定后原外部参照仍保留
------------------------------------------------------------
页:
[1]