XDrxAPI 11 个 DrawOrder 函数帮助手册
1函数名称: xdrx-draworder->back
函数别名: xdrx-draworder->bottom
描述:
将选定实体移动到绘图顺序的底部(第一个实体决定操作空间)
调用格式:
(xdrx-draworder->back <实体名或选择集...>)
参数说明:
* 第一个实体: 决定操作所在的模型空间/布局空间/块定义
* 后续实体: 必须与第一个实体位于同一空间
返回值:
无返回值
示例用法1:
(xdrx-draworder->back ent1 ent2 ent3)
; 将同空间的三个实体移到底部
示例用法2:
(xdrx-draworder->back (ssget))
; 将当前空间的选择集移到底部
注意事项:
1. 第一个实体决定了操作的空间范围
2. 所有实体必须属于同一空间(模型/布局/块)
3. 混合不同空间的实体将导致操作失败
4. 会自动过滤无效实体
5. 线程安全操作,会临时锁定文档
------------------------------------------------------------
2
函数名称: xdrx-draworder->top
描述:
将选定实体移动到绘图顺序的顶部(第一个实体决定操作空间)
调用格式:
(xdrx-draworder->top <实体名或选择集...>)
参数说明:
* 第一个实体/选择集: 决定操作所在的模型空间/布局空间/块定义
* 后续实体: 必须与第一个实体位于同一空间
返回值:
无返回值
示例用法1:
(xdrx-draworder->top ent1 ent2 ent3)
; 将同空间的三个实体移到顶部
示例用法2:
(xdrx-draworder->top (ssget))
; 将当前空间的选择集移到顶部
注意事项:
1. 支持直接输入实体名或选择集
2. 选择集中第一个实体决定操作空间
3. 所有实体必须属于同一空间
4. 自动跳过无效实体
5. 线程安全操作(自动锁定文档)
------------------------------------------------------------
2
函数名称: xdrx-draworder->top
描述:
将选定实体移动到绘图顺序的顶部(第一个实体决定操作空间)
调用格式:
(xdrx-draworder->top <实体名或选择集...>)
参数说明:
* 第一个实体/选择集: 决定操作所在的模型空间/布局空间/块定义
* 后续实体: 必须与第一个实体位于同一空间
返回值:
无返回值
示例用法1:
(xdrx-draworder->top ent1 ent2 ent3)
; 将同空间的三个实体移到顶部
示例用法2:
(xdrx-draworder->top (ssget))
; 将当前空间的选择集移到顶部
注意事项:
1. 支持直接输入实体名或选择集
2. 选择集中第一个实体决定操作空间
3. 所有实体必须属于同一空间
4. 自动跳过无效实体
5. 线程安全操作(自动锁定文档)
------------------------------------------------------------
3
函数名称: xdrx-draworder-above
描述:
将实体移动到目标实体上方(保持相同空间)
调用格式:
(xdrx-draworder-above <目标实体> <移动实体或选择集...>)
参数说明:
1. 目标实体: 决定操作空间并提供位置参照
2. 移动实体: 单个实体或选择集(必须与目标同空间)
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-draworder-above targetEnt movingEnt)
; 将movingEnt移到targetEnt上方
示例用法2:
(xdrx-draworder-above targetEnt (ssget))
; 将选择集移到targetEnt上方
注意事项:
1. 第一个参数必须是有效目标实体
2. 所有实体必须与目标同空间
3. 支持混合输入(实体名+选择集)
4. 自动过滤无效实体
5. 会创建SortentsTable(如不存在)
------------------------------------------------------------
4
函数名称: xdrx-draworder-below
描述:
将实体移动到目标实体下方(保持相同空间)
调用格式:
(xdrx-draworder-below <目标实体> <移动实体或选择集...>)
参数说明:
1. 目标实体: 决定操作空间并提供位置参照
2. 移动实体: 单个实体或选择集(必须与目标同空间)
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-draworder-below targetEnt movingEnt)
; 将movingEnt移到targetEnt下方
示例用法2:
(xdrx-draworder-below targetEnt (ssget))
; 将选择集移到targetEnt下方
注意事项:
1. 参数顺序与xdrx-draworder-above一致
2. 所有实体必须与目标同空间
3. 自动处理无效输入
4. 线程安全操作
5. 会维护SortentsTable状态
------------------------------------------------------------
5
函数名称: xdrx-draworder-getfullorder
描述:
获取指定空间的完整实体显示顺序列表
调用格式:
(xdrx-draworder-getfullorder [空间实体] )
参数说明:
1. 空间实体(可选):
- 不指定: 当前空间
- 模型/图纸空间实体: 返回选择集
- 块定义实体: 返回实体名表
2. bits标记(可选):
- 位掩码控制排序行为
- 0(默认): 使用SortentsTable顺序
- 1: 检查$SORTENTS系统变量
- 其他位保留
返回值:
1. 模型/图纸空间: 选择集
2. 块定义空间: 实体名表
3. 错误时返回nil
示例用法1:
(xdrx-draworder-getfullorder)
; 获取当前空间实体显示顺序选择集
示例用法2:
(xdrx-draworder-getfullorder blockEnt)
; 获取块空间实体显示顺序名表
注意事项:
1. 精确反映实体在AutoCAD中的显示顺序
2. bits=1时会考虑系统显示设置
3. 线程安全操作
4. 自动处理无效输入
------------------------------------------------------------
6
函数名称: xdrx-draworder-gethandle
描述:
获取实体在显示顺序表中的排序句柄
调用格式:
(xdrx-draworder-gethandle <实体名>)
参数说明:
1. 实体名: 必须为有效实体
返回值:
成功返回排序句柄字符串,失败返回nil
示例用法:
(xdrx-draworder-gethandle ent)
; 获取实体ent的显示顺序句柄
注意事项:
1. 仅接受单个实体输入
2. 实体必须存在于SortentsTable中
3. 返回AutoCAD句柄格式字符串
4. 线程安全操作
5. 自动处理无效输入
------------------------------------------------------------
7
函数名称: xdrx-draworder-getrelativeorder
函数别名: xdrx-ss-sortbydisplay, xdrx-entity-sortbydraw
描述:
获取实体在显示顺序中的相对位置(自动推断所属空间)
调用格式:
(xdrx-draworder-getrelativeorder <实体或选择集> )
参数说明:
1. 实体或选择集: 单个实体或选择集
2. bits标记(可选):
0 - 返回实体列表(默认)
1 - 返回选择集
返回值:
1. 成功: 实体列表或选择集
2. 失败: nil
示例用法1:
(xdrx-draworder-getrelativeorder ent)
; 获取单个实体的相对顺序
示例用法2:
(xdrx-draworder-getrelativeorder (ssget) 1)
; 获取选择集的相对顺序(返回选择集)
注意事项:
1. 自动推断实体所属空间
2. 线程安全操作
3. bits标记影响返回类型
------------------------------------------------------------
8
函数名称: xdrx-draworder-a->b-p
函数别名: xdrx-draworder-isa->b
描述:
判断实体A是否在实体B之前显示(自动获取排序表)
调用格式:
(xdrx-draworder-a->b-p <实体A> <实体B>)
参数说明:
1. 实体A: 要比较的第一个实体
2. 实体B: 要比较的第二个实体
返回值:
1. T: 实体A在实体B之前显示
2. nil: 实体A不在实体B之前显示或出错
示例用法:
(xdrx-draworder-a->b-p entA entB)
; 判断entA是否在entB之前显示
注意事项:
1. 参数必须为实体名
2. 自动从实体A获取排序表
3. 线程安全操作
------------------------------------------------------------
9
函数名称: xdrx-draworder-remove
描述:
从显示顺序表中移除指定实体
调用格式:
(xdrx-draworder-remove <实体或选择集>...)
参数说明:
1. 实体或选择集: 单个实体或多个选择集
返回值:
1. T: 成功移除
2. nil: 移除失败
示例用法1:
(xdrx-draworder-remove ent)
; 移除单个实体
示例用法2:
(xdrx-draworder-remove (ssget))
; 移除选择集中的所有实体
注意事项:
1. 支持批量操作
2. 自动更新关联块引用
3. 线程安全操作
------------------------------------------------------------
10
函数名称: xdrx-draworder-removeall
描述:
完全清除指定空间的显示顺序表
调用格式:
(xdrx-draworder-removeall [空间实体/块名/T])
参数说明:
1. 空间实体(可选): 实体名指定目标空间
2. 块名(可选): 字符串指定块名
3. T(可选): 清除所有块的显示顺序
4. 无参数: 默认清除模型空间
返回值:
1. T: 成功清除
2. nil: 清除失败
示例用法1:
(xdrx-draworder-removeall)
; 清除模型空间显示顺序
示例用法2:
(xdrx-draworder-removeall "块名")
; 清除指定块的显示顺序
示例用法3:
(xdrx-draworder-removeall T)
; 清除所有块的显示顺序
注意事项:
1. 无参数时默认操作模型空间
2. 线程安全操作
------------------------------------------------------------
11
函数名称: xdrx-draworder-swap
描述:
交换两个实体的显示顺序
调用格式:
(xdrx-draworder-swap <实体1> <实体2>)
参数说明:
1. 实体1: 第一个要交换的实体
2. 实体2: 第二个要交换的实体
返回值:
1. T: 交换成功
2. nil: 交换失败
示例用法:
(xdrx-draworder-swap ent1 ent2)
; 交换ent1和ent2的显示顺序
注意事项:
1. 参数必须为有效实体
2. 自动处理块引用更新
3. 线程安全操作
------------------------------------------------------------
页:
[1]