找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1224|回复: 6

[转贴]:连续测量距离。

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-5-20 02:19:39 | 显示全部楼层 |阅读模式

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

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

×

  1. ;;;---------------------------------------------------------------------------;
  2. ;;;
  3. ;;; accdist.lsp
  4. ;;;
  5. ;;; By Jimmy Bergmark
  6. ;;; Copyright (C) 1997-2003 JTB World, All Rights Reserved
  7. ;;; Website: [url]www.jtbworld.com[/url] / [url]http://jtbworld.vze.com[/url]
  8. ;;; E-mail: [email]info@jtbworld.com[/email] / [email]jtbworld@hotmail.com[/email]
  9. ;;;
  10. ;;; 1999-06-12 - First release
  11. ;;; 2000-05-11 - Fixed for AutoCAD 2000
  12. ;;; should be working on older versions too.
  13. ;;;
  14. ;;;---------------------------------------------------------------------------;
  15. ;;;  Methods to accumulate distances
  16. ;;;  c:accdist - combined
  17. ;;;  c:accdist1 - accumulate distances from first point to next point
  18. ;;;  c:accdist2 - accumulate distances from first point to second point
  19. ;;;---------------------------------------------------------------------------;

  20. (defun c:accdist (/ errexit undox restore *error* p1 p2 sum)
  21.   (defun errexit (s)
  22.     (princ)
  23.     (restore)
  24.   )

  25.   (defun undox ()
  26.     (redraw)
  27.     (setq *error* olderr)
  28.     (princ)
  29.   )

  30.   (setq olderr  *error*
  31.         restore undox
  32.         *error* errexit
  33.   )
  34.   (setq p1  (getpoint "\nSpecify first point: ")
  35.         p2  "First"
  36.         sum 0
  37.   )
  38.   (while (and p1 p2)
  39.     (if (= p2 "First")
  40.       (progn
  41.         (initget 32)
  42.         (setq p2 (getpoint "\nSpecify next point: " p1))
  43.       )
  44.       (progn
  45.         (initget 32 "First")
  46.         (setq p2 (getpoint "\nSpecify next point or [First]: " p1))
  47.       )
  48.     )
  49.     (cond
  50.       ((not p2))
  51.       ((= p2 "First")
  52.        (setq p1 (getpoint "\nSpecify first point: "))
  53.       )
  54.       (t
  55.        (grdraw p1 p2 -1 1)
  56.        (setq sum (+ sum (distance p1 p2))
  57.              p1  p2
  58.        )
  59.       )
  60.     )
  61.   )
  62.   (princ "\nAccumulated distance = ")
  63.   (princ sum)
  64.   (restore)
  65. )

  66. (defun c:accdist1 (/ p1 p2 sum)
  67.   (setq sum 0)
  68.   (setq p1 (getpoint "\nSpecify first point: "))
  69.   (while (and p1
  70.               (not (initget 32))
  71.               (setq p2 (getpoint "\nSpecify next point: " p1))
  72.          )
  73.     (grdraw p1 p2 -1 1)
  74.     (setq sum (+ sum (distance p1 p2)))
  75.     (setq p1 p2)
  76.   )
  77.   (redraw)
  78.   (princ "\nAccumulated distance = ")
  79.   (princ sum)
  80.   (princ)
  81. )

  82. (defun c:accdist2 (/ p1 p2 sum)
  83.   (setq sum 0)
  84.   (while
  85.     (and (setq p1 (getpoint "\nSpecify first point: "))
  86.          (not (initget 32))
  87.          (setq p2 (getpoint "\nSpecify second point: " p1))
  88.     )
  89.      (setq sum (+ sum (distance p1 p2)))
  90.   )
  91.   (princ "\nAccumulated distance = ")
  92.   (princ sum)
  93.   (princ)
  94. )

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-4-3 11:31:35 | 显示全部楼层
3楼不应该这样说版主的,我非常谢谢楼主的热心。
只用DIST命令是不能够取得累加的数据的,平时我是自己画PLINE来得到数据的,现在方便了。谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-18 23:05 , Processed in 0.428345 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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