马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - ;; ------------------------------------------------------------------------
- ;;; 函数名称 / Function Name: XD::GEOM:M-TRANS
- ;;;
- ;;; 【功能说明 / Description】
- ;;; 对点列表 LST 中的每个点应用坐标变换 TRANS,返回变换后的点列表。
- ;;; 变换由参数 A 和 B 指定,调用 AutoCAD 的 TRANS 函数实现。
- ;;;
- ;;; 【参数说明 / Parameters】
- ;;; lst - (list) 点坐标列表,每个元素为点坐标列表 (x y z)
- ;;; a - (int) 变换的源坐标系代码
- ;;; b - (int) 变换的目标坐标系代码
- ;;;
- ;;; 【返回值 / Return Value】
- ;;; (list) 变换后的点坐标列表,顺序与输入相同
- ;;;
- ;;; 【依赖函数 / Dependencies】
- ;;; - length : 获取列表长度
- ;;; - nth : 获取列表中指定位置元素
- ;;; - cons : 构造列表
- ;;; - reverse: 反转列表
- ;;; - trans : AutoCAD 内置坐标变换函数
- ;;;
- ;;; 【备注 / Notes】
- ;;; - 该函数实现了对点集的批量坐标变换,常用于几何处理和坐标系转换。
- ;;; - 返回的列表顺序与输入保持一致。
- ;;;
- (defun XD::GEOM:M-TRANS (lst a b / lst2 c n)
- (setq n 0)
- (setq lst2 nil) ;; 初始化结果列表,避免未定义变量错误
- (repeat (length lst)
- (setq c (nth n lst))
- (setq c (trans c a b))
- (setq lst2 (cons c lst2))
- (setq n (+ n 1))
- )
- (reverse lst2)
- )
|