明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: hrer

如何自动生成不规则多边形的质心

  [复制链接]
发表于 2015-7-28 14:54:22 | 显示全部楼层
好复杂 看得我头晕了
发表于 2016-10-13 16:36:21 | 显示全部楼层
;;; 对大师作品做了一些修改,框选多个闭合图形画质心点 by:langjs;;;
;;; =================
(defun c:XX (/ en ent i obj pt ptls snap ss ss1)
  (setvar "cmdecho" 0) ; 关闭命令行显示
  (if (setq ss (ssget '((0 . "PLINE,LWPOLYLINE,LINE,ARC,CIRCLE,SPLINE,ELLIPSE"))))
    (progn
      (setq snap (getvar "osmode"))
      (setvar "osmode" 0)
      (setq en (entlast))
      (command ".region" ss ""); 对选择集做面域
      (if en
        (progn
          (setq ss (ssadd))
          (while (setq en (entnext en))
            (ssadd en ss)
          )
          (if (zerop (sslength ss))
            (setq ss nil)
          )
        )
        (setq ss (ssget "_x"))
      )
      (setq ss1 (ssadd))
      (repeat (setq i (sslength ss))
        (setq ent (ssname ss (setq i (1- i))))
        (if (= (cdr (assoc 0 (entget ent))) "REGION"); 如果成功生成面域
          (progn
            (vl-load-com)
            (setq obj (vlax-ename->vla-object ent))
            (setq pt (vlax-safearray->list (vlax-variant-value (vla-get-centroid obj)))); 取得质心坐标
            (command ".point" pt); 画质心点
            (setq ptls (entlast))
            (command ".explode" ent); 分解面域

            (setq NS (ssget "p"))
            (command "Peditaccept" "0"   ""); 打开多段线合并询问提示
            (command "pedit" "m" NS "" "y" "j" "" ""); 合并

            (setq ss1 (ssadd ptls ss1))
          )
        )
      )
      (sssetfirst nil ss1); 夹点亮显质心点
      (setvar "osmode" snap)
    )
    (princ "\n没有选择对象.")
  )
(setvar "cmdecho" 1) ; 开启命令行显示
  (princ)
)
发表于 2017-12-27 12:09:41 | 显示全部楼层
正好需要啊非常感谢
发表于 2018-3-16 21:28:34 | 显示全部楼层
如果是两个分开的H型钢(2个独立的封闭H形,但是中间是有空隙的)只能画右侧的质心,不知道如何可以画联合的质心呢,还有算其他的一些参数呢
发表于 2024-2-23 09:35:27 | 显示全部楼层
GILES.LEI 发表于 2016-10-13 16:36
;;; 对大师作品做了一些修改,框选多个闭合图形画质心点 by:langjs;;;
;;; ============== ...

大佬,能不能把生成的点改为十字中心线
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-27 21:41 , Processed in 0.155266 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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