湜1只鱼 发表于 2014-4-20 17:06:57

如何获取矩形的四个顶点坐标

如何获取矩形的四个顶点坐标

kwok 发表于 2014-4-20 19:41:33

;;获取矩形顶点;(setq plst (get_vertexs (car en))
(defun get_vertexs (en)
(mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en)))
)

llsheng_73 发表于 2014-4-21 13:30:31

kwok 发表于 2014-4-20 19:41 static/image/common/back.gif
;;获取矩形顶点;(setq plst (get_vertexs (car en))
(defun get_vertexs (en)
(mapcar 'cdr (vl-remove-i ...

想了下,确实没必要,楼上这个应该是简洁和效率完美结合的,学习了

xyp1964 发表于 2014-4-21 13:46:33

本帖最后由 xyp1964 于 2014-4-21 13:55 编辑

如果是polyline实体就有问题了
还丢了Z轴数据

caiqs 发表于 2014-4-21 19:21:49

;;取得多段线节点坐标,返回坐标以多段线的ocs表示
;;测试(if (setq lwp(car(entsel))) (vertexs lwp))
;;此函数无参数检验
(defun vertexs (entity / entdat zpos xyclst)
;;此位置可加入参数检验
(setq entdat (entget entity)) ;_图元数据表
(setq zpos (cdr (assoc 38 entdat))) ;_ocs的Z坐标
(setq        xyclst (vl-remove-if-not
               '(lambda (itm)
                  (= (car itm) 10)
                  )
               entdat
             )
)
(mapcar '(lambda (xy)
             (list (cadr xy) (caddr xy) zpos)
           )
          xyclst
)
)
页: [1]
查看完整版本: 如何获取矩形的四个顶点坐标