明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2651|回复: 2

[2014] 如何求任意平面多边形的中心点

  [复制链接]
发表于 2014-3-21 09:28:00 | 显示全部楼层 |阅读模式
各位高手,如何用CAD命令求任意平面多边形的中心点
发表于 2021-12-28 06:49:10 | 显示全部楼层
通过搜索搞定。
思路是把多边形转换成面域 region, 再通过获取面域的参数得到中心点。

(defun C:xingxin()
(setq en (car(entsel "\n选取闭合曲线:")))
;(setvar "DELOBJ" 1)
(if ( /= (get-dxf 0 en) "REGION")
(progn
(command "region" en "")
(setq en (entlast))
));if

(setq   
ENT (vlax-ename->vla-object en)
CEN (vlax-get ENT "centroid")
AREA (vlax-get ENT "AREA"))
(princ (strcat "\narea: " (rtos area 2 3)))
(princ (strcat "\ncentroid: " (vl-princ-to-string cen )))
(command "point" CEN )
(princ)
  )

(defun get-DXF (code ename )
(cond ((= (type ename) 'ENAME)
      (if        (= code -3)
      (cdr (assoc code (entget ename '("*"))))
      (cdr (assoc code (entget ename)))
    ))
  );COND
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-23 14:38 , Processed in 0.192965 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表