请问如果获取一个矩形的中心点呢
想用ssget选取矩形,然后获得矩形的中心点坐标,以供后续的lisp的编写,请问如果实现矩形中心点坐标的获取呢,没这个群码吧 Andyhon 发表于 2013-10-14 14:58 static/image/common/back.gif没这个群码吧
是没这个群码
但两对角的中间点即是
2对角怎么获得? 哪个群码呢请问 没这个群码吧
是没这个群码
但两对角的中间点即是 本帖最后由 819534890 于 2013-10-14 15:39 编辑
(defun get_pline_dp (e );获取矩形顶点
(mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget e)))
)
(defun midpoint (p1 p2) (mapcar '(lambda (x y) (/ (+ x y) 2)) p1 p2)) ;两点之间的中点
(defun c:jxzxd()
(princ "请选择矩形:")
(setq ddlb (get_pline_dp (car (entsel))))
(princ "\n矩形的中心点为:\n")
(MidPoint (car ddlb) (caddr ddlb))
) 819534890 发表于 2013-10-14 15:33 static/image/common/back.gif
(defun get_pline_dp (e );获取矩形顶点
(mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) ( ...
谢谢你 可以直接找形心 找形心就可以了 寒林清远 发表于 2013-10-15 13:41 static/image/common/back.gif
可以直接找形心
谢谢你 怎么个找法呢 用什么函数呢?具体如何实现? ctclsc 发表于 2013-10-15 14:23 static/image/common/back.gif
找形心就可以了
谢谢你 怎么个找法呢 用什么函数呢?具体如何实现? peraperson 发表于 2013-10-17 13:26 static/image/common/back.gif
谢谢你 怎么个找法呢 用什么函数呢?具体如何实现?
先将矩形转换为面域(命令region),然后求面域的形心:
(vla-get-Centroid (vlax-ename->vla-object 对象图名)),返回形心
然后将获得的形心转为点:(vlax-safearray->list (vlax-variant-value 形心))
页:
[1]
2