lisp吧 关注:2,683贴子:12,834
  • 4回复贴,共1

水平放置的矩形,要求获得四个点坐标,从左下角到右上角,分别赋

只看楼主收藏回复

水平放置的矩形,要求获得四个点坐标,从左下角到右上角,分别赋值给s1 s2 s3 s4


来自Android客户端1楼2020-10-23 07:20回复
    先获取点坐标,然后进行排序,赋值。


    来自Android客户端2楼2020-10-23 07:21
    回复
      (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)
      )


      IP属地:云南3楼2020-10-28 08:38
      收起回复