水平放置的矩形,要求获得四个点坐标,从左下角到右上角,分别赋
lisp吧
全部回复
仅看楼主
level 4
dingsilin
楼主
水平放置的矩形,要求获得四个点坐标,从左下角到右上角,分别赋值给s1 s2 s3 s4
2020年10月22日 23点10分
1
level 4
dingsilin
楼主
先获取点坐标,然后进行排序,赋值。
2020年10月22日 23点10分
2
level 1
dnbc1
(defun c:test()
(princ "\n请选取矩形:")
(if (setq ssa (ssget ":S" '((0 . "LWPOLYLINE") (90 . 4))))
(progn
(setq dxf (entget (ssname ssa 0)))
(setq dxf70 (cdr (assoc 70 dxf)))
(setq pts (mapcar 'cdr (vl-remove-if '(lambda(x)(/= (car x) 10)) dxf)))
(if (= (logand 1 dxf70) 1)
(progn
(setq s1 (apply 'mapcar (cons 'min pts)))
(setq s3 (apply 'mapcar (cons 'max pts)))
(setq s2 (list (car s2) (cadr s3)))
(setq s4 (list (car s3) (cadr s2)))
)
)
)
)
(princ)
)
2020年10月28日 00点10分
3
贴吧用户_Qy5R7ZC
你好 请问一下 autolisp中min函数必须为整数或实数为啥在这条语句里(apply 'mapcar (cons 'min pts))min是能执行的
2023年12月21日 07点12分
贴吧用户_Qy5R7ZC
你好 请问一下 autolisp中min函数必须为整数或实数为啥在这条语句里(apply 'mapcar (cons 'min pts))min是能执行的
2023年12月21日 07点12分
1