YueFeng 发表于 2024-10-11 19:43:45

求取包围盒长边尺寸

主要是apply这样应用,以前没做过。给大家做个抛个砖。
;函数名称:YF_GetBoundingLongSideSize
;函数功能:取得包围盒点位列表的长边尺寸
;调用格式:(YF_GetBoundingLongSideSize '(<左下角点> <右上角点>))
;参数说明:
;返 回 值:长边尺寸
;示    例: (YF_GetBoundingLongSideSize '((9085.88 287606.0 0.0) (30085.9 317306.0 0.0)))
;示例返回:
;创建日期:2024年10月11日

(defun YF_GetBoundingLongSideSize (plst)
(apply 'max
    (apply
      '(lambda (x y) (mapcar '(lambda (a b) (abs (- a b))) x y))
      plst
    )
)
)

hubeiwdlue 发表于 2024-10-12 13:00:00

学习了,谢谢大佬分享知识。

tigcat 发表于 2024-10-12 16:44:34

谢谢分享。

muai2010 发表于 2024-10-13 12:50:35

不错,支持下

marcoyuwen 发表于 2024-10-15 16:40:10

(apply 'max (mapcar 'abs (apply 'mapcar (cons '- plst))))
不用lambda实现相同的功能。
页: [1]
查看完整版本: 求取包围盒长边尺寸