XDrxAPI 21 个 MLine 函数帮助手册
1函数名称: xdrx-mline-appendseg
描述:
向多线(MLINE)实体追加线段,支持两种调用方式。
调用格式:
(xdrx-mline-appendseg <多线实体> <点坐标>)
或
(xdrx-mline-appendseg <点坐标>)
参数说明:
* <多线实体>: 多线实体名(第一种调用方式)
* <点坐标>: 3D点坐标,表示线段终点
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-mline-appendseg ent1 '(10 20 0))
返回: T (成功追加线段)
示例用法2:
(xdrx-mline-appendseg '(15 25 0))
返回: T (使用当前堆栈中的多线追加线段)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 点坐标为3D坐标(x y z)
3. 自动处理UCS到WCS的坐标转换
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
2
函数名称: xdrx-mline-element
描述:
获取多线(MLINE)上指定点所在的元素索引,支持两种调用方式。
调用格式:
(xdrx-mline-element <多线实体> <点坐标>)
或
(xdrx-mline-element <点坐标>)
参数说明:
* <多线实体>: 多线实体名(第一种调用方式)
* <点坐标>: 3D点坐标,用于查询元素索引
返回值:
返回点所在的多线元素索引号(从0开始)
示例用法1:
(xdrx-mline-element ent1 '(10 20 0))
返回: 1 (点位于第二个元素上)
示例用法2:
(xdrx-mline-element '(15 25 0))
返回: 0 (使用当前堆栈中的多线查询)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 点坐标为3D坐标(x y z)
3. 元素索引从0开始计数
4. 自动处理UCS到WCS的坐标转换
5. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
3
函数名称: xdrx-mline-getclosestpoint
描述:
获取多线(MLINE)上距离指定点最近的点,支持扩展和端点排除选项。
调用格式:
(xdrx-mline-getclosestpoint <多线实体> <点坐标> )
或
(xdrx-mline-getclosestpoint <点坐标> )
参数说明:
* <多线实体>: 多线实体名(第一种调用方式)
* <点坐标>: 3D点坐标,用于查询最近点
* : 可选参数,是否扩展到无限长线(T=是)
* : 可选参数,是否排除端点(T=是)
返回值:
返回多线上最近点的3D坐标
示例用法1:
(xdrx-mline-getclosestpoint ent1 '(10 20 0))
返回: (10.5 20.3 0.0) (多线上最近点坐标)
示例用法2:
(xdrx-mline-getclosestpoint '(15 25 0) T)
返回: (15.2 25.1 0.0) (考虑无限延长线)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 点坐标为3D坐标(x y z)
3. 第一个T参数启用无限延长线计算
4. 第二个T参数排除端点计算
5. 自动处理UCS到WCS的坐标转换
------------------------------------------------------------
4
函数名称: xdrx-mline-getplane
描述:
获取多线(MLINE)所在的平面坐标系参数,支持两种调用方式。
调用格式:
(xdrx-mline-getplane [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回三个3D向量组成的列表:(原点坐标 X轴向量 Y轴向量)
示例用法1:
(xdrx-mline-getplane ent1)
返回: ((0 0 0) (1 0 0) (0 1 0)) (平面坐标系参数)
示例用法2:
(xdrx-mline-getplane)
返回: ((10 20 0) (0.707 0.707 0) (-0.707 0.707 0)) (使用堆栈中的多线)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 返回平面坐标系定义参数:
- 原点坐标
- X轴方向向量
- Y轴方向向量
3. 向量均为单位向量
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
5
函数名称: xdrx-mline-isclosed
描述:
检查多线(MLINE)是否闭合,支持两种调用方式。
调用格式:
(xdrx-mline-isclosed [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回T表示多线闭合,nil表示未闭合
示例用法1:
(xdrx-mline-isclosed ent1)
返回: T (多线闭合)
示例用法2:
(xdrx-mline-isclosed)
返回: nil (使用堆栈中的多线且未闭合)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 仅检查多线是否闭合
3. 返回值简单明确(T/nil)
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
6
函数名称: xdrx-mline-justification
描述:
获取多线(MLINE)的对齐方式,支持两种调用方式。
调用格式:
(xdrx-mline-justification [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回整数表示对齐方式:
0=顶部对齐(Top)
1=零对齐(Zero)
2=底部对齐(Bottom)
示例用法1:
(xdrx-mline-justification ent1)
返回: 1 (零对齐)
示例用法2:
(xdrx-mline-justification)
返回: 0 (使用堆栈中的多线且顶部对齐)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 返回值对应三种对齐方式
3. 有特定版本限制(不支持AutoCAD 2021等)
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
7
函数名称: xdrx-mline-make
描述:
创建多线(MLINE)对象,支持指定宽度和闭合选项。
调用格式:
(xdrx-mline-make [宽度] <点1> <点2> ... )
参数说明:
* [宽度]: 可选参数,多线宽度(实数或整数)
* <点1>,<点2>...: 必需参数,多个点坐标(2D或3D)
* : 可选参数,是否闭合多线(T=是)
返回值:
返回新创建的多线实体名
示例用法1:
(xdrx-mline-make 10 '(0 0) '(10 10) '(20 0))
返回: <图元名: 7ffff7063f0> (创建宽度10的多线)
示例用法2:
(xdrx-mline-make '(0 0) '(5 5) '(10 0) T)
返回: <图元名: 7ffff706400> (创建闭合多线,使用默认宽度)
注意事项:
1. 第一个可选参数为多线宽度
2. 后续参数为多个点坐标(2D或3D)
3. 最后可带T参数创建闭合多线
4. 自动使用当前多线样式、比例和对齐方式
5. 有特定版本限制(不支持AutoCAD 2021等)
------------------------------------------------------------
8
函数名称: xdrx-mline-makestyle
描述:
创建新的多线样式,可基于现有样式修改。
调用格式:
(xdrx-mline-makestyle "新样式名" ["基准样式名"])
参数说明:
* "新样式名": 必需参数,要创建的新样式名称
* ["基准样式名"]: 可选参数,基准样式名称(默认为"Standard")
返回值:
返回新创建的多线样式实体名
示例用法1:
(xdrx-mline-makestyle "MyStyle")
返回: <图元名: 7ffff706410> (基于Standard样式创建新样式)
示例用法2:
(xdrx-mline-makestyle "NewStyle" "MyStyle")
返回: <图元名: 7ffff706420> (基于MyStyle样式创建新样式)
注意事项:
1. 必须指定新样式名称
2. 可选指定基准样式(默认使用Standard样式)
3. 新样式会继承基准样式的属性
4. 样式名称区分大小写
5. 返回新样式的实体名
------------------------------------------------------------
9
函数名称: xdrx-mline-movevertexat
描述:
移动多线(MLINE)指定索引处的顶点到新位置,支持两种调用方式。
调用格式:
(xdrx-mline-movevertexat <多线实体> <顶点索引> <新位置点>)
或
(xdrx-mline-movevertexat <顶点索引> <新位置点>)
参数说明:
* <多线实体>: 多线实体名(第一种调用方式)
* <顶点索引>: 要移动的顶点索引(从0开始)
* <新位置点>: 顶点要移动到的3D坐标
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-mline-movevertexat ent1 2 '(15 25 0))
返回: T (将索引2的顶点移动到(15,25,0))
示例用法2:
(xdrx-mline-movevertexat 0 '(10 10 0))
返回: T (移动堆栈中多线的索引0顶点)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 顶点索引从0开始计数
3. 新位置点为3D坐标
4. 自动处理UCS到WCS坐标转换
5. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
10
函数名称: xdrx-mline-normal
描述:
获取多线(MLINE)的法线向量,支持两种调用方式。
调用格式:
(xdrx-mline-normal [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回法线向量的3D坐标(x y z)
示例用法1:
(xdrx-mline-normal ent1)
返回: (0 0 1) (法线向量)
示例用法2:
(xdrx-mline-normal)
返回: (0 0 -1) (使用堆栈中多线的法线向量)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 返回值为单位法线向量
3. 法线向量通常垂直于多线平面
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
11
函数名称: xdrx-mline-numverts
描述:
获取多线(MLINE)的顶点数量,支持两种调用方式。
调用格式:
(xdrx-mline-numverts [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回多线的顶点数量(整数)
示例用法1:
(xdrx-mline-numverts ent1)
返回: 5 (多线有5个顶点)
示例用法2:
(xdrx-mline-numverts)
返回: 3 (使用堆栈中多线的顶点数量)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 返回值为顶点总数
3. 顶点数量包括起点和终点
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
12
函数名称: xdrx-mline-removelastseg
描述:
移除多线(MLINE)的最后一段并返回被移除顶点坐标,支持两种调用方式。
调用格式:
(xdrx-mline-removelastseg [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回被移除顶点的3D坐标(x y z)
示例用法1:
(xdrx-mline-removelastseg ent1)
返回: (15 25 0) (被移除的顶点坐标)
示例用法2:
(xdrx-mline-removelastseg)
返回: (10 10 0) (移除堆栈中多线的最后一段)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 每次调用移除最后一段
3. 返回被移除顶点的坐标
4. 自动处理坐标系统转换
5. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
13
函数名称: xdrx-mline-scale
描述:
获取多线(MLINE)的比例因子,支持两种调用方式。
调用格式:
(xdrx-mline-scale [<多线实体>])
参数说明:
* [<多线实体>]: 可选参数,多线实体名(省略时使用当前堆栈对象)
返回值:
返回多线的比例因子(实数)
示例用法1:
(xdrx-mline-scale ent1)
返回: 20.0 (多线比例因子)
示例用法2:
(xdrx-mline-scale)
返回: 10.0 (使用堆栈中多线的比例因子)
注意事项:
1. 支持两种调用方式:
- 显式指定多线实体
- 使用当前堆栈中的多线对象
2. 比例因子控制多线的整体宽度
3. 返回值为实数
4. 仅适用于AutoCAD多线(MLINE)对象
------------------------------------------------------------
14
函数名:xdrx-mline-setclosed
描述:
设置MLINE的闭合状态,支持两种调用方式。
语法:
(xdrx-mline-setclosed <mline-entity> )
或
(xdrx-mline-setclosed )
参数:
* <mline-entity>:MLINE实体名称(第一种调用方式)
* :可选参数,T表示开启MLINE(不闭合),nil表示闭合MLINE
返回值:
成功返回T,失败返回nil
示例1:
(xdrx-mline-setclosed ent1)
返回:T(闭合MLINE)
示例2:
(xdrx-mline-setclosed T)
返回:T(从堆栈中开启MLINE)
说明:
1. 支持两种调用方式:
- 显式指定MLINE实体
- 使用当前堆栈中的MLINE
2. T参数表示开启MLINE(不闭合)
3. 无参数表示闭合MLINE
4. 仅适用于AutoCAD的MLINE对象
------------------------------------------------------------
15
函数名称: xdrx-mline-setnormal
描述:
设置多线(MLINE)实体的法线向量
调用格式:
(xdrx-mline-setnormal <多线实体> <法线向量>)
或
(xdrx-mline-setnormal <法线向量>)
参数说明:
* <多线实体>: 目标多线实体(可选)
* <法线向量>: 三维向量(x y z)(必须)
返回值:
- T: 设置成功
- nil: 设置失败
示例用法1:
(xdrx-mline-setnormal (car (entsel)) '(0 0 1))
; 设置选中多线的法线为Z轴
示例用法2:
(xdrx-mline-setnormal '(0 1 0))
; 设置当前操作栈中多线的法线为Y轴
实现特点:
1. 支持实体直接指定
2. 支持从操作栈获取实体
3. 自动向量归一化
4. 严格的参数校验
5. 完善的错误处理
注意事项:
1. 向量会自动归一化
2. 无实体参数时需确保操作栈有效
3. 仅支持多线实体
4. 非法向量会导致失败
5. 修改后需重绘显示
------------------------------------------------------------
16
函数名称: xdrx-mline-setscale
描述:
设置多线(MLINE)实体的比例因子
调用格式:
(xdrx-mline-setscale <多线实体> <比例值>)
或
(xdrx-mline-setscale <比例值>)
参数说明:
* <多线实体>: 目标多线实体(可选)
* <比例值>: 比例因子(整数或实数)(必须)
返回值:
- T: 设置成功
- nil: 设置失败
示例用法1:
(xdrx-mline-setscale (car (entsel)) 2.5)
; 设置选中多线的比例为2.5
示例用法2:
(xdrx-mline-setscale 3)
; 设置当前操作栈中多线的比例为3
实现特点:
1. 支持实体直接指定
2. 支持从操作栈获取实体
3. 接受整数或实数参数
4. 严格的参数校验
5. 完善的错误处理
注意事项:
1. 比例必须大于0
2. 无实体参数时需确保操作栈有效
3. 仅支持多线实体
4. 比例过小可能导致显示问题
5. 修改后需重绘显示
------------------------------------------------------------
17
函数名称: xdrx-mline-setstyle
描述:
设置多线(MLINE)实体的样式
调用格式:
(xdrx-mline-setstyle <多线样式实体>)
或
(xdrx-mline-setstyle <多线实体> <多线样式实体>)
参数说明:
* <多线实体>: 目标多线实体(可选)
* <多线样式实体>: 多线样式实体(必须)
返回值:
- T: 设置成功
- nil: 设置失败
示例用法1:
(xdrx-mline-setstyle (car (entsel "选择样式实体")))
; 设置当前操作栈中多线使用指定样式
示例用法2:
(xdrx-mline-setstyle (car (entsel "选择多线")) (car (entsel "选择样式实体")))
; 设置指定多线使用指定样式
实现特点:
1. 支持两种调用方式
2. 严格的参数校验
3. 自动处理操作栈实体
4. 完善的错误处理
5. 支持批量样式修改
注意事项:
1. 样式实体必须存在
2. 无多线参数时需确保操作栈有效
3. 仅支持多线实体和样式
4. 修改后需重绘显示
5. 样式变化可能影响几何外观
------------------------------------------------------------
18
函数名称: xdrx-mline-setendcaps
描述:
设置多线(MLINE)实体的端头显示状态
调用格式:
(xdrx-mline-setendcaps <多线实体> )
或
(xdrx-mline-setendcaps )
参数说明:
* <多线实体>: 目标多线实体(可选)
* : 可选参数,存在时关闭端头显示
返回值:
- T: 设置成功
- nil: 设置失败
示例用法1:
(xdrx-mline-setendcaps (car (entsel)))
; 开启选中多线的端头显示
示例用法2:
(xdrx-mline-setendcaps (car (entsel)) T)
; 关闭选中多线的端头显示
实现特点:
1. 支持两种调用方式
2. 自动处理操作栈实体
3. 精确控制端头显示
4. 完善的错误处理
5. 支持批量修改
注意事项:
1. T参数控制端头显示开关
2. 无实体参数时需确保操作栈有效
3. 仅支持多线实体
4. 修改后需重绘显示
5. 端头设置不影响几何计算
------------------------------------------------------------
19
函数名称: xdrx-mline-setstartcaps
描述:
设置多线(MLINE)实体的起始端头显示状态
调用格式:
(xdrx-mline-setstartcaps <多线实体> )
或
(xdrx-mline-setstartcaps )
参数说明:
* <多线实体>: 目标多线实体(可选)
* : 可选参数,存在时关闭起始端头显示
返回值:
- T: 设置成功
- nil: 设置失败
示例用法1:
(xdrx-mline-setstartcaps (car (entsel)))
; 开启选中多线的起始端头显示
示例用法2:
(xdrx-mline-setstartcaps (car (entsel)) T)
; 关闭选中多线的起始端头显示
实现特点:
1. 支持两种调用方式
2. 精确控制起始端头显示
3. 自动处理操作栈实体
4. 完善的错误处理
5. 支持批量修改
注意事项:
1. T参数控制起始端头显示开关
2. 无实体参数时需确保操作栈有效
3. 仅支持多线实体
4. 修改后需重绘显示
5. 与结束端头设置相互独立
------------------------------------------------------------
20
函数名称: xdrx-mline-style
描述:
获取多线(MLINE)实体关联的样式实体
调用格式:
(xdrx-mline-style [<多线实体>])
参数说明:
* [<多线实体>]: 目标多线实体(可选)
返回值:
- 实体名: 关联的样式实体
- nil: 获取失败
示例用法1:
(xdrx-mline-style)
; 获取当前操作栈中多线的样式实体
示例用法2:
(xdrx-mline-style (car (entsel)))
; 获取选中多线的样式实体
实现特点:
1. 支持两种调用方式
2. 自动处理操作栈实体
3. 精确获取样式关联
4. 完善的错误处理
5. 不修改原实体
注意事项:
1. 无参数时需确保操作栈有效
2. 仅支持多线实体
3. 返回的是样式实体名
4. 可用于样式查询和后续操作
5. 不会改变多线当前样式
------------------------------------------------------------
21
函数名称: xdrx-mline-vertexat
描述:
获取多线(MLINE)实体指定索引处的顶点坐标
调用格式:
(xdrx-mline-vertexat <多线实体> <顶点索引>)
或
(xdrx-mline-vertexat <顶点索引>)
参数说明:
* <多线实体>: 目标多线实体(可选)
* <顶点索引>: 顶点位置索引(从0开始)(必须)
返回值:
- 点坐标: 指定索引处的顶点坐标
- nil: 获取失败
示例用法1:
(xdrx-mline-vertexat (car (entsel)) 0)
; 获取选中多线的第一个顶点坐标
示例用法2:
(xdrx-mline-vertexat 2)
; 获取当前操作栈中多线的第三个顶点坐标
实现特点:
1. 支持两种调用方式
2. 自动处理操作栈实体
3. 精确获取顶点位置
4. 完善的错误处理
5. 支持负索引(从末尾计数)
注意事项:
1. 索引从0开始计数
2. 无实体参数时需确保操作栈有效
3. 仅支持多线实体
4. 索引越界将返回nil
5. 可用于多线几何分析
------------------------------------------------------------
页:
[1]