找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2181|回复: 9

(完成)[编程申请]:还得麻烦晓东,再帮忙写个测量曲线长度的,详情见内。

[复制链接]
发表于 2002-5-5 15:40:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
是这样的以前测量曲线时用list,测得的是整段的长,可测曲线上任意两点的曲线距离就无能为力了,每次都要break后再list,曲线包括Spline、可能拟合过的Pline,Ellipse,要是再有累加功能就更好了
,象area一样。

再次谢谢。:1 :1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-5-6 03:10:57 | 显示全部楼层

有共鸣

我也有同感我通常也是用MO或者LIST每次用到总是感觉没有MAX上的好用,小东又要费神了~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-5-6 08:00:45 | 显示全部楼层
说明:#curve_dist_sum是全局变量,如果只是在程序运行时需要累加,可以去掉#curve_dist_sum。
以后请到【编程申请】论坛发帖子。
  1. ;|
  2.    命令:curve_dist
  3.    功能:求曲线(包括Polyline,LWPolyline,Spline,Line,Ellpise,Arc,Circle)上任意两点的距离
  4.    说明:1、程序保留小数点后2位,如果需要改变请改变下面程序里面的(rtos cur_dist 2 2)
  5.           把最后一个2改程序需要的位数即可
  6.          
  7.         2、程序配合XDRX_API使用,对程序有建议请到:
  8.          晓东CAD空间-论坛 [url]http://www.xdcad.net/forum[/url]
  9.          留言
  10. |;
  11. (defun c:curve_dist (/ tf cur_dist e p1 p2)
  12.   (setq tf t)
  13.   (if (= NULL #curve_dist_sum)
  14.     (setq #curve_dist_sum 0)
  15.   )
  16.   (setq cur_dist 0)
  17.   (while (and
  18.            tf
  19.            (progn
  20.              (prompt (strcat "\n历史记录: "
  21.                              (rtos #curve_dist_sum
  22.                                    2
  23.                                    2
  24.                              )
  25.                      )
  26.              )
  27.              (initget "Clear")
  28.              (setq e (xdrx_entsel
  29.                        "\n请点取一个曲线实体[Clear-清历史记录]<退出>"
  30.                        '((0 . "*line,arc,circle,ellipse"))
  31.                      )
  32.              )
  33.              (cond
  34.                ((= 'STR (type e))
  35.                 (setq #curve_dist_sum 0)
  36.                )
  37.                ((= 'LIST (type e))
  38.                 (setq tf nil)
  39.                )
  40.                (t
  41.                 (exit)
  42.                )
  43.              )
  44.              t
  45.            )
  46.          )
  47.   )
  48.   (setq e (car e))
  49.   (if (and
  50.         (setq p1 (getpoint "\n曲线间第一点<结束取总长>:"))
  51.         (setq p2 (getpoint "\n曲线间第二点<结束取总长>:"))
  52.       )
  53.     (progn
  54.       (setq p1 (cadr (xdrx_curve_ClosestPoint e p1))
  55.             p2 (cadr (xdrx_curve_ClosestPoint e p2))
  56.       )
  57.       (setq #curve_dist_sum
  58.              (+        #curve_dist_sum
  59.                 (setq cur_dist
  60.                        (abs (xdrx_curve_getdistatpoint e p1 p2))
  61.                 )
  62.              )
  63.       )
  64.     )
  65.     (setq #curve_dist_sum
  66.            (+ #curve_dist_sum
  67.               (setq cur_dist (abs (cadr
  68.                                     (xdrx_getarea e)
  69.                                   )
  70.                              )
  71.               )
  72.            )
  73.     )
  74.   )
  75.   (prompt (strcat "\n当前测量长度值: "
  76.                   (rtos cur_dist 2 2)
  77.                   " 历史记录总和: "
  78.                   (rtos #curve_dist_sum 2 2)
  79.           )
  80.   )
  81.   (princ)
  82. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-5-12 08:15:46 | 显示全部楼层
谢谢。以前我也经常求曲线长度,但是没有好办法,只好把曲线分成很小的直线来求,现在可以了。谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

发表于 2002-5-16 20:31:28 | 显示全部楼层
加载放到小东工具箱里,再次加载后!运行时出现涵数错误!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2002-5-20 02:43:45 | 显示全部楼层
斑竹已经改正bug,现在可以用了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-7-9 14:52:02 | 显示全部楼层
还是不能用啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-9 17:54:04 | 显示全部楼层
最初由 srsh2000 发布
[B]还是不能用啊! [/B]


去看看下面的帖子:

http://www.xdcad.net/forum/showthread.php?postid=43790#post43790
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 20:45 , Processed in 0.211503 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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