XDSoft 发表于 2025-5-23 20:47:35

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]
查看完整版本: XDrxAPI 21 个 MLine 函数帮助手册