- UID
- 1
- 积分
- 16104
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-3
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1
函数名称: xdrx-table-alignment
描述:
获取表格单元格的对齐方式(支持全局表格指针优化)
调用格式:
(xdrx-table-alignment <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 若该表格已通过xdrx-table-open打开:
- 直接使用全局表格指针操作(高效)
2. 若未通过xdrx-table-open打开:
- 临时打开表格实体操作(效率较低)
返回值:
返回表示对齐方式的整数代码:
0 = 左上对齐
1 = 中上对齐
2 = 右上对齐
3 = 左中对齐
4 = 中心对齐
5 = 右中对齐
6 = 左下对齐
7 = 中下对齐
8 = 右下对齐
性能建议:
1. 批量操作前先调用xdrx-table-open
2. 操作完成后调用xdrx-table-close
------------------------------------------------------------
2
函数名称: xdrx-table-attachmentpoint
描述:
获取表格单元格的附着点坐标
调用格式:
(xdrx-table-attachmentpoint <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
返回值:
返回单元格附着点的三维坐标点表(x y z)
示例用法:
(xdrx-table-attachmentpoint table-ent 1 1)
; 获取第1行第1列单元格的附着点
注意事项:
1. 批量操作建议配合xdrx-table-open使用
2. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
3
函数名称: xdrx-table-backgroundcolor
描述:
获取表格行或单元格的背景色
调用格式:
(xdrx-table-backgroundcolor <表格实体> <行号> [列号])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标行号(整数)
* [列号]: 可选参数,目标列号(整数)
返回值:
返回背景色的颜色索引值(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
示例用法1:
(xdrx-table-backgroundcolor table-ent 1)
; 获取第1行的背景色
示例用法2:
(xdrx-table-backgroundcolor table-ent 1 1)
; 获取第1行第1列单元格的背景色
注意事项:
1. 批量操作建议配合xdrx-table-open使用
2. 操作完成后建议调用xdrx-table-close
3. 返回值根据AutoCAD版本不同可能为颜色索引或真彩色值
------------------------------------------------------------
4
函数名称: xdrx-table-basepoint
函数别名: xdrx-table-position
描述:
获取表格的基点坐标(支持全局表格指针优化)
调用格式:
(xdrx-table-basepoint <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
返回值:
返回表格基点的三维坐标点表(x y z)
示例用法:
(xdrx-table-basepoint table-ent)
; 获取表格的基点坐标
注意事项:
1. 基点为表格的插入点位置
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
5
函数名称: xdrx-table-blockid
描述:
获取表格单元格关联的块定义ID
调用格式:
(xdrx-table-blockid <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
返回值:
返回单元格关联的块定义实体名(ENAME),若无关联块则返回nil
示例用法:
(xdrx-table-blockid table-ent 1 1)
; 获取第1行第1列单元格关联的块定义
注意事项:
1. 仅返回包含块引用的单元格结果
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
6
函数名称: xdrx-table-blockrotation
描述:
获取表格单元格中块参照的旋转角度
调用格式:
(xdrx-table-blockrotation <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
返回值:
返回块参照的旋转角度(弧度值)
示例用法:
(xdrx-table-blockrotation table-ent 1 1)
; 获取第1行第1列单元格中块参照的旋转角度
注意事项:
1. 仅对包含块参照的单元格有效
2. 返回值为弧度制,非角度制
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
7
函数名称: xdrx-table-blockscale
描述:
获取表格单元格中块参照的比例因子
调用格式:
(xdrx-table-blockscale <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
返回值:
返回块参照的比例因子(实数)
示例用法:
(xdrx-table-blockscale table-ent 1 1)
; 获取第1行第1列单元格中块参照的比例
注意事项:
1. 仅对包含块参照的单元格有效
2. 返回值为比例因子(1.0表示原始大小)
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
8
函数名称: xdrx-table-cellstyle
描述:
获取表格单元格的样式名称(兼容不同AutoCAD版本)
调用格式:
(xdrx-table-cellstyle <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 自动适配AutoCAD 2007及以下版本
返回值:
返回单元格样式名称字符串
示例用法:
(xdrx-table-cellstyle table-ent 1 1)
; 获取第1行第1列单元格的样式名称
注意事项:
1. 2007以下版本返回文字样式名
2. 2007以上版本返回单元格样式名
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
9
函数名称: xdrx-table-cellstyleoverrides
描述:
获取表格单元格的样式覆盖属性列表
调用格式:
(xdrx-table-cellstyleoverrides <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 返回覆盖属性代码列表
返回值:
返回包含样式覆盖属性代码的整数列表
示例用法:
(xdrx-table-cellstyleoverrides table-ent 1 1)
; 获取第1行第1列单元格的样式覆盖属性
注意事项:
1. 每个整数代表特定的样式覆盖属性
2. 需参考AutoCAD文档解析具体属性代码
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
12
函数名称: xdrx-table-clearsubselection
描述:
清除表格的子选择状态
调用格式:
(xdrx-table-clearsubselection <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 以写模式打开表格确保可修改
返回值:
无返回值,操作成功返回T
示例用法:
(xdrx-table-clearsubselection table-ent)
; 清除表格的子选择状态
注意事项:
1. 需要写权限操作表格
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
13
函数名称: xdrx-table-cleartablestyleoverrides
描述:
清除表格指定行的全局样式覆盖
调用格式:
(xdrx-table-cleartablestyleoverrides <表格实体> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行类型>: 行类型标识(0=标题行,1=表头行,2=数据行)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 以写模式打开表格确保可修改
返回值:
无返回值,操作成功返回T
示例用法:
(xdrx-table-cleartablestyleoverrides table-ent 2)
; 清除表格数据行的样式覆盖
注意事项:
1. 需要写权限操作表格
2. 行类型参数必须为0/1/2
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
14
函数名称: xdrx-table-close
描述:
关闭当前全局表格指针并释放资源
调用格式:
(xdrx-table-close)
参数说明:
无参数
实现机制:
1. 关闭并清空全局表格指针
2. 释放相关资源
返回值:
无返回值,操作成功返回T
示例用法:
(xdrx-table-close)
; 关闭当前表格操作会话
注意事项:
1. 必须与xdrx-table-open配对使用
2. 完成表格批量操作后必须调用
3. 防止表格资源泄漏
------------------------------------------------------------
15
函数名称: xdrx-table-columnwidth
描述:
获取表格指定列的宽度
调用格式:
(xdrx-table-columnwidth <表格实体> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <列号>: 目标列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 返回指定列的宽度值(实数)
返回值:
返回指定列的宽度值(实数)
示例用法:
(xdrx-table-columnwidth table-ent 1)
; 获取第1列的宽度
注意事项:
1. 列号从0开始计数
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
16
函数名称: xdrx-table-contentcolor
描述:
获取表格行或单元格的内容颜色
调用格式:
(xdrx-table-contentcolor <表格实体> <行类型>)
(xdrx-table-contentcolor <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行类型>: 行类型标识(0=标题行,1=表头行,2=数据行)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 自动适配不同AutoCAD版本的颜色索引
返回值:
返回颜色索引值(整数)
示例用法1:
(xdrx-table-contentcolor table-ent 2)
; 获取数据行的内容颜色
示例用法2:
(xdrx-table-contentcolor table-ent 1 1)
; 获取第1行第1列单元格的内容颜色
注意事项:
1. 支持两种调用方式:按行类型或按具体单元格
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
17
函数名称: xdrx-table-deletecellcontent
描述:
删除表格指定单元格的内容
调用格式:
(xdrx-table-deletecellcontent <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 以写模式打开表格确保可修改
返回值:
操作成功返回T,失败返回nil
示例用法:
(xdrx-table-deletecellcontent table-ent 1 1)
; 删除第1行第1列单元格的内容
注意事项:
1. 需要写权限操作表格
2. 仅删除内容,保留单元格格式
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
18
函数名称: xdrx-table-deletecolumns
描述:
删除表格中指定位置的列
调用格式:
(xdrx-table-deletecolumns <表格实体> <起始列> <列数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <起始列>: 要删除的起始列号(从0开始)
* <列数>: 要删除的列数(至少为1)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 以写模式打开表格确保可修改
返回值:
操作成功返回T,失败返回nil
示例用法:
(xdrx-table-deletecolumns table-ent 1 2)
; 从第1列开始删除2列
注意事项:
1. 需要写权限操作表格
2. 起始列号必须≥0,列数必须≥1
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
19
函数名称: xdrx-table-deleterows
描述:
删除表格中指定位置的行
调用格式:
(xdrx-table-deleterows <表格实体> <起始行> <行数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <起始行>: 要删除的起始行号(从0开始)
* <行数>: 要删除的行数(至少为1)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 以写模式打开表格确保可修改
返回值:
操作成功返回T,失败返回nil
示例用法:
(xdrx-table-deleterows table-ent 1 2)
; 从第1行开始删除2行
注意事项:
1. 需要写权限操作表格
2. 起始行号必须≥0,行数必须≥1
3. 批量操作建议配合xdrx-table-open使用
4. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
20
函数名称: xdrx-table-direction
描述:
获取表格的方向向量
调用格式:
(xdrx-table-direction <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 返回表格的方向向量(三维点表)
返回值:
返回表格方向向量(x y z坐标列表)
示例用法:
(xdrx-table-direction table-ent)
; 获取表格的方向向量
注意事项:
1. 方向向量表示表格的延伸方向
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
21
函数名称: xdrx-table-fieldid
描述:
获取表格单元格关联的字段ID
调用格式:
(xdrx-table-fieldid <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 返回单元格关联的字段实体名
返回值:
返回字段实体名(ENAME),若无关联字段返回nil
示例用法:
(xdrx-table-fieldid table-ent 1 1)
; 获取第1行第1列单元格关联的字段ID
注意事项:
1. 仅当单元格关联字段时返回有效值
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
22
函数名称: xdrx-table-fitsize
描述:
自动调整表格尺寸以适应内容
调用格式:
(xdrx-table-fitsize <表格实体>...)
参数说明:
* <表格实体>: 一个或多个表格实体名(ENAME或选择集)
实现机制:
1. 支持单个表格实体或选择集输入
2. 自动设置最大列宽和行高限制
3. 以写模式打开表格进行尺寸调整
返回值:
操作成功返回T
示例用法1:
(xdrx-table-fitsize table-ent)
; 调整单个表格尺寸
示例用法2:
(xdrx-table-fitsize (ssget "X" '((0 . "TABLE"))))
; 调整选择集中所有表格尺寸
注意事项:
1. 需要写权限操作表格
2. 会重置表格自动调整标志
3. 批量操作时建议锁定文档
------------------------------------------------------------
23
函数名称: xdrx-table-flowdirection
描述:
获取表格的生成方向
调用格式:
(xdrx-table-flowdirection <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针(若已通过xdrx-table-open设置)
2. 否则临时打开指定表格实体
3. 返回表格的生成方向枚举值
返回值:
返回生成方向代码(整数):
0=从左到右
1=从上到下
示例用法:
(xdrx-table-flowdirection table-ent)
; 获取表格的生成方向
注意事项:
1. 生成方向决定表格内容的扩展方式
2. 批量操作建议配合xdrx-table-open使用
3. 操作完成后建议调用xdrx-table-close
------------------------------------------------------------
24
函数名称: xdrx-table-forcedautosize
描述:
强制设置表格自动调整尺寸参数
调用格式:
(xdrx-table-forcedautosize T [最大行高] [最大列宽])
(xdrx-table-forcedautosize nil)
参数说明:
* T/nil: 启用/禁用自动调整
* [最大行高]: 可选,行高上限值(实数)
* [最大列宽]: 可选,列宽上限值(实数)
实现机制:
1. 设置全局自动调整标志
2. 可指定行高和列宽限制
3. 禁用时重置为默认值(1e10)
返回值:
启用时返回当前设置的行高和列宽
示例用法1:
(xdrx-table-forcedautosize T 50 100)
; 启用自动调整,行高≤50,列宽≤100
示例用法2:
(xdrx-table-forcedautosize nil)
; 禁用自动调整
注意事项:
1. 参数需按顺序提供
2. 影响后续所有表格操作
3. 默认最大值为1e10(无限制)
------------------------------------------------------------
25
函数名称: xdrx-table-getblockattributevalue
描述:
获取表格单元格中块参照的属性值
调用格式:
(xdrx-table-getblockattributevalue <表格实体> <行号> <列号> <块实体> <属性标记>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 单元格行号(整数)
* <列号>: 单元格列号(整数)
* <块实体>: 块参照实体名(ENAME)
* <属性标记>: 属性标记字符串
实现机制:
1. 优先使用全局表格指针
2. 通过表格API获取块属性值
3. 返回属性值字符串
返回值:
成功返回属性值字符串,失败返回nil
示例用法:
(xdrx-table-getblockattributevalue table-ent 1 1 block-ent "TAG")
; 获取第1行第1列单元格中块参照的"TAG"属性值
注意事项:
1. 需要确保单元格包含指定块参照
2. 块参照必须包含指定属性标记
3. 批量操作建议配合xdrx-table-open使用
------------------------------------------------------------
26
函数名称: xdrx-table-getcellextents
描述:
获取表格单元格的边界范围
调用格式:
(xdrx-table-getcellextents <表格实体> <行号> <列号> [T])
(xdrx-table-getcellextents <表格实体> <起始行> <结束行> <起始列> <结束列> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标行号(整数,负数表示列范围)
* <列号>: 目标列号(整数,负数表示行范围)
* [T]: 可选参数,获取外部单元格边界
实现机制:
1. 支持多种查询模式:
- 单单元格模式(行号,列号)
- 行范围模式(行号,负数列范围)
- 列范围模式(负数行号,列范围)
- 矩形区域模式(起始行,结束行,起始列,结束列)
2. 返回三维点表表示边界范围
返回值:
返回单元格边界点表(三维坐标列表)
示例用法1:
(xdrx-table-getcellextents table-ent 1 1)
; 获取第1行第1列单元格边界
示例用法2:
(xdrx-table-getcellextents table-ent -1 -3)
; 获取第1列到第3列所有行边界
注意事项:
1. 行号列号从0开始计数
2. 负数参数表示范围查询
3. 批量操作建议配合xdrx-table-open使用
------------------------------------------------------------
27
函数名称: xdrx-table-getmergecells
函数别名: xdrx-table-getmergerange
描述:
获取合并单元格的范围信息
调用格式:
(xdrx-table-getmergecells <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
实现机制:
1. 优先使用全局表格指针
2. 检查单元格是否合并
3. 返回合并范围(起始行,结束行,起始列,结束列)
返回值:
如果是合并单元格,返回范围列表,否则返回nil
示例用法:
(xdrx-table-getmergecells table-ent 1 1)
; 获取第1行第1列单元格的合并范围
注意事项:
1. 仅对AutoCAD 2007及以上版本有效
2. 2007版本使用边界检测方式
3. 更高版本直接获取合并范围
4. 批量操作建议配合xdrx-table-open使用
------------------------------------------------------------
28
函数名称: xdrx-table-getsubselection
描述:
获取表格当前子选择区域的范围
调用格式:
(xdrx-table-getsubselection <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针
2. 调用表格API获取子选择范围
3. 返回选择区域的边界信息
返回值:
返回子选择范围列表(最小行,最大行,最小列,最大列),无选择时返回nil
示例用法:
(xdrx-table-getsubselection table-ent)
; 获取表格当前选择的单元格范围
注意事项:
1. 仅返回用户通过鼠标/键盘选择的区域
2. 批量操作建议配合xdrx-table-open使用
3. 返回的行列号为0基索引
------------------------------------------------------------
29
函数名称: xdrx-table-gridcolor
描述:
获取表格网格线颜色
调用格式:
(xdrx-table-gridcolor <表格实体> <行号> <列号> <边线类型>)
(xdrx-table-gridcolor <表格实体> <网格线类型> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
* <边线类型>: 边线掩码(整数)
* <网格线类型>: 网格线类型枚举(整数)
* <行类型>: 行类型枚举(整数)
实现机制:
1. 支持两种查询模式:
- 单元格边线颜色查询
- 全局网格线颜色查询
2. 返回AutoCAD颜色索引值
返回值:
返回网格线颜色索引(整数)
示例用法1:
(xdrx-table-gridcolor table-ent 1 1 3)
; 获取第1行第1列单元格的指定边线颜色
示例用法2:
(xdrx-table-gridcolor table-ent 1 2)
; 获取标题行的水平网格线颜色
注意事项:
1. 不同AutoCAD版本颜色返回值可能不同
2. 批量操作建议配合xdrx-table-open使用
3. 边线类型和网格线类型需参考API文档
------------------------------------------------------------
30
函数名称: xdrx-table-gridlineweight
描述:
获取表格网格线线宽
调用格式:
(xdrx-table-gridlineweight <表格实体> <行号> <列号> <边线类型>)
(xdrx-table-gridlineweight <表格实体> <网格线类型> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
* <边线类型>: 边线掩码(整数)
* <网格线类型>: 网格线类型枚举(整数)
* <行类型>: 行类型枚举(整数)
实现机制:
1. 支持两种查询模式:
- 单元格边线线宽查询
- 全局网格线线宽查询
2. 返回AutoCAD线宽枚举值
返回值:
返回网格线线宽值(整数)
示例用法1:
(xdrx-table-gridlineweight table-ent 1 1 3)
; 获取第1行第1列单元格的指定边线线宽
示例用法2:
(xdrx-table-gridlineweight table-ent 1 2)
; 获取标题行的水平网格线线宽
注意事项:
1. 返回值对应AutoCAD线宽枚举(如kLnWt025等)
2. 批量操作建议配合xdrx-table-open使用
3. 边线类型和网格线类型需参考API文档
------------------------------------------------------------
31
函数名称: xdrx-table-gridvisibility
描述:
获取表格网格线可见性状态
调用格式:
(xdrx-table-gridvisibility <表格实体> <行号> <列号> <边线类型> [T])
(xdrx-table-gridvisibility <表格实体> <网格线类型> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数)
* <列号>: 目标单元格列号(整数)
* <边线类型>: 边线掩码(整数)
* [T]: 可选参数,指定网格线类型(仅AutoCAD 2008+)
* <网格线类型>: 网格线类型枚举(整数)
* <行类型>: 行类型枚举(整数)
实现机制:
1. 支持两种查询模式:
- 单元格边线可见性查询
- 全局网格线可见性查询
2. 返回AutoCAD可见性枚举值
返回值:
返回可见性状态值(整数),对应kVisible/kInvisible等枚举
示例用法1:
(xdrx-table-gridvisibility table-ent 1 1 3)
; 获取第1行第1列单元格的指定边线可见性
示例用法2:
(xdrx-table-gridvisibility table-ent 1 2)
; 获取标题行的水平网格线可见性
注意事项:
1. AutoCAD 2008+版本支持网格线类型参数
2. 批量操作建议配合xdrx-table-open使用
3. 返回值对应AutoCAD可见性枚举
------------------------------------------------------------
32
函数名称: xdrx-table-height
描述:
获取表格整体高度
调用格式:
(xdrx-table-height <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针
2. 调用表格API获取高度属性
3. 返回表格总高度(包含所有行)
返回值:
返回表格总高度值(实数)
示例用法:
(xdrx-table-height table-ent)
; 获取表格的总高度
注意事项:
1. 高度值包含所有行和间距
2. 批量操作建议配合xdrx-table-open使用
3. 返回值单位为当前图形单位
------------------------------------------------------------
33
函数名称: xdrx-table-hittest
描述:
测试点是否命中表格单元格并返回行列索引
调用格式:
(xdrx-table-hittest <表格实体> <测试点> <方向向量> <容差X> <容差Y>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <测试点>: 测试点坐标(三维点)
* <方向向量>: 测试方向向量(三维向量)
* <容差X>: X方向容差值(实数)
* <容差Y>: Y方向容差值(实数)
实现机制:
1. 使用点坐标和方向向量进行命中测试
2. 考虑指定的容差范围
3. 返回命中的单元格行列索引
返回值:
返回命中单元格的行列索引列表(行号,列号),未命中返回nil
示例用法:
(xdrx-table-hittest table-ent '(10 20 0) '(0 0 1) 5.0 5.0)
; 测试点(10,20)是否命中表格单元格
注意事项:
1. 行列索引从0开始计数
2. 容差值影响命中测试的灵敏度
3. 方向向量决定测试的投影方向
------------------------------------------------------------
34
函数名称: xdrx-table-horzcellmargin
描述:
获取表格水平单元格边距
调用格式:
(xdrx-table-horzcellmargin <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 优先使用全局表格指针
2. 调用表格API获取水平边距属性
3. 返回所有单元格的水平边距值
返回值:
返回表格的水平单元格边距值(实数)
示例用法:
(xdrx-table-horzcellmargin table-ent)
; 获取表格的水平单元格边距
注意事项:
1. 影响所有单元格的水平间距
2. 批量操作建议配合xdrx-table-open使用
3. 返回值单位为当前图形单位
------------------------------------------------------------
35
函数名称: xdrx-table-initstatusbar
描述:
初始化表格状态栏设置
调用格式:
(xdrx-table-initstatusbar <起始位置> <状态栏标签>)
参数说明:
* <起始位置>: 状态栏起始位置索引(整数)
* <状态栏标签>: 状态栏显示文本(字符串)
实现机制:
1. 设置全局表格状态栏起始位置
2. 设置状态栏显示文本内容
3. 影响后续表格操作的状态栏显示
返回值:
无返回值
示例用法:
(xdrx-table-initstatusbar 0 "当前表格操作")
; 初始化表格状态栏从位置0开始显示"当前表格操作"
注意事项:
1. 起始位置索引从0开始
2. 标签文本将显示在状态栏指定位置
3. 影响后续所有表格操作的状态栏显示
------------------------------------------------------------
36
函数名称: xdrx-table-insertcolumns
描述:
在表格中插入指定数量的列
调用格式:
(xdrx-table-insertcolumns <表格实体> <起始行> <列宽> <列数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <起始行>: 插入位置的起始行号(整数,从0开始)
* <列宽>: 新插入列的宽度(实数)
* <列数>: 要插入的列数(整数)
实现机制:
1. 在指定行位置插入新列
2. 设置新列的宽度
3. 支持批量插入多列
4. 优先使用全局表格指针
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-insertcolumns table-ent 2 50.0 3)
; 在第2行位置插入3列,每列宽度50
注意事项:
1. 行号从0开始计数
2. 列宽单位为当前图形单位
3. 批量操作建议配合xdrx-table-open使用
------------------------------------------------------------
37
函数名称: xdrx-table-insertrows
描述:
在表格中插入指定数量的行
调用格式:
(xdrx-table-insertrows <表格实体> <起始行> <行高> <行数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <起始行>: 插入位置的起始行号(整数,从0开始)
* <行高>: 新插入行的高度(实数)
* <行数>: 要插入的行数(整数)
实现机制:
1. 在指定位置插入新行
2. 设置新行的高度
3. 支持批量插入多行
4. 优先使用全局表格指针
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-insertrows table-ent 2 10.0 3)
; 在第2行位置插入3行,每行高度10.0
注意事项:
1. 行号从0开始计数
2. 行高单位为当前图形单位
3. 批量操作建议配合xdrx-table-open使用
------------------------------------------------------------
38
函数名称: xdrx-table-autoscale-p
描述:
检查表格单元格是否启用自动缩放
调用格式:
(xdrx-table-autoscale-p <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
实现机制:
1. 检查指定单元格的自动缩放状态
2. 优先使用全局表格指针
3. 返回单元格的自动缩放标志
返回值:
启用自动缩放返回T,否则返回nil
示例用法:
(xdrx-table-autoscale-p table-ent 1 2)
; 检查第1行第2列单元格的自动缩放状态
注意事项:
1. 行列索引从0开始计数
2. 批量操作建议配合xdrx-table-open使用
3. 自动缩放影响单元格内容随表格大小调整
------------------------------------------------------------
39
函数名称: xdrx-table-bgnclrnone-p
描述:
检查表格单元格是否无背景色
调用格式:
(xdrx-table-bgnclrnone-p <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
实现机制:
1. 检查指定单元格的背景色状态
2. 优先使用全局表格指针
3. 返回单元格背景色状态标志
返回值:
无背景色返回T,否则返回nil
示例用法:
(xdrx-table-bgnclrnone-p table-ent 1 2)
; 检查第1行第2列单元格是否无背景色
注意事项:
1. 行列索引从0开始计数
2. 批量操作建议配合xdrx-table-open使用
3. 无背景色表示使用透明背景
------------------------------------------------------------
40
函数名称: xdrx-table-headersuppressed-p
描述:
检查表格是否隐藏标题行
调用格式:
(xdrx-table-headersuppressed-p <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 检查表格标题行显示状态
2. 优先使用全局表格指针
3. 返回标题行状态标志
返回值:
标题行隐藏返回T,否则返回nil
示例用法:
(xdrx-table-headersuppressed-p table-ent)
; 检查表格是否隐藏标题行
注意事项:
1. 适用于整个表格而非单个单元格
2. 批量操作建议配合xdrx-table-open使用
3. 标题行隐藏不影响数据内容
------------------------------------------------------------
41
函数名称: xdrx-table-mergedcell-p
描述:
检查表格单元格是否为合并单元格并返回合并范围
调用格式:
(xdrx-table-mergedcell-p <表格实体> <行号> <列号> [最小行 最大行 最小列 最大列])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* [最小行 最大行 最小列 最大列]: 可选参数,用于接收合并范围(整数)
实现机制:
1. 检查指定单元格是否为合并单元格
2. 返回合并单元格的范围信息
3. 支持两种调用方式:仅检查或获取合并范围
4. 优先使用全局表格指针
返回值:
是合并单元格返回T并附带范围信息,否则返回nil
示例用法1:
(xdrx-table-mergedcell-p table-ent 1 2)
; 检查第1行第2列是否为合并单元格
示例用法2:
(xdrx-table-mergedcell-p table-ent 1 2 minRow maxRow minCol maxCol)
; 获取第1行第2列合并单元格的范围
注意事项:
1. 行列索引从0开始计数
2. 批量操作建议配合xdrx-table-open使用
3. 返回的范围信息包含最小/最大行列号
------------------------------------------------------------
42
函数名称: xdrx-table-regensuppressed-p
描述:
检查表格是否禁止自动重生成
调用格式:
(xdrx-table-regensuppressed-p <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 检查表格自动重生成状态
2. 优先使用全局表格指针
3. 2006版本使用替代实现(isHeaderSuppressed)
返回值:
禁止重生成返回T,否则返回nil
示例用法:
(xdrx-table-regensuppressed-p table-ent)
; 检查表格是否禁止自动重生成
注意事项:
1. 适用于AutoCAD 2007及以上版本
2. 2006版本使用标题行状态作为替代检查
3. 禁止重生成可提高大表格操作性能
------------------------------------------------------------
43
函数名称: xdrx-table-titlesuppressed-p
描述:
检查表格是否隐藏标题行
调用格式:
(xdrx-table-titlesuppressed-p <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 检查表格标题行显示状态
2. 优先使用全局表格指针
3. 返回标题行状态标志
返回值:
标题行隐藏返回T,否则返回nil
示例用法:
(xdrx-table-titlesuppressed-p table-ent)
; 检查表格是否隐藏标题行
注意事项:
1. 适用于整个表格而非单个单元格
2. 批量操作建议配合xdrx-table-open使用
3. 标题行隐藏不影响数据内容
------------------------------------------------------------
44
函数名称: xdrx-table-make
描述:
创建新表格并设置行列参数
调用格式:
(xdrx-table-make <插入点> <行数> <行高列表> <列数> <列宽列表> [表格样式])
或
(xdrx-table-make <插入点> <行数> <列数> [表格样式])
参数说明:
* <插入点>: 表格插入位置(点对)
* <行数>: 表格行数(正整数)
* <行高列表>: 各行高度列表(数值或点对列表)
* <列数>: 表格列数(正整数)
* <列宽列表>: 各列宽度列表(数值或点对列表)
* [表格样式]: 可选表格样式名(字符串,默认为"Standard")
实现机制:
1. 创建指定行列数的表格
2. 设置自定义行列尺寸
3. 支持两种调用方式:详细设置或快速创建
4. 自动扩展行列尺寸参数
返回值:
成功返回表格实体名,失败返回nil
示例用法1:
(xdrx-table-make '(0 0) 3 '(10 15 20) 4 '(20 30 40 50))
; 创建3行4列表格,指定每行每列尺寸
示例用法2:
(xdrx-table-make '(0 0) 5 8 "MyStyle")
; 创建5行8列表格,使用"MyStyle"样式
注意事项:
1. 行列数必须为正整数
2. 行列尺寸不足时自动使用最后一个值
3. 支持点对形式指定多个尺寸
4. 默认使用当前表格样式
------------------------------------------------------------
45
函数名称: xdrx-table-makestyle
描述:
创建新的表格样式
调用格式:
(xdrx-table-makestyle <样式名称>)
参数说明:
* <样式名称>: 要创建的表格样式名称(字符串)
实现机制:
1. 在数据库中添加新表格样式
2. 返回新创建的样式对象
返回值:
成功返回样式实体名,失败返回nil
示例用法:
(xdrx-table-makestyle "MyTableStyle")
; 创建名为"MyTableStyle"的表格样式
注意事项:
1. 样式名称必须唯一
2. 新样式基于系统默认设置
3. 创建后需单独设置具体样式参数
------------------------------------------------------------
46
函数名称: xdrx-table-mergecells
描述:
合并表格指定范围内的单元格,支持全局表格指针优化
调用格式:
(xdrx-table-mergecells <表格实体> <最小行> <最大行> <最小列> <最大列>)
或
(xdrx-table-mergecells <表格实体> <合并范围列表>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
* <最小行>: 合并区域起始行号(0开始)
* <最大行>: 合并区域结束行号
* <最小列>: 合并区域起始列号(0开始)
* <最大列>: 合并区域结束列号
* <合并范围列表>: 多组合并范围组成的列表(每组4个整数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 支持单区域和多区域合并
4. 自动处理写锁定状态
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-mergecells nil 1 3 2 4)
; 使用全局指针合并单元格
示例用法2:
(xdrx-table-mergecells table-ent '((1 3 2 4)(5 7 0 2)))
; 同时合并两个区域
注意事项:
1. 传入nil参数可重用已缓存的表格指针
2. 批量操作时全局指针可显著提升性能
3. 行列索引从0开始
4. 合并范围必须有效(最小<=最大)
------------------------------------------------------------
47
函数名称: xdrx-table-mincolumnwidth
描述:
获取表格列的最小允许宽度
调用格式:
(xdrx-table-mincolumnwidth <表格实体> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
* <列号>: 目标列索引(0开始)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用minimumColumnWidth获取最小宽度
4. 自动验证列号有效性
返回值:
成功返回最小列宽(实数),失败返回nil
示例用法1:
(xdrx-table-mincolumnwidth nil 2)
; 使用全局指针获取第2列最小宽度
示例用法2:
(xdrx-table-mincolumnwidth table-ent 0)
; 获取首列最小宽度
注意事项:
1. 列索引从0开始
2. 传入nil参数可重用已缓存的表格指针
3. 返回值单位为当前图形单位
------------------------------------------------------------
48
函数名称: xdrx-table-minrowheight
描述:
获取表格行的最小允许高度
调用格式:
(xdrx-table-minrowheight <表格实体> <行号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
* <行号>: 目标行索引(0开始)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用minimumRowHeight获取最小高度
4. 自动验证行号有效性
返回值:
成功返回最小行高(实数),失败返回nil
示例用法1:
(xdrx-table-minrowheight nil 3)
; 使用全局指针获取第3行最小高度
示例用法2:
(xdrx-table-minrowheight table-ent 1)
; 获取第1行最小高度
注意事项:
1. 行索引从0开始
2. 传入nil参数可重用已缓存的表格指针
3. 返回值单位为当前图形单位
4. 最小高度由单元格内容决定
------------------------------------------------------------
49
函数名称: xdrx-table-mintableheight
描述:
获取表格的最小允许总高度
调用格式:
(xdrx-table-mintableheight <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用minimumTableHeight获取最小高度
4. 计算基于所有行和间距的总高度
返回值:
成功返回最小表格高度(实数),失败返回nil
示例用法1:
(xdrx-table-mintableheight nil)
; 使用全局指针获取表格最小高度
示例用法2:
(xdrx-table-mintableheight table-ent)
; 获取指定表格的最小高度
注意事项:
1. 传入nil参数可重用已缓存的表格指针
2. 返回值单位为当前图形单位
3. 高度包含所有行高和间距
4. 结果由单元格内容和格式决定
------------------------------------------------------------
50
函数名称: xdrx-table-mintablewidth
描述:
获取表格的最小允许总宽度
调用格式:
(xdrx-table-mintablewidth <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用minimumTableWidth获取最小宽度
4. 计算基于所有列和间距的总宽度
返回值:
成功返回最小表格宽度(实数),失败返回nil
示例用法1:
(xdrx-table-mintablewidth nil)
; 使用全局指针获取表格最小宽度
示例用法2:
(xdrx-table-mintablewidth table-ent)
; 获取指定表格的最小宽度
注意事项:
1. 传入nil参数可重用已缓存的表格指针
2. 返回值单位为当前图形单位
3. 宽度包含所有列宽和间距
4. 结果由单元格内容和格式决定
------------------------------------------------------------
51
函数名称: xdrx-table-numcolumns
描述:
获取表格的列数
调用格式:
(xdrx-table-numcolumns <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用numColumns获取列数
4. 返回表格当前列数
返回值:
成功返回列数(整数),失败返回nil
示例用法1:
(xdrx-table-numcolumns nil)
; 使用全局指针获取表格列数
示例用法2:
(xdrx-table-numcolumns table-ent)
; 获取指定表格的列数
注意事项:
1. 传入nil参数可重用已缓存的表格指针
2. 返回值为当前表格的实际列数
3. 列数包含所有可见列
------------------------------------------------------------
52
函数名称: xdrx-table-numdatarows
描述:
获取表格中数据行的数量及范围
调用格式:
(xdrx-table-numdatarows <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
实现机制:
1. 遍历表格所有行
2. 统计类型为数据行的行数
3. 返回数据行的总数及起止行号
返回值:
成功返回列表(总数 起始行 结束行),失败返回nil
示例用法:
(xdrx-table-numdatarows table-ent)
; 获取表格数据行信息,如(5 2 6)表示共5行数据行,从第2行到第6行
注意事项:
1. 行号从0开始计数
2. 仅统计类型为kDataRow的数据行
3. 不包含表头行等其他类型行
------------------------------------------------------------
53
函数名称: xdrx-table-numrows
描述:
获取表格的总行数
调用格式:
(xdrx-table-numrows <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用numRows获取总行数
4. 返回表格当前行数
返回值:
成功返回行数(整数),失败返回nil
示例用法1:
(xdrx-table-numrows nil)
; 使用表格全局指针获取行数
示例用法2:
(xdrx-table-numrows table-ent)
; 获取指定表格的行数
注意事项:
1. 传入nil参数可重用已缓存的表格指针
2. 返回值为表格的实际总行数
3. 行数包含所有行类型
------------------------------------------------------------
54
函数名称: xdrx-table-open
描述:
打开表格实体并设置为全局表格指针
调用格式:
(xdrx-table-open <表格实体> ["w"])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* "w": 可选参数,以写入模式打开(默认为读取模式)
实现机制:
1. 关闭已存在的全局表格指针
2. 按指定模式打开表格实体
3. 验证实体类型为表格
4. 设置为新的全局表格指针
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-open table-ent)
; 以读取模式打开表格
示例用法2:
(xdrx-table-open table-ent "w")
; 以写入模式打开表格
注意事项:
1. 会覆盖已有的全局表格指针
2. 写入模式可修改表格内容
3. 操作完成后需手动关闭
------------------------------------------------------------
55
函数名称: xdrx-table-regentableblock
描述:
重新生成表格块并更新显示
调用格式:
(xdrx-table-regentableblock <表格实体> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* T: 可选参数,强制完全重新生成(默认为增量更新)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用recomputeTableBlock更新表格
4. 根据参数决定完全或增量更新
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-regentableblock nil)
; 使用表格全局指针增量更新表格
示例用法2:
(xdrx-table-regentableblock table-ent T)
; 强制完全重新生成指定表格
注意事项:
1. 增量更新仅刷新修改部分
2. 完全更新会重建整个表格
3. 写入操作需要相应权限
------------------------------------------------------------
56
函数名称: xdrx-table-regen
描述:
重新生成表格布局并刷新显示
调用格式:
(xdrx-table-regen <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用generateLayout重新生成表格布局
4. 刷新表格显示
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-regen table-ent)
; 重新生成指定表格布局
与regentableblock的区别:
1. regen仅刷新布局不重建表格块
2. regentableblock会重建整个表格块结构
3. regen执行更快但更新不彻底
4. regentableblock更彻底但性能开销大
注意事项:
1. 需要写入权限
2. 不影响表格数据结构
3. 适用于快速刷新显示
------------------------------------------------------------
57
函数名称: xdrx-table-remove-style
描述:
移除指定的表格样式
调用格式:
(xdrx-table-remove-style <样式名称>)
参数说明:
* <样式名称>: 要移除的表格样式名称(字符串)
实现机制:
1. 调用removeTableStyle移除样式
2. 从样式表中删除指定样式
3. 不影响已应用该样式的表格
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-remove-style "工程表格")
; 移除名为"工程表格"的样式
注意事项:
1. 仅移除样式定义
2. 已应用样式的表格保持原样
3. 样式名称区分大小写
------------------------------------------------------------
58
函数名称: xdrx-table-reselectsubregion
描述:
重新选择表格子区域并返回相关实体
调用格式:
(xdrx-table-reselectsubregion <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用reselectSubRegion获取子区域路径
4. 转换路径为实体名列表
返回值:
成功返回子区域实体列表,失败返回nil
示例用法:
(xdrx-table-reselectsubregion table-ent)
; 获取表格子区域相关实体
注意事项:
1. 返回嵌套列表结构
2. 每个子路径对应一组实体
3. 需要表格选择上下文
------------------------------------------------------------
59
函数名称: xdrx-table-rowheight
描述:
获取表格指定行的高度
调用格式:
(xdrx-table-rowheight <表格实体> <行号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用rowHeight获取指定行高度
4. 验证行号有效性
返回值:
成功返回行高(实数),失败返回nil
示例用法1:
(xdrx-table-rowheight nil 3)
; 使用全局指针获取第3行高度
示例用法2:
(xdrx-table-rowheight table-ent 1)
; 获取指定表格第1行高度
注意事项:
1. 行索引从0开始
2. 返回值为当前图形单位
3. 行高包含内容和间距
------------------------------------------------------------
60
函数名称: xdrx-table-rowtype
描述:
获取表格指定行的类型
调用格式:
(xdrx-table-rowtype <表格实体> <行号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用rowType获取行类型
4. 验证行号有效性
返回值:
返回行类型代码(整数):
0 - 数据行
1 - 标题行
2 - 表头行
3 - 表尾行
示例用法1:
(xdrx-table-rowtype nil 2)
; 使用全局指针获取第2行类型
示例用法2:
(xdrx-table-rowtype table-ent 0)
; 获取指定表格第0行类型
注意事项:
1. 行索引从0开始
2. 返回值为AcDb::RowType枚举值
3. 不同类型行有不同默认属性
------------------------------------------------------------
61
函数名称: xdrx-table-select
描述:
在表格中执行精确选择操作并返回行列索引
调用格式:
(xdrx-table-select <表格实体> <点> <向量1> <向量2> <允许外部> <拾取优先>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <点>: 选择点坐标(三维点)
* <向量1>: 第一方向向量(三维向量)
* <向量2>: 第二方向向量(三维向量)
* <允许外部>: 整数(0/1),是否允许选择表格外部
* <拾取优先>: 整数(0/1),是否优先使用拾取框
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用select方法执行精确选择
4. 计算并返回行列索引
返回值:
成功返回(行索引 列索引)列表,失败返回nil
示例用法:
(xdrx-table-select table-ent '(0 0 0) '(1 0 0) '(0 1 0) 0 1)
; 在指定位置选择表格单元格
注意事项:
1. 向量参数确定选择方向
2. 返回索引从0开始
3. 需要精确的几何参数
------------------------------------------------------------
62
函数名称: xdrx-table-selectsubregion
描述:
选择表格子区域并返回行列范围
调用格式:
(xdrx-table-selectsubregion [表格实体] 点1 点2 [视向量] [视平面向量] [选择框宽度] [选择框高度] [选择类型] [包含当前选择] [拾取优先])
参数说明:
* 表格实体: 可选,目标表格实体名(ENAME)或nil(使用表格全局指针)
* 点1/点2: 必需,定义选择区域的两个对角点(三维点)
* 视向量: 可选,视图方向向量(默认Z轴)
* 视平面向量: 可选,视图平面向量(默认X轴)
* 选择框宽度/高度: 可选,选择框尺寸(默认拾取框高度)
* 选择类型: 可选,1-窗交 2-窗口(默认1)
* 包含当前选择: 可选,T/nil(默认nil)
* 拾取优先: 可选,T/nil(默认T)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动打开实体
3. 调用selectSubRegion执行区域选择
4. 返回最小/最大行列索引
返回值:
成功返回(最小行 最大行 最小列 最大列)列表,失败返回nil
示例用法:
(xdrx-table-selectsubregion nil '(0 0 0) '(10 10 0))
; 使用全局指针选择0,0到10,10区域
注意事项:
1. 点参数必须为三维点
2. 返回索引从0开始
3. 支持多种选择模式
------------------------------------------------------------
63
函数名称: xdrx-table-setalignment
描述:
设置表格单元格的对齐方式(支持三种调用格式)
调用格式1(设置单个单元格):
(xdrx-table-setalignment <表格实体> <行号> <列号> <对齐方式>)
调用格式2(设置行类型对齐):
(xdrx-table-setalignment <表格实体> <行类型> <对齐方式>)
调用格式3(设置全部单元格):
(xdrx-table-setalignment <表格实体> <对齐方式>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>/<列号>: 目标单元格位置(0开始)
* <行类型>: 行类型代码(1-标题行 2-表头行 3-表尾行)
* <对齐方式>: 对齐代码(1-左上 2-中上 3-右上 4-左中 5-正中 6-右中 7-左下 8-中下 9-右下)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择处理模式
4. 批量设置时自动遍历所有单元格
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setalignment nil 1 2 5)
; 设置全局表格第1行第2列居中对齐
示例用法2:
(xdrx-table-setalignment table-ent 1 3)
; 设置标题行居中对齐
示例用法3:
(xdrx-table-setalignment table-ent 7)
; 设置整个表格左下对齐
注意事项:
1. 行号列号从0开始
2. 批量设置时性能较低
3. 需要写入权限
------------------------------------------------------------
64
函数名称: xdrx-table-setautoscale
描述:
设置表格单元格的自动缩放属性
调用格式:
(xdrx-table-setautoscale <表格实体> <行号> <列号> <自动缩放>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <自动缩放>: T-启用自动缩放/nil-禁用自动缩放
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setAutoScale设置属性
4. 验证行列索引有效性
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setautoscale nil 1 2 T)
; 启用全局表格第1行第2列自动缩放
示例用法2:
(xdrx-table-setautoscale table-ent 0 1 nil)
; 禁用指定表格第0行第1列自动缩放
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 自动缩放会影响单元格内容显示
------------------------------------------------------------
65
函数名称: xdrx-table-setbgncolor
描述:
设置表格单元格或行类型的背景颜色(支持两种调用格式)
调用格式1(设置单个单元格):
(xdrx-table-setbgncolor <表格实体> <行号> <列号> <颜色索引>)
调用格式2(设置行类型):
(xdrx-table-setbgncolor <表格实体> <颜色索引> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>/<列号>: 目标单元格位置(0开始)
* <颜色索引>: AutoCAD颜色索引号(1-255)
* <行类型>: 行类型代码(1-标题行 2-表头行 3-表尾行)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setBackgroundColor设置颜色
4. 验证行列索引有效性
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setbgncolor nil 1 2 3)
; 设置全局表格第1行第2列背景为绿色
示例用法2:
(xdrx-table-setbgncolor table-ent 5 1)
; 设置标题行背景为蓝色
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 颜色索引需在有效范围内
------------------------------------------------------------
66
函数名称: xdrx-table-setbgncolornone
描述:
设置表格单元格或行类型的背景颜色为无(支持两种调用格式)
调用格式1(设置单个单元格):
(xdrx-table-setbgncolornone <表格实体> <行号> <列号> <标志>)
调用格式2(设置行类型):
(xdrx-table-setbgncolornone <表格实体> <行类型> <标志>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>/<列号>: 目标单元格位置(0开始)
* <行类型>: 行类型代码(1-标题行 2-表头行 3-表尾行)
* <标志>: T-清除背景色/nil-恢复默认背景色
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setBackgroundColorNone设置属性
4. 验证行列索引有效性
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setbgncolornone nil 1 2 T)
; 清除全局表格第1行第2列背景色
示例用法2:
(xdrx-table-setbgncolornone table-ent 1 nil)
; 恢复标题行默认背景色
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 清除背景色后单元格将透明显示
------------------------------------------------------------
67
函数名称: xdrx-table-setblockattributevalue
描述:
设置表格单元格中块参照的属性值
调用格式:
(xdrx-table-setblockattributevalue <表格实体> <行号> <列号> <属性实体> <属性值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <属性实体>: 块属性实体名(ENAME)
* <属性值>: 要设置的属性值字符串
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setBlockAttributeValue设置属性值
4. 验证行列索引有效性
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setblockattributevalue nil 1 2 attr-ent "新值")
; 设置全局表格第1行第2列中块参照的属性值
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 仅对包含块参照的单元格有效
4. 属性实体必须属于单元格中的块参照
------------------------------------------------------------
68
函数名称: xdrx-table-setblockid
描述:
设置表格单元格中的块参照ID(支持自动调整大小)
调用格式:
(xdrx-table-setblockid <表格实体> <行号> <列号> <块实体> <自动调整>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <块实体>: 要插入的块定义实体名(ENAME)
* <自动调整>: T-自动调整单元格大小/nil-保持原大小
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setBlockTableRecordId设置块参照
4. 根据标志决定是否自动调整单元格
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setblockid nil 1 2 block-ent T)
; 在全局表格第1行第2列插入块并自动调整大小
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 块实体必须是有效的块定义
4. 自动调整可能影响表格布局
------------------------------------------------------------
69
函数名称: xdrx-table-setblockrotation
描述:
设置表格单元格中块参照的旋转角度
调用格式:
(xdrx-table-setblockrotation <表格实体> <行号> <列号> <角度>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <角度>: 旋转角度(弧度)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setBlockRotation设置旋转角度
4. 返回清除后的角度值
返回值:
返回清除后的实际旋转角度(弧度)
示例用法:
(xdrx-table-setblockrotation nil 1 2 (/ pi 4))
; 设置全局表格第1行第2列块参照旋转45度
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 仅对包含块参照的单元格有效
4. 角度单位为弧度
------------------------------------------------------------
70
函数名称: xdrx-table-setblockscale
描述:
设置表格单元格中块参照的比例(支持两种调用格式)
调用格式1(设置单个单元格):
(xdrx-table-setblockscale <表格实体> <行号> <列号> <比例>)
调用格式2(设置全局比例):
(xdrx-table-setblockscale <表格实体> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <比例>: 缩放比例值
* T: 可选参数,使用全局比例设置
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 自动计算并应用比例因子
4. 支持批量设置全局比例
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setblockscale nil 1 2 0.5)
; 设置全局表格第1行第2列块参照缩放50%
示例用法2:
(xdrx-table-setblockscale table-ent T)
; 使用全局比例设置表格中所有块参照
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 仅对包含块参照的单元格有效
4. 比例值需大于0
------------------------------------------------------------
71
函数名称: xdrx-table-setcelltype
描述:
设置表格单元格的类型
调用格式:
(xdrx-table-setcelltype <表格实体> <行号> <列号> <类型代码>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <类型代码>: 单元格类型代码(1-文本 2-块 3-字段)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 调用setCellType设置单元格类型
4. 验证行列索引有效性
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setcelltype nil 1 2 2)
; 设置全局表格第1行第2列为块类型单元格
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 类型代码必须在有效范围内
4. 改变类型会清除单元格原有内容
------------------------------------------------------------
72
函数名称: xdrx-table-setcolumnwidth
描述:
设置表格列宽(支持两种调用格式)
调用格式1(设置指定列宽):
(xdrx-table-setcolumnwidth <表格实体> <列号> <宽度>)
调用格式2(设置统一列宽):
(xdrx-table-setcolumnwidth <表格实体> <宽度>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <列号>: 目标列索引(0开始)
* <宽度>: 列宽值(支持整数或实数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择设置模式
4. 支持整数和实数两种宽度格式
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setcolumnwidth nil 2 10.5)
; 设置全局表格第2列宽度为10.5
示例用法2:
(xdrx-table-setcolumnwidth table-ent 8)
; 设置表格所有列宽度为8
注意事项:
1. 列号从0开始
2. 需要写入权限
3. 宽度值必须大于0
4. 统一设置会影响所有列
------------------------------------------------------------
73
函数名称: xdrx-table-setcontentcolor
描述:
设置表格内容颜色(支持行级和单元格级设置)
调用格式1(设置整行颜色):
(xdrx-table-setcontentcolor <表格实体> <行类型> <颜色索引>)
调用格式2(设置单元格颜色):
(xdrx-table-setcontentcolor <表格实体> <行号> <列号> <颜色索引>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行类型>: 行类型代码(1-标题 2-表头 3-数据)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <颜色索引>: AutoCAD颜色索引号(1-255)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择设置模式
4. 支持整行或单个单元格颜色设置
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setcontentcolor nil 2 5)
; 设置全局表格所有表头行内容为蓝色
示例用法2:
(xdrx-table-setcontentcolor table-ent 1 2 1)
; 设置表格第1行第2列内容为红色
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 颜色索引必须在1-255范围内
4. 行类型设置会影响所有匹配行
------------------------------------------------------------
74
函数名称: xdrx-table-setcontents
描述:
设置表格内容(支持多参数配置)
调用格式:
(xdrx-table-setcontents <表格实体> <内容数据> [文字高度] [文字样式] [水平边距] [对齐方式])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <内容数据>: 要设置的内容数据(LIST)
* [文字高度]: 可选文字高度(实数/整数)
* [文字样式]: 可选文字样式名(字符串)或实体名(ENAME)
* [水平边距]: 可选水平边距值(实数/整数)
* [对齐方式]: 可选对齐方式代码(整数)
实现机制:
1. 以写入模式打开表格实体
2. 自动计算默认边距为文字高度的一半
3. 支持从当前文字样式或指定样式获取文字样式ID
4. 自动调整表格大小适应内容
5. 支持多种对齐方式设置
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setcontents table-ent data-list 2.5 "Standard" 1.0 1)
; 设置表格内容,文字高度2.5,使用Standard样式,边距1.0,左对齐
注意事项:
1. 需要写入权限
2. 内容数据格式需与表格结构匹配
3. 未指定参数将使用默认值
4. 对齐方式代码参考系统常量
------------------------------------------------------------
75
函数名称: xdrx-table-setdirection
描述:
设置表格方向(通过方向向量)
调用格式:
(xdrx-table-setdirection <表格实体> <方向向量>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <方向向量>: 三维点表表示的方向向量(如'(1 0 0))
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 将输入点表转换为方向向量
4. 调用setDirection设置表格方向
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setdirection nil '(0 1 0))
; 设置全局表格方向为Y轴方向
注意事项:
1. 需要写入权限
2. 方向向量必须为有效三维向量
3. 会改变表格整体方向
4. 向量长度不影响结果
------------------------------------------------------------
76
函数名称: xdrx-table-setfieldid
描述:
设置表格单元格的字段ID(关联字段实体)
调用格式:
(xdrx-table-setfieldid <表格实体> <行号> <列号> <字段实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <字段实体>: 字段实体名(ENAME)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 验证行列索引有效性
4. 将字段实体与指定单元格关联
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setfieldid nil 2 3 field-ent)
; 设置全局表格第2行第3列的字段关联
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 字段实体必须已存在
4. 关联后单元格内容由字段控制
------------------------------------------------------------
77
函数名称: xdrx-table-setflowdirection
描述:
设置表格内容流方向(控制表格增长方向)
调用格式:
(xdrx-table-setflowdirection <表格实体> <流方向代码>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <流方向代码>: 方向代码(0-向下 1-向上 2-向右 3-向左)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 将整型代码转换为FlowDirection枚举
4. 调用setFlowDirection更新表格流方向
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setflowdirection nil 0)
; 设置全局表格内容流方向为向下
注意事项:
1. 需要写入权限
2. 方向代码必须在0-3范围内
3. 影响表格新增行/列时的扩展方向
4. 不会改变现有内容布局
------------------------------------------------------------
78
函数名称: xdrx-table-setgridcolor
描述:
设置表格网格线颜色(支持行级和单元格级设置)
调用格式1(设置整行网格线):
(xdrx-table-setgridcolor <表格实体> <行号> <边框类型> <颜色索引>)
调用格式2(设置单元格网格线):
(xdrx-table-setgridcolor <表格实体> <行号> <列号> <边框类型> <颜色索引>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <边框类型>: 边框类型代码(1-上 2-右 4-下 8-左,可组合)
* <颜色索引>: AutoCAD颜色索引号(1-255)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择设置模式
4. 支持组合边框类型设置
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setgridcolor nil 2 15 1)
; 设置全局表格第2行所有边框为红色
示例用法2:
(xdrx-table-setgridcolor table-ent 1 2 3 5)
; 设置表格第1行第2列上右边框为蓝色
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 颜色索引必须在1-255范围内
4. 边框类型可组合(如3=上+右)
------------------------------------------------------------
79
函数名称: xdrx-table-setgridlineweight
描述:
设置表格网格线线宽(支持行级和单元格级设置)
调用格式1(设置整行网格线):
(xdrx-table-setgridlineweight <表格实体> <行号> <边框类型> <线宽代码>)
调用格式2(设置单元格网格线):
(xdrx-table-setgridlineweight <表格实体> <行号> <列号> <边框类型> <线宽代码>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <边框类型>: 边框类型代码(1-上 2-右 4-下 8-左,可组合)
* <线宽代码>: AutoCAD线宽代码(0-211)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择设置模式
4. 支持组合边框类型设置
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setgridlineweight nil 2 15 50)
; 设置全局表格第2行所有边框线宽为50
示例用法2:
(xdrx-table-setgridlineweight table-ent 1 2 3 35)
; 设置表格第1行第2列上右边框线宽为35
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 线宽代码必须在0-211范围内
4. 边框类型可组合(如3=上+右)
------------------------------------------------------------
80
函数名称: xdrx-table-setgridvisibility
描述:
设置表格网格线可见性(支持行级和单元格级设置)
调用格式1(设置整行网格线):
(xdrx-table-setgridvisibility <表格实体> <行号> <边框类型> <可见性>)
调用格式2(设置单元格网格线):
(xdrx-table-setgridvisibility <表格实体> <行号> <列号> <边框类型> <可见性>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行索引(0开始)
* <列号>: 目标列索引(0开始)
* <边框类型>: 边框类型代码(1-上 2-右 4-下 8-左,可组合)
* <可见性>: T表示可见,nil表示不可见
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数数量自动选择设置模式
4. 支持组合边框类型设置
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setgridvisibility nil 2 15 T)
; 显示全局表格第2行所有边框
示例用法2:
(xdrx-table-setgridvisibility table-ent 1 2 3 nil)
; 隐藏表格第1行第2列上右边框
注意事项:
1. 行号列号从0开始
2. 需要写入权限
3. 边框类型可组合(如3=上+右)
4. 可见性参数必须为T或nil
------------------------------------------------------------
81
函数名称: xdrx-table-setheight
描述:
设置表格整体高度(自动调整行高)
调用格式:
(xdrx-table-setheight <表格实体> <高度值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <高度值>: 新高度值(实数或整数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 自动调整所有行高以匹配总高度
4. 支持整数和实数类型高度值
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setheight nil 100.5)
; 设置全局表格高度为100.5单位
注意事项:
1. 高度值必须为正数
2. 需要写入权限
3. 会等比调整所有行高
4. 表格内容会自动适应新高度
------------------------------------------------------------
82
函数名称: xdrx-table-sethorzcellmargin
描述:
设置表格单元格水平边距(控制内容与边框的水平间距)
调用格式:
(xdrx-table-sethorzcellmargin <表格实体> <边距值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <边距值>: 水平边距值(实数或整数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 统一设置所有单元格的水平边距
4. 支持整数和实数类型边距值
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-sethorzcellmargin nil 2.5)
; 设置全局表格水平单元格边距为2.5单位
注意事项:
1. 边距值必须为非负数
2. 需要写入权限
3. 影响所有单元格内容水平位置
4. 会触发表格自动重排
------------------------------------------------------------
83
函数名称: xdrx-table-setnormal
描述:
设置表格法线向量(控制表格在三维空间中的朝向)
调用格式:
(xdrx-table-setnormal <表格实体> <法线向量>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <法线向量>: 三维点表表示的法线向量(如'(0 0 1))
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 将输入点表转换为法线向量
4. 调用setNormal更新表格空间朝向
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setnormal nil '(0 1 0))
; 设置全局表格法线为Y轴方向
注意事项:
1. 需要写入权限
2. 法线向量必须为有效三维向量
3. 会改变表格在三维空间中的显示方向
4. 向量长度会被自动归一化
------------------------------------------------------------
84
函数名称: xdrx-table-setnumcolumns
描述:
设置表格列数(自动调整表格宽度)
调用格式:
(xdrx-table-setnumcolumns <表格实体> <列数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <列数>: 新的列数(正整数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 自动调整表格宽度适应新列数
4. 保留现有列宽比例
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setnumcolumns nil 5)
; 设置全局表格为5列
注意事项:
1. 列数必须为正整数
2. 需要写入权限
3. 新增列继承相邻列样式
4. 减少列会删除右侧列数据
------------------------------------------------------------
85
函数名称: xdrx-table-setnumrows
描述:
设置表格行数(自动调整表格高度)
调用格式:
(xdrx-table-setnumrows <表格实体> <行数>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行数>: 新的行数(正整数)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 自动调整表格高度适应新行数
4. 保留现有行高比例
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setnumrows nil 10)
; 设置全局表格为10行
注意事项:
1. 行数必须为正整数
2. 需要写入权限
3. 新增行继承相邻行样式
4. 减少行会删除底部行数据
------------------------------------------------------------
86
函数名称: xdrx-table-setopenread
描述:
将表格全局指针从写入模式降级为只读模式
调用格式:
(xdrx-table-setopenread)
参数说明:
无参数
实现机制:
1. 检查DocVars.AES_DBASE.mGlobalTablePtr是否存在
2. 调用downgradeOpen()方法切换为只读模式
3. 不影响表格内容,仅改变访问权限
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setopenread)
; 将全局表格指针切换为只读模式
注意事项:
1. 仅对DocVars.AES_DBASE.mGlobalTablePtr有效
2. 不改变表格实体内容
3. 用于优化性能,减少资源占用
4. 全局指针通常由其他表格操作函数设置
------------------------------------------------------------
87
函数名称: xdrx-table-setopenwrite
描述:
将表格全局指针从只读模式升级为写入模式
调用格式:
(xdrx-table-setopenwrite)
参数说明:
无参数
实现机制:
1. 检查表格全局指针是否存在
2. 调用upgradeOpen()方法切换为写入模式
3. 准备对表格进行修改操作
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setopenwrite)
; 将全局表格指针切换为写入模式
注意事项:
1. 仅对表格全局指针有效
2. 必须在修改表格前调用
3. 与setopenread配对使用
4. 需要确保没有其他写操作冲突
------------------------------------------------------------
88
函数名称: xdrx-table-setposition
描述:
设置表格位置(移动表格到指定坐标点)
调用格式:
(xdrx-table-setposition <表格实体> <位置点>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <位置点>: 三维点表表示的新位置(如'(100 200 0))
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 将输入点表转换为AcGePoint3d坐标
4. 调用setPosition移动表格
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setposition nil '(100 200 0))
; 将全局表格移动到坐标(100,200,0)
注意事项:
1. 需要写入权限
2. 位置点必须为有效三维坐标
3. 会改变表格在图纸中的显示位置
4. 不影响表格内容和结构
------------------------------------------------------------
89
函数名称: xdrx-table-setrowheight
描述:
设置表格行高(支持自动调整文字高度)
调用格式:
(xdrx-table-setrowheight <表格实体> <行号> <高度> [T])
或
(xdrx-table-setrowheight <表格实体> <高度> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行号(整数),省略时设置所有行
* <高度>: 行高值(实数或整数)
* [T]: 可选参数,自动调整文字高度
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据参数计算文字高度
4. 支持单行或全表行高设置
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-setrowheight nil 2 10.0)
; 设置第2行高度为10.0
示例用法2:
(xdrx-table-setrowheight nil 8.0 T)
; 设置所有行高为8.0并自动调整文字
注意事项:
1. 需要写入权限
2. 高度必须为正数
3. T参数会保持文字与行高的比例
4. 影响表格显示和打印效果
------------------------------------------------------------
90
函数名称: xdrx-table-setsubselection
描述:
设置表格子选区范围(用于后续操作)
调用格式:
(xdrx-table-setsubselection <表格实体> <起始行> <结束行> <起始列> <结束列>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <起始行>: 选区起始行号(0-based)
* <结束行>: 选区结束行号(0-based)
* <起始列>: 选区起始列号(0-based)
* <结束列>: 选区结束列号(0-based)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 验证行列号有效性
4. 设置后续操作的选区范围
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setsubselection nil 1 3 0 2)
; 设置选区为第2-4行,第1-3列
注意事项:
1. 需要写入权限
2. 行列号为0-based索引
3. 选区范围必须有效
4. 影响后续表格操作范围
------------------------------------------------------------
91
函数名称: xdrx-table-settablestyle
描述:
设置表格样式(通过实体名或样式名)
调用格式:
(xdrx-table-settablestyle <表格实体> <样式实体/样式名>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <样式实体/样式名>: 表格样式实体名(ENAME)或样式名称字符串
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 支持通过实体名或样式名设置样式
4. 自动从表格样式字典查找样式
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-settablestyle nil "Standard")
; 使用样式名设置全局表格样式
示例用法2:
(xdrx-table-settablestyle (car (entsel)) (car (entsel)))
; 通过选择实体设置表格样式
注意事项:
1. 需要写入权限
2. 样式必须已存在
3. 影响表格整体外观
4. 会立即更新表格显示
------------------------------------------------------------
92
函数名称: xdrx-table-settextheight
描述:
设置表格文字高度(支持单行、单单元格或全表设置)
调用格式:
(xdrx-table-settextheight <表格实体> <行号> <高度>)
(xdrx-table-settextheight <表格实体> <行号> <列号> <高度>)
(xdrx-table-settextheight <表格实体> <高度>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标行号(整数),省略时设置全表
* <列号>: 目标列号(整数),仅设置指定单元格时使用
* <高度>: 文字高度值(实数或整数),必须>0
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 支持三种设置模式:
- 设置整行文字高度
- 设置单个单元格文字高度
- 设置全表统一文字高度
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-settextheight nil 2 3.5)
; 设置第3行文字高度为3.5
示例用法2:
(xdrx-table-settextheight nil 1 2 2.8)
; 设置第2行第3列文字高度为2.8
示例用法3:
(xdrx-table-settextheight nil 4.0)
; 设置全表文字高度为4.0
注意事项:
1. 需要写入权限
2. 高度必须>0
3. 行列号为0-based索引
4. 影响表格显示和打印效果
------------------------------------------------------------
93
函数名称: xdrx-table-settextrotation
描述:
设置表格单元格文字旋转角度
调用格式:
(xdrx-table-settextrotation <表格实体> <行号> <列号> <角度>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(0-based)
* <列号>: 目标单元格列号(0-based)
* <角度>: 旋转角度值(整数),0=0度,1=90度,2=180度,3=270度
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 验证行列号有效性
4. 设置指定单元格文字旋转角度
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-settextrotation nil 1 2 1)
; 设置第2行第3列文字旋转90度
注意事项:
1. 需要写入权限
2. 行列号为0-based索引
3. 角度值必须为0-3
4. 仅影响指定单元格
5. 立即更新显示效果
------------------------------------------------------------
94
函数名称: xdrx-table-settextstring
描述:
设置表格单元格文本内容(支持单单元格或批量设置)
调用格式:
(xdrx-table-settextstring <表格实体> <行号> <列号> <文本>)
或
(xdrx-table-settextstring <表格实体> '((行号 列号 文本)...))
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(0-based)
* <列号>: 目标单元格列号(0-based)
* <文本>: 要设置的文本内容(字符串)
* 批量模式: 参数为点表,格式为'((行 列 文本)...)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 支持单单元格和批量设置模式
4. 自动处理字符串编码
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-settextstring nil 1 2 "示例文本")
; 设置第2行第3列文本内容
示例用法2:
(xdrx-table-settextstring nil '((0 0 "A1")(1 1 "B2")(2 2 "C3")))
; 批量设置多个单元格内容
注意事项:
1. 需要写入权限
2. 行列号为0-based索引
3. 批量模式效率更高
4. 立即更新显示效果
------------------------------------------------------------
95
函数名称: xdrx-table-settextstyle
描述:
设置表格文本样式(支持单元格或整行设置)
调用格式:
(xdrx-table-settextstyle <表格实体> <行号> <列号> <样式实体>)
或
(xdrx-table-settextstyle <表格实体> <行类型> <样式实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(0-based)
* <列号>: 目标单元格列号(0-based)
* <样式实体>: 文本样式实体名(ENAME)
* <行类型>: 行类型代码(整数),0=标题行,1=表头行,2=数据行
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 支持两种设置模式:
- 设置单个单元格文本样式
- 设置整行类型文本样式
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-settextstyle nil 1 2 (car (entsel)))
; 设置第2行第3列文本样式
示例用法2:
(xdrx-table-settextstyle nil 1 (car (entsel)))
; 设置所有表头行文本样式
注意事项:
1. 需要写入权限
2. 行列号为0-based索引
3. 样式实体必须存在
4. 影响文本显示属性
------------------------------------------------------------
96
函数名称: xdrx-table-setvertcellmargin
描述:
设置表格垂直单元格边距(统一设置所有单元格)
调用格式:
(xdrx-table-setvertcellmargin <表格实体> <边距值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <边距值>: 垂直边距值(实数或整数),单位与绘图单位一致
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 统一设置表格所有单元格的垂直边距
4. 自动处理数值类型转换
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setvertcellmargin nil 2.5)
; 设置表格所有单元格垂直边距为2.5单位
注意事项:
1. 需要写入权限
2. 影响表格整体布局
3. 立即更新显示效果
4. 边距值应大于0
------------------------------------------------------------
97
函数名称: xdrx-table-setwidth
描述:
设置表格整体宽度(自动调整列宽)
调用格式:
(xdrx-table-setwidth <表格实体> <宽度值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <宽度值>: 表格总宽度(实数或整数),单位与绘图单位一致
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 设置表格整体宽度并自动调整各列比例
4. 自动处理数值类型转换
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-table-setwidth nil 100.0)
; 设置表格总宽度为100单位
注意事项:
1. 需要写入权限
2. 宽度值应大于0
3. 各列按原比例自动调整
4. 立即更新显示效果
------------------------------------------------------------
98
函数名称: xdrx-table-style
描述:
获取表格关联的表格样式实体
调用格式:
(xdrx-table-style <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 获取表格关联的表格样式对象ID
4. 转换为实体名返回
返回值:
成功返回表格样式实体名(ENAME),失败返回nil
示例用法:
(xdrx-table-style (car (entsel)))
; 获取选中表格的样式实体
注意事项:
1. 需要读取权限
2. 返回的样式实体可用于进一步操作
3. 若表格无关联样式则返回nil
------------------------------------------------------------
99
函数名称: xdrx-table-styleoverrides
描述:
获取表格样式覆盖属性列表
调用格式:
(xdrx-table-styleoverrides <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 获取表格样式覆盖属性数组
4. 转换为LISP列表格式返回
返回值:
成功返回样式覆盖属性代码列表(整数列表),失败返回nil
示例用法:
(xdrx-table-styleoverrides (car (entsel)))
; 获取选中表格的样式覆盖属性
注意事项:
1. 需要读取权限
2. 返回值为整数代码列表
3. 代码对应具体样式属性
4. 无覆盖时返回空列表
------------------------------------------------------------
100
函数名称: xdrx-table-suppressheaderrow
描述:
设置表格是否隐藏表头行
调用格式:
(xdrx-table-suppressheaderrow <表格实体> <开关状态>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <开关状态>: T表示隐藏表头行,nil表示显示表头行
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 设置表头行显示/隐藏状态
4. 自动更新表格显示
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-suppressheaderrow nil T)
; 隐藏表格的表头行
示例用法2:
(xdrx-table-suppressheaderrow nil nil)
; 显示表格的表头行
注意事项:
1. 需要写入权限
2. 立即影响表格显示
3. 不影响表格数据内容
4. 可与其他表格操作组合使用
------------------------------------------------------------
101
函数名称: xdrx-table-suppressregen
描述:
控制表格自动重生成行为
调用格式:
(xdrx-table-suppressregen <表格实体> <开关状态>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <开关状态>: T表示禁止自动重生成,nil表示允许自动重生成
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 根据AutoCAD版本自动选择底层实现:
- 2007+版本使用suppressRegenerateTable
- 早期版本使用suppressInvisibleGrid
4. 立即生效但不会触发重生成
返回值:
总是返回T
示例用法1:
(xdrx-table-suppressregen nil T)
; 禁止表格自动重生成
示例用法2:
(xdrx-table-suppressregen nil nil)
; 允许表格自动重生成
注意事项:
1. 需要写入权限
2. 批量操作时应先禁止重生成
3. 操作完成后应恢复重生成
4. 性能敏感操作时特别有用
------------------------------------------------------------
102
函数名称: xdrx-table-suppresstitlerow
描述:
设置表格是否隐藏标题行
调用格式:
(xdrx-table-suppresstitlerow <表格实体> <开关状态>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <开关状态>: T表示隐藏标题行,nil表示显示标题行
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以写入模式打开实体
3. 设置标题行显示/隐藏状态
4. 自动更新表格显示
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-suppresstitlerow nil T)
; 隐藏表格的标题行
示例用法2:
(xdrx-table-suppresstitlerow nil nil)
; 显示表格的标题行
注意事项:
1. 需要写入权限
2. 立即影响表格显示
3. 不影响表格数据内容
4. 标题行与表头行是不同概念
------------------------------------------------------------
103
函数名称: xdrx-table-textheight
描述:
获取表格单元格或行的文本高度
调用格式:
(xdrx-table-textheight <表格实体> <行号> [列号])
(xdrx-table-textheight <表格实体> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 行索引号(整数,从0开始)
* [列号]: 可选列索引号(整数,从0开始)
* <行类型>: 行类型代码(整数,对应AcDb::RowType枚举)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 支持两种调用方式:
- 指定行列号获取单元格文本高度
- 指定行类型获取该类型行文本高度
4. 返回值为实数类型
返回值:
成功返回文本高度值(实数),失败返回nil
示例用法1:
(xdrx-table-textheight nil 2 3)
; 获取第3行第4列单元格文本高度
示例用法2:
(xdrx-table-textheight nil AcDb::kTitleRow)
; 获取标题行的文本高度
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 行类型需使用有效枚举值
4. 返回值单位为当前图形单位
------------------------------------------------------------
104
函数名称: xdrx-table-textrotation
描述:
获取表格单元格文本旋转角度
调用格式:
(xdrx-table-textrotation <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 行索引号(整数,从0开始)
* <列号>: 列索引号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 获取指定单元格的文本旋转角度
4. 返回值为弧度值
返回值:
成功返回文本旋转角度(实数,弧度),失败返回nil
示例用法:
(xdrx-table-textrotation nil 1 2)
; 获取第2行第3列单元格文本旋转角度
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 返回值为弧度而非角度
4. 0表示水平方向,PI/2表示垂直方向
------------------------------------------------------------
105
函数名称: xdrx-table-textstring
描述:
获取表格单元格文本内容(支持多种调用方式)
调用格式:
(xdrx-table-textstring <表格实体> [参数1] [参数2] [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* [参数1]:
- 行号(整数)或点对表((行号.列号)...)
* [参数2]:
- 列号(整数)或nil
* [T]: 可选参数,返回简化格式
实现机制:
1. 支持三种调用模式:
- 指定行列号: 获取单个单元格内容
- 指定点对表: 获取多个指定单元格内容
- 无行列参数: 获取整个表格内容
2. 优先使用表格全局指针
3. 自动处理不同返回格式
返回值:
成功返回文本内容:
- 单个单元格: 字符串
- 多个单元格: 字符串列表
- 整个表格: 嵌套列表(行→列)
失败返回nil
示例用法1:
(xdrx-table-textstring nil 1 2)
; 获取第2行第3列单元格内容
示例用法2:
(xdrx-table-textstring nil '((1.2)(3.4)))
; 获取多个指定单元格内容
示例用法3:
(xdrx-table-textstring nil)
; 获取整个表格内容
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. T参数可简化返回格式
4. 空单元格返回空字符串
------------------------------------------------------------
106
函数名称: xdrx-table-textstringa
描述:
获取表格单元格文本内容(增强版),支持格式化文本
调用格式:
(xdrx-table-textstringa <表格实体> [参数1] [参数2] [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* [参数1]:
- 行号(整数)或nil
* [参数2]:
- 列号(整数)或nil
* [T]: 可选参数,返回简化格式
与textstring的区别:
1. 内部调用TableGetValues时启用格式化标志
2. 保留文本的原始格式(如字段表达式)
3. 不自动转换字段值为普通文本
4. 适用于需要保持原始格式的场景
返回值:
成功返回文本内容(保留原始格式):
- 单个单元格: 字符串
- 多个单元格: 字符串列表
- 整个表格: 嵌套列表(行→列)
失败返回nil
示例用法:
(xdrx-table-textstringa nil 1 2)
; 获取第2行第3列单元格原始格式内容
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 返回字段表达式等原始格式
4. 适合需要后续处理原始文本的场景
------------------------------------------------------------
107
函数名称: xdrx-table-textstyle
描述:
获取表格单元格或行的文字样式信息
调用格式:
(xdrx-table-textstyle <表格实体> <行号> <列号>)
(xdrx-table-textstyle <表格实体> <行类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 行索引号(整数,从0开始)
* <列号>: 列索引号(整数,从0开始)
* <行类型>: 行类型代码(整数,对应AcDb::RowType枚举)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 返回样式名称和实体名组成的列表
4. 支持两种调用方式:
- 指定行列号获取单元格样式
- 指定行类型获取该类型行样式
返回值:
成功返回列表(样式名 样式实体名),失败返回nil
示例用法1:
(xdrx-table-textstyle nil 1 2)
; 获取第2行第3列单元格文字样式
示例用法2:
(xdrx-table-textstyle nil AcDb::kTitleRow)
; 获取标题行的文字样式
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 返回值为样式名和实体名的组合
4. 行类型需使用有效枚举值
------------------------------------------------------------
108
函数名称: xdrx-table-unformat
描述:
清除表格中所有文本的格式化标记
调用格式:
(xdrx-table-unformat <表格实体或选择集>)
参数说明:
* <表格实体或选择集>: 目标表格实体名(ENAME)或选择集(RTPICKS)
实现机制:
1. 支持单个表格实体或选择集输入
2. 自动获取并处理所有文本单元格
3. 使用正则表达式移除以下格式化标记:
- 大括号 {}
- 字体标记 \f...
- 样式标记 |b0/1 |i0/1
- 颜色标记 |c...
- 位置标记 |p...;
- 其他格式标记 \L \O \H...x; \Q...; \T...; \W...; \c...;
返回值:
总是返回T
示例用法1:
(xdrx-table-unformat (car (entsel)))
; 清除选中表格的格式化
示例用法2:
(xdrx-table-unformat (ssget "X" '((0 . "TABLE"))))
; 清除所有表格的格式化
注意事项:
1. 需要写入权限
2. 会永久移除所有格式化标记
3. 处理前会自动锁定文档
4. 支持中英文字符的格式化标记
------------------------------------------------------------
109
函数名称: xdrx-table-unmergecells
描述:
取消表格单元格的合并状态
调用格式:
(xdrx-table-unmergecells <表格实体> [最小行 最大行 最小列 最大列])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* [最小行]: 合并区域最小行号(整数,从0开始)
* [最大行]: 合并区域最大行号
* [最小列]: 合并区域最小列号
* [最大列]: 合并区域最大列号
实现机制:
1. 支持两种调用方式:
- 指定区域: 取消指定矩形区域的合并
- 仅表格实体: 取消表格中所有合并单元格
2. 优先使用表格全局指针
3. 自动处理合并单元格的拆分
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-unmergecells (car (entsel)) 1 3 2 4)
; 取消选中表格2-4行3-5列区域的合并
示例用法2:
(xdrx-table-unmergecells (car (entsel)))
; 取消选中表格所有合并单元格
注意事项:
1. 需要写入权限
2. 行列索引从0开始
3. 不指定区域时处理整个表格
4. 会自动保留原合并单元格的内容
------------------------------------------------------------
110
函数名称: xdrx-table-vertcellmargin
描述:
获取表格垂直单元格边距值
调用格式:
(xdrx-table-vertcellmargin <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 调用AcDbTable::vertCellMargin()获取值
返回值:
成功返回垂直边距值(实数),失败返回nil
示例用法:
(xdrx-table-vertcellmargin (car (entsel)))
; 获取选中表格的垂直单元格边距
注意事项:
1. 需要读取权限
2. 返回值为当前绘图单位下的距离值
3. 仅支持单个表格实体输入
------------------------------------------------------------
111
函数名称: xdrx-table-width
描述:
获取表格总宽度
调用格式:
(xdrx-table-width <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 无全局指针时自动以读取模式打开实体
3. 调用AcDbTable::width()获取表格总宽度
返回值:
成功返回表格宽度值(实数),失败返回nil
示例用法:
(xdrx-table-width (car (entsel)))
; 获取选中表格的总宽度
注意事项:
1. 需要读取权限
2. 返回值为当前绘图单位下的宽度值
3. 包含所有列宽和间距
------------------------------------------------------------
112
函数名称: xdrx-table-break
描述:
表格分割功能,支持按高度或分段数分割表格
调用格式:
(xdrx-table-break <表格实体> <高度/分段数> <间距> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)
* <高度/分段数>:
- 实数: 指定每段高度
- 整数: 指定分段数量
* <间距>: 分段间距值(实数或整数)
* [T]: 可选参数,用于取消分割
实现机制:
1. 支持三种操作模式:
- 按指定高度分割
- 按分段数量自动计算高度分割
- 取消现有分割(T参数)
2. 自动计算保留表头行
3. 处理分段余数情况
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-break (car (entsel)) 100 5)
; 按每段100单位高度分割表格,间距5
示例用法2:
(xdrx-table-break (car (entsel)) 3 10)
; 将表格分成3段,自动计算高度,间距10
示例用法3:
(xdrx-table-break (car (entsel)) T)
; 取消表格分割
注意事项:
1. 需要写入权限
2. 分段计算会保留前两行作为表头
3. 高度单位为当前绘图单位
4. 取消分割需表格已启用分割
------------------------------------------------------------
113
函数名称: xdrx-table-breakflowdirection
描述:
获取表格分割后的流向方向
调用格式:
(xdrx-table-breakflowdirection <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用了分割
3. 返回AcDb::TableBreakFlowDirection枚举值:
- 0: 向下
- 1: 向上
- 2: 向左
- 3: 向右
返回值:
成功返回流向方向代码(整数),失败返回nil
示例用法:
(xdrx-table-breakflowdirection (car (entsel)))
; 获取选中表格的分割流向
注意事项:
1. 需要读取权限
2. 仅对已分割表格有效
3. 返回值对应AutoCAD内部枚举
------------------------------------------------------------
114
函数名称: xdrx-table-breakheight
描述:
获取表格分割区域的高度值
调用格式:
(xdrx-table-breakheight <表格实体> <区域索引>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <区域索引>: 分割区域编号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用了分割
3. 调用AcDbTable::breakHeight()获取指定区域高度
返回值:
成功返回高度值(实数),失败返回nil
示例用法:
(xdrx-table-breakheight (car (entsel)) 0)
; 获取选中表格第一个分割区域的高度
注意事项:
1. 需要读取权限
2. 仅对已分割表格有效
3. 索引从0开始计数
4. 返回值为当前绘图单位下的高度
------------------------------------------------------------
115
函数名称: xdrx-table-breakoffset
描述:
获取表格分割区域的偏移向量
调用格式:
(xdrx-table-breakoffset <表格实体> <区域索引>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <区域索引>: 分割区域编号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用了分割
3. 调用AcDbTable::breakOffset()获取三维偏移向量
返回值:
成功返回偏移向量(x y z坐标),失败返回nil
示例用法:
(xdrx-table-breakoffset (car (entsel)) 0)
; 获取选中表格第一个分割区域的偏移向量
注意事项:
1. 需要读取权限
2. 仅对已分割表格有效
3. 索引从0开始计数
4. 返回值为当前绘图单位下的三维向量
------------------------------------------------------------
116
函数名称: xdrx-table-breakoption
描述:
获取表格分割选项设置
调用格式:
(xdrx-table-breakoption <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用了分割
3. 返回AcDb::TableBreakOption枚举值:
- 0: 重复标题行
- 1: 重复表头行
- 2: 手动位置控制
返回值:
成功返回分割选项代码(整数),失败返回nil
示例用法:
(xdrx-table-breakoption (car (entsel)))
; 获取选中表格的分割选项设置
注意事项:
1. 需要读取权限
2. 仅对已分割表格有效
3. 返回值对应AutoCAD内部枚举
------------------------------------------------------------
117
函数名称: xdrx-table-breakspacing
描述:
获取表格分割间距值
调用格式:
(xdrx-table-breakspacing <表格实体>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用了分割
3. 调用AcDbTable::breakSpacing()获取间距值
返回值:
成功返回间距值(实数),失败返回nil
示例用法:
(xdrx-table-breakspacing (car (entsel)))
; 获取选中表格的分割间距值
注意事项:
1. 需要读取权限
2. 仅对已分割表格有效
3. 返回值为当前绘图单位下的距离
------------------------------------------------------------
118
函数名称: xdrx-table-delete-p
描述:
检查表格行/列是否可删除
调用格式:
(xdrx-table-delete-p <表格实体> <起始索引> <数量> <行/列标志>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <起始索引>: 起始行/列号(整数,从0开始)
* <数量>: 要检查的行/列数量(整数)
* <行/列标志>:
- T: 检查行
- nil: 检查列
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::canDelete()验证可删除性
3. 检查表格结构约束条件
返回值:
可删除返回T,不可删除返回nil
示例用法1:
(xdrx-table-delete-p (car (entsel)) 1 2 T)
; 检查选中表格第2-3行是否可删除
示例用法2:
(xdrx-table-delete-p (car (entsel)) 0 1 nil)
; 检查选中表格第1列是否可删除
注意事项:
1. 需要读取权限
2. 索引从0开始计数
3. 受表格最小行/列数限制
------------------------------------------------------------
119
函数名称: xdrx-table-insert-p
描述:
检查表格中是否可在指定位置插入行/列
调用格式:
(xdrx-table-insert-p <表格实体> <插入位置> <行/列标志>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <插入位置>: 要插入的行/列位置(整数,从0开始)
* <行/列标志>:
- T: 检查行插入
- nil: 检查列插入
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::canInsert()验证可插入性
3. 检查表格结构约束条件
返回值:
可插入返回T,不可插入返回nil
示例用法1:
(xdrx-table-insert-p (car (entsel)) 1 T)
; 检查是否可在第2行位置插入新行
示例用法2:
(xdrx-table-insert-p (car (entsel)) 0 nil)
; 检查是否可在第1列位置插入新列
注意事项:
1. 需要读取权限
2. 位置索引从0开始计数
3. 受表格最大行/列数限制
------------------------------------------------------------
120
函数名称: xdrx-table-contenttype
描述:
获取表格单元格内容类型
调用格式:
(xdrx-table-contenttype <表格实体> <行号> <列号> <内容索引>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <内容索引>: 内容项索引(整数)
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::contentType()获取内容类型
3. 返回AcDb::CellContentType枚举值:
- 0: 文本
- 1: 块
- 2: 字段
- 3: 公式
返回值:
成功返回内容类型代码(整数),失败返回nil
示例用法:
(xdrx-table-contenttype (car (entsel)) 1 2 0)
; 获取选中表格第2行第3列第一个内容项的类型
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 内容索引从0开始
4. 返回值对应AutoCAD内部枚举
------------------------------------------------------------
121
函数名称: xdrx-table-copyfrom
描述:
从源表格复制单元格内容到目标表格
调用格式:
(xdrx-table-copyfrom <目标表格> <源表格> <复制选项> <源范围> <目标范围>)
参数说明:
* <目标表格>: 目标表格实体名(ENAME)
* <源表格>: 源表格实体名(ENAME)
* <复制选项>: 复制选项代码(整数)
- 0: 复制内容和格式
- 1: 仅复制内容
- 2: 仅复制格式
* <源范围>: 源表格范围列表(topRow leftCol bottomRow rightCol)
* <目标范围>: 目标表格范围列表(topRow leftCol bottomRow rightCol)
实现机制:
1. 打开目标表格和源表格
2. 调用AcDbTable::copyFrom()执行复制
3. 返回实际复制范围
返回值:
成功返回实际复制范围列表(topRow leftCol bottomRow rightCol),失败返回nil
示例用法:
(xdrx-table-copyfrom
(car (entsel "\n选择目标表格: "))
(car (entsel "\n选择源表格: "))
0
'(1 1 3 3)
'(0 0 2 2))
; 将源表格1-3行1-3列内容复制到目标表格0-2行0-2列
注意事项:
1. 需要写入权限
2. 行列索引从0开始
3. 范围必须为有效矩形区域
4. 目标区域大小需匹配源区域
------------------------------------------------------------
122
函数名称: xdrx-table-mergeallenable
描述:
设置表格单元格的合并全部属性
调用格式:
(xdrx-table-mergeallenable <表格实体> <行号> <列号> <启用标志>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <启用标志>:
- T: 启用合并全部
- nil: 禁用合并全部
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::enableMergeAll()设置属性
3. 修改表格内部合并状态
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-table-mergeallenable (car (entsel)) 1 2 T)
; 启用第2行第3列单元格的合并全部属性
示例用法2:
(xdrx-table-mergeallenable (car (entsel)) 0 0 nil)
; 禁用第1行第1列单元格的合并全部属性
注意事项:
1. 需要写入权限
2. 行列索引从0开始
3. 仅影响当前单元格的合并属性
------------------------------------------------------------
123
函数名称: xdrx-table-getattributevalue
描述:
获取表格单元格属性值(支持单个单元格或整个表格)
调用格式:
(xdrx-table-getattributevalue <表格实体> [行号] [列号])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* [行号]: 可选,目标单元格行号(整数,从0开始)
* [列号]: 可选,目标单元格列号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 检查单元格类型是否为块引用
3. 获取属性定义值
4. 无行列参数时返回整个表格属性
返回值:
- 指定单元格: 返回属性值列表
- 整个表格: 返回带行列信息的属性值列表
- 失败返回nil
示例用法1:
(xdrx-table-getattributevalue (car (entsel)) 1 2)
; 获取第2行第3列单元格属性
示例用法2:
(xdrx-table-getattributevalue (car (entsel)))
; 获取整个表格所有单元格属性
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 仅块类型单元格返回有效属性
------------------------------------------------------------
124
函数名称: xdrx-table-getdblspacing
描述:
获取表格单元格双线间距值
调用格式:
(xdrx-table-getdblspacing <表格实体> <行号> <列号> <网格线类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <网格线类型>: 网格线类型代码(整数)
- 0: 水平线
- 1: 垂直线
- 2: 顶部边界
- 3: 底部边界
- 4: 左边界
- 5: 右边界
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::gridDoubleLineSpacing()获取间距
3. 返回实际双线间距值
返回值:
成功返回双线间距值(实数),失败返回nil
示例用法:
(xdrx-table-getdblspacing (car (entsel)) 1 2 0)
; 获取第2行第3列单元格水平双线间距
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 网格线类型必须有效
4. 返回值单位为当前图形单位
------------------------------------------------------------
125
函数名称: xdrx-table-getoverride
描述:
获取表格单元格的样式覆盖属性
调用格式:
(xdrx-table-getoverride <表格实体> <行号> <列号> <属性类型> [T])
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <属性类型>: 属性类型代码(整数)
- 0-7: 单元格边线属性(AcDb::CellEdgeMask)
- 其他: 网格线属性(AcDb::GridProperty)
* [T]: 可选参数,指定返回网格线类型属性
实现机制:
1. 优先使用表格全局指针
2. 根据参数类型调用不同getOverride方法
3. 返回属性覆盖状态代码
返回值:
成功返回属性覆盖状态代码(整数),失败返回nil
示例用法1:
(xdrx-table-getoverride (car (entsel)) 1 2 1)
; 获取第2行第3列单元格的右边线覆盖属性
示例用法2:
(xdrx-table-getoverride (car (entsel)) 0 0 3 T)
; 获取第1行第1列单元格的水平网格线覆盖属性
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 属性类型代码需参考AutoCAD API文档
------------------------------------------------------------
126
函数名称: xdrx-table-formula-p
描述:
检查表格单元格是否包含公式
调用格式:
(xdrx-table-formula-p <表格实体> <行号> <列号> <内容类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <内容类型>: 内容类型代码(整数)
- 0: 文本内容
- 1: 公式内容
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::hasFormula()检查公式
3. 返回布尔值表示是否存在
返回值:
存在公式返回T,不存在返回nil
示例用法:
(xdrx-table-formula-p (car (entsel)) 1 2 1)
; 检查第2行第3列单元格是否包含公式
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 内容类型必须正确指定
4. 仅对公式单元格返回T
------------------------------------------------------------
127
函数名称: xdrx-table-isempty
描述:
检查表格单元格是否为空
调用格式:
(xdrx-table-isempty <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::isEmpty()检查单元格
3. 返回布尔值表示是否为空
返回值:
单元格为空返回T,非空返回nil
示例用法:
(xdrx-table-isempty (car (entsel)) 1 2)
; 检查第2行第3列单元格是否为空
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 合并单元格视为非空
4. 仅检查内容不检查格式
------------------------------------------------------------
128
函数名称: xdrx-table-enablemergeall-p
描述:
检查表格单元格是否启用了全部合并功能
调用格式:
(xdrx-table-enablemergeall-p <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::isMergeAllEnabled()检查状态
3. 返回布尔值表示是否启用
返回值:
启用全部合并返回T,未启用返回nil
示例用法:
(xdrx-table-enablemergeall-p (car (entsel)) 1 2)
; 检查第2行第3列单元格是否启用全部合并
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 仅对合并单元格有效
4. 返回状态反映单元格当前设置
------------------------------------------------------------
129
函数名称: xdrx-table-margin
描述:
获取表格单元格的边距值
调用格式:
(xdrx-table-margin <表格实体> <行号> <列号> <边距类型>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <边距类型>: 边距类型代码(整数)
- 0: 顶部边距
- 1: 左边距
- 2: 底部边距
- 3: 右边距
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::margin()获取边距值
3. 返回实际边距值(实数)
返回值:
成功返回边距值(实数),失败返回nil
示例用法:
(xdrx-table-margin (car (entsel)) 1 2 1)
; 获取第2行第3列单元格的左边距值
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 边距值单位为当前图形单位
4. 合并单元格返回主单元格边距
------------------------------------------------------------
130
函数名称: xdrx-table-numcontents
描述:
获取表格单元格内容项数量
调用格式:
(xdrx-table-numcontents <表格实体> <行号> <列号>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::numContents()获取数量
3. 返回内容项数量(整数)
返回值:
成功返回内容项数量(整数),失败返回nil
示例用法:
(xdrx-table-numcontents (car (entsel)) 1 2)
; 获取第2行第3列单元格的内容项数量
注意事项:
1. 需要读取权限
2. 行列索引从0开始
3. 返回值为单元格内所有内容项总数
4. 合并单元格返回主单元格内容数量
------------------------------------------------------------
131
函数名称: xdrx-table-setbreakflowdirection
描述:
设置表格断点流向方向
调用格式:
(xdrx-table-setbreakflowdirection <表格实体> <流向选项>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <流向选项>: 流向方向代码(整数)
- 0: 向下
- 1: 向上
- 2: 向左
- 3: 向右
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用断点
3. 调用AcDbTable::setBreakFlowDirection()设置方向
4. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-setbreakflowdirection (car (entsel)) 0)
; 设置表格断点流向为向下
注意事项:
1. 需要写入权限
2. 仅对启用断点的表格有效
3. 修改后需重绘表格生效
------------------------------------------------------------
132
函数名称: xdrx-table-setbreakheight
描述:
设置表格断点高度
调用格式:
(xdrx-table-setbreakheight <表格实体> <断点索引> <高度值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <断点索引>: 断点位置索引(整数)
* <高度值>: 要设置的高度值(实数或整数)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用断点
3. 调用AcDbTable::setBreakHeight()设置高度
4. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-setbreakheight (car (entsel)) 0 10.5)
; 设置第一个断点高度为10.5单位
注意事项:
1. 需要写入权限
2. 仅对启用断点的表格有效
3. 高度值需大于0
4. 修改后需重绘表格生效
------------------------------------------------------------
133
函数名称: xdrx-table-setbreakoffset
描述:
设置表格断点偏移量
调用格式:
(xdrx-table-setbreakoffset <表格实体> <断点索引> <偏移向量>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <断点索引>: 断点位置索引(整数)
* <偏移向量>: 三维偏移向量(点表或向量)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用断点
3. 调用AcDbTable::setBreakOffset()设置偏移
4. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-setbreakoffset (car (entsel)) 0 '(10 5 0))
; 设置第一个断点偏移量为(10,5,0)
注意事项:
1. 需要写入权限
2. 仅对启用断点的表格有效
3. 偏移向量需为三维坐标
4. 修改后需重绘表格生效
------------------------------------------------------------
134
函数名称: xdrx-table-setbreakoption
描述:
设置表格断点选项
调用格式:
(xdrx-table-setbreakoption <表格实体> <选项代码>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <选项代码>: 断点选项代码(整数)
- 0: 禁用断点
- 1: 启用断点
- 2: 自动断点
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::setBreakOption()设置选项
3. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-setbreakoption (car (entsel)) 1)
; 启用表格断点功能
注意事项:
1. 需要写入权限
2. 修改后需重绘表格生效
3. 自动断点选项需表格支持
------------------------------------------------------------
135
函数名称: xdrx-table-setbreakspacing
描述:
设置表格断点间距
调用格式:
(xdrx-table-setbreakspacing <表格实体> <间距值>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <间距值>: 要设置的间距值(实数或整数)
实现机制:
1. 优先使用表格全局指针
2. 检查表格是否启用断点
3. 调用AcDbTable::setBreakSpacing()设置间距
4. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-setbreakspacing (car (entsel)) 5.0)
; 设置表格断点间距为5.0单位
注意事项:
1. 需要写入权限
2. 仅对启用断点的表格有效
3. 间距值需大于0
4. 修改后需重绘表格生效
------------------------------------------------------------
136
函数名称: xdrx-table-settooltip
描述:
设置表格单元格的工具提示文本
调用格式:
(xdrx-table-settooltip <表格实体> <行号> <列号> <提示文本>)
参数说明:
* <表格实体>: 目标表格实体名(ENAME)或nil(使用表格全局指针)
* <行号>: 目标单元格行号(整数,从0开始)
* <列号>: 目标单元格列号(整数,从0开始)
* <提示文本>: 要设置的提示文本(字符串)
实现机制:
1. 优先使用表格全局指针
2. 调用AcDbTable::setToolTip()设置提示文本
3. 返回操作状态
返回值:
设置成功返回T,失败返回nil
示例用法:
(xdrx-table-settooltip (car (entsel)) 1 2 "这是提示文本")
; 设置第2行第3列单元格的工具提示
注意事项:
1. 需要写入权限
2. 行列索引从0开始
3. 提示文本支持多行显示
4. 修改后需重绘表格生效
------------------------------------------------------------
|
|