明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7228|回复: 15

单一求面域形心,,并做标志

    [复制链接]
发表于 2009-3-26 11:07 | 显示全部楼层 |阅读模式

第一次发这样的贴,还望支持。

由于是第一次做,所对步骤比较烦琐,但是方式监视参数。呵呵。

(defun C:qxx()
  (setq en (entsel))
  (setq tma (car en))
  (setq tmb (vlax-ename->vla-object tma))
  (setq tmc (vla-get-centroid tmb))
  (setq tmd (vlax-variant-value tmc))
  (setq tme (vlax-safearray->list tmd))
  (command "point" tme)
  (princ "\n形心坐标为:")(princ tme))

发表于 2019-1-15 23:09 | 显示全部楼层
假如需要批量,在前面写个循环,对于每一个多段线,进行后续操作,应该可以吗?
发表于 2009-6-5 10:40 | 显示全部楼层
真好用,謝謝!
发表于 2010-10-21 22:17 | 显示全部楼层
出错,用不成
发表于 2011-6-14 13:09 | 显示全部楼层
真不错,好用,谢谢   不会lisp跟少了根腿似的
发表于 2011-7-2 05:42 | 显示全部楼层
出错,“选择对象: Error: ActiveX 服务器返回错误: 未知名称: Centroid”
发表于 2011-7-6 09:18 | 显示全部楼层
改为如下:
  1. (defun C:qxx()
  2.   (vl-load-com)
  3.   (while (setq en (entsel))
  4.      (setq tma (car en))
  5.      (setq tmb (vlax-ename->vla-object tma))
  6.      (if (vlax-property-available-p tmb 'centroid)
  7.          (progn
  8.              (setq tmc (vla-get-centroid tmb))
  9.              (setq tmd (vlax-variant-value tmc))
  10.              (setq tme (vlax-safearray->list tmd))
  11.              (command "point" tme)
  12.              (princ "\n形心坐标为:")(princ tme)
  13.          )
  14.          (princ "\n所选图元没有形心属性!")
  15.      )
  16.    )
  17.    (princ)
  18. )
发表于 2011-9-4 12:58 | 显示全部楼层
修改后,非常好用!能否把质心标志用十字交叉线标在图形上,谢谢
发表于 2011-9-5 17:38 | 显示全部楼层
十字交叉线?变一下点样式就行了!
在(vl-load-com)这一行后面加一句(setvar "pdmode" 3)就行了!
发表于 2011-9-5 20:50 | 显示全部楼层
惭愧,谢谢!
发表于 2012-6-10 22:11 | 显示全部楼层
能求多个多边形,共同的形心吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 23:33 , Processed in 0.183372 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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