找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1907|回复: 11

[API建议] 一封闭平面多义线的质心

[复制链接]

已领礼包: 182个

财富等级: 日进斗金

发表于 2013-8-27 13:24:10 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-8-27 13:50:05 | 显示全部楼层
3s 有难度
  1. (defun xd::getutime ()
  2.   (* 86400 (getvar "tdusrtimer"))
  3. )
  4. ;;
  5. (defun c:tt (/ ss pl)
  6.   (if (setq ss (ssget))
  7.     (progn
  8.       (xdrx_setsstodb ss 0)
  9.       (setq t0 (xd::getutime))
  10.       (while (setq e (xdrx_getentdata 0))
  11. (setq pl (cons (cdr (assoc "Centroid" (xdrx_curve_info e))) pl))
  12.       )
  13.       (princ "\n")
  14.       (princ (- (xd::getutime) t0))
  15.     )
  16.   )
  17.   (princ)
  18. )

命令: tt
选择对象: 指定对角点: 找到 10000 个
选择对象:
18.066
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-27 14:04:54 | 显示全部楼层

这个没什么意义啊,以谁的机器速度定标准啊。另外,求型心这个一般都跟随求后其他操作,只算10000个,没啥实际意义 , 型心没啥特殊算法,只要是ARX写的,速度就一定很快了。

楼主,你可以先测试下晓东通用LISP函数库的,LISP函数 XD::Pnts:Centroid 函数,看看这个函数在你机器上10000次要多少时间?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-27 16:01:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-27 16:06:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-8-27 16:10:32 来自手机 | 显示全部楼层
你试试 xdrx_curve_info 有质心的,转面域快不了,试试cad命令就知道了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-27 16:26:16 | 显示全部楼层
本帖最后由 newer 于 2013-8-27 16:27 编辑
kcad2010 发表于 2013-8-27 16:06
你看看我写的那个,速度有点慢。还有就是为什么那个面不能删除呢?
就是想让老大写个ARX的

xdrx_api有现成的,xdrx_curve_info , 通用LISP函数库也有函数 XD::Pnts:Centroid
你分别试试这两个函数的速度,给贴出来,给老大做个参考。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-27 18:50:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-8-27 18:59:52 | 显示全部楼层
kcad2010 发表于 2013-8-27 18:50
(defun c:tt1()
(setq t0 (xd::getutime))
(setq namedistlist1(ss-Centroid-sort (ssget) (getpoint "\n ...

xdrx_curve_info 是个通用的曲线信息函数,提取的数据多,另外取型心是用了REGION,所以速度上比 LISP LIB 的XD::Pnts::Centroid的数学方法慢是正常的,没想到LISP LIB能那么快,等下个版本API提供一个数学版本的算型心的,到时你在测试下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-8-27 19:14:38 来自手机 | 显示全部楼层
有的数学方法算的质心和region质心有偏差,不解来自: Android客户端
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-8-27 21:37:25 | 显示全部楼层
kcad2010 发表于 2013-8-27 18:50
用43000个图
用XDAPI要用时18.5秒  用xdlisplib只要6.3秒  我电脑I5 8G内存

API 数学方法算型心已经写好,等下个版本更新你再测试对比下三种情况。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2015-10-30 20:07:53 | 显示全部楼层
(defun c:ccc ( / )找形心
  (COMMAND "LAYER" "M" "pc_t" "C" "4" "pc_t" "LT" "continuous" "pc_t" "")
  (setq ss (ssget))
  (command "_.region" ss "")
  (setq ss (entlast))
  (setq p (vlax-get (vlax-ename->vla-object ss) "centroid"));求质心
  (command "_.point" P "")
  (command "_circle" P 5 "")
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-6-21 00:29 , Processed in 0.482756 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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