找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2308|回复: 20

(完成)[编程申请]:等距measure、等距divide,请xd编程.

[复制链接]
发表于 2002-10-31 22:15:14 | 显示全部楼层 |阅读模式

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

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

×
1  acad的measure divide是等path,且起终点只是端点.
2 可布井(栽电杆)是等distance,且起终点不一定是端点,而是pick point
3 distance是两点间(同acad的measure divide)
4 请xd编程等距measure、等距divide
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-10-31 22:19:42 | 显示全部楼层

Re: [编程申请]:等距measure、等距divide,请xd编程.

最初由 ydf7332462 发布
[B]1  acad的measure divide是等path,且起终点只是端点.
2 可布井(栽电杆)是等distance,且起终点不一定是端点,而是pick point
3 distance是两点间(同acad的measure divide)
4 请xd编程等距measure、等距divide [/B]


把各种要求,贴图详细说明下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-5 10:45:36 | 显示全部楼层
本人在使用divide、measure命令时,也有同感,补充说明见附件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2002-11-8 15:48:47 | 显示全部楼层
我写的DistanceCopy和ArrangeCopy估计是你想要的...

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

 楼主| 发表于 2002-11-9 20:50:31 | 显示全部楼层
1 Block可以
2 lkpt中,象不是.
   是沿线上 两点间距离distance,不是acad的等path
   且起终点不一定是端点,而是pick point,default 起点是端点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2002-11-12 22:02:20 | 显示全部楼层
1 msdg说的问题是acad中的等curve,但起终点不是curve的end.与城市road、hiway、railroad河港中心线的桩号有相近之处,
我的做法也是苯办法同msdg,如果XD能给我们做好,就太感激了!
2 不过这里说的是等chord,我的做法是circle-找交点-再circle...Pline,布方块(well),太麻烦
修改更不必说
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-13 02:10:37 | 显示全部楼层


eachy, 你的程序 等分 <1>, 好像有问题。
3个建议:
1。等距离输入距离时,最好用 getdist 而不是 getreal
2。完成后自动消除参考点的显示,但是显示消除得不完全(cadr2002)。查一下是什么原因。
3。我认为在选p1,p2点处也应该打点。

另外,ydf 你的要求eachy的程序基本能满足,你试一试。
ea有空做过flashcam教学上来吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-11-13 12:19:58 | 显示全部楼层
最初由 梦断江南 发布
[B]

eachy, 你的程序 等分 <1>, 好像有问题。
3个建议:
1。等距离输入距离时,... [/B]

改好了。

  1. [FONT=courier new]
  2. ;|
  3. 命令:XDTB_Curve_2pDiv

  4. 功能:在曲线指定两点间Measure或Divide,可以用Point或Block

  5. 说明:1 用Point等分或等距时要先设置点样式,

  6.       2 插入块的名称不可为 1 或 2

  7.       3 拷贝至工具箱Lisp下运行
  8.       
  9.       技术支持请访问“XDsoft CAD开发论坛” [url]http://www.xdcad.net/forum[/url]

  10.       at 2002.11.13 By Eachy  Email: [email]eachy@21cn.com[/email]

  11. |;
  12. ($xdrx_load "xdlsp.lsp")
  13. (DEFUN c:XDTB_Curve_2pDiv (/              $2pt_getpointatdist e
  14.                             p1              p2        $_dist          tf
  15.                             $ang      $ea_scl        p          $prompt
  16.                             _blk      tf1        box
  17.                            )
  18.   (defun $2pt_getpointatdist (e p0 p00 dist / ptl p3)
  19.     (setq p3 (xdrx_getpointatdist e p0 dist))
  20.     (while (> (xdrx_curve_getdistatpoint e p00)
  21.               (xdrx_curve_getdistatpoint e p3)
  22.            )
  23.       (if ptl
  24.         (setq ptl (append (list p3) ptl))
  25.         (setq ptl (list p3 p0))
  26.       )
  27.       (setq p3 (xdrx_getpointatdist e p3 dist))
  28.     )
  29.     (append (list p00) ptl)
  30.   )
  31.   (defun $prompt (str / kword $div $_dist)
  32.     (if        (= (setq kword
  33.                   (getstring (if str
  34.                                "\n[1 等分/2 等距/3 输入块名]<1>: "
  35.                                "\n[1 等分/2 等距/<1>: "
  36.                              )
  37.                   )
  38.            )
  39.            ""
  40.         )
  41.       (setq kword "1")
  42.     )
  43.     (cond
  44.       ((or (= kword "1") (= kword "2"))
  45.        (progn
  46.          (if (= kword "1")
  47.            (progn
  48.              (setq $div (getint "\n均分份数: "))
  49.              (setq $_dist (/ $dist $div)
  50.              )
  51.            )
  52.            (setq $_dist (getdist p1 "\n间隔距离: "))
  53.          )
  54.        )
  55.       )
  56.     )
  57.     (list kword $_dist)
  58.   )
  59.   (xdrx_begin)
  60.   (xdrx_sysvar_push "osmode")
  61.   (if (setq
  62.         e (car
  63.             (xdrx_entsel
  64.               "\n选择曲线(*Line,Arc,Ellipse): "
  65.               '((0 . "*line,arc,ellipse"))
  66.             )
  67.           )
  68.       )
  69.     (progn
  70.       (xdrx_ucson)
  71.       (redraw e 3)
  72.       (setq box (xdrx_entity_box e))
  73.       (if (setq tf1 (apply 'xdrx_isptoffscr box))
  74.         (progn
  75.           (xdrx_drawing_viewsave)
  76.           (xdrx_drawing_zoomw (car box) (nth 2 box))
  77.         )
  78.       )
  79.       (setq p1 (getpoint "\n第一点: "))
  80.       (if (not (xdrx_ison p1 e))
  81.         (setq p1 (cadr (xdrx_curve_ClosestPoint e p1)))
  82.       )
  83.       ($xdlsp_grdraw p1)
  84.       (setq p2 (getpoint "\n第二点: "))
  85.       (if (not (xdrx_ison p2 e))
  86.         (setq p2 (cadr (xdrx_curve_ClosestPoint e p2)))
  87.       )
  88.       ($xdlsp_grdraw p2)
  89.       (if (not (equal p1 p2))
  90.         (progn
  91.           (if (> (xdrx_curve_getdistatpoint e p1)
  92.                  (xdrx_curve_getdistatpoint e p2)
  93.               )
  94.             (xdrx_curve_reverse e)
  95.           )
  96.           (princ
  97.             (strcat
  98.               "\n两点间距离 = "
  99.               (rtos (setq $dist (xdrx_curve_getDistAtPoint e p1 p2))
  100.                     2
  101.                     3
  102.               )
  103.             )
  104.           )
  105.           (setq tf t)
  106.           (while tf
  107.             (setq $_dist ($prompt t))
  108.             (cond
  109.               ((or (= (car $_dist) "1") (= (car $_dist) "2"))
  110.                (foreach        p ($2pt_getpointatdist e p1 p2 (last $_dist))
  111.                  (command ".point" p)
  112.                )
  113.                (command)
  114.                (setq tf nil)
  115.               )
  116.               (T
  117.                (if (tblobjname "block" (setq _blk (car $_dist)))
  118.                  (progn
  119.                    (if (not (setq $ea_scl (getreal "\n图块比例<1>: ")))
  120.                      (setq $ea_scl 1)
  121.                    )
  122.                    (setq $_dist (last ($prompt nil)))
  123.                    (foreach p ($2pt_getpointatdist e p1 p2 $_dist)
  124.                      (setq $ang (car (xdrx_getperpline e p)))
  125.                      (command ".insert" _blk p $ea_scl $ea_scl $ang)
  126.                    )
  127.                    (setq tf nil)
  128.                  )
  129.                  (progn
  130.                    (princ (strcat "\n未找到图块 " _blk " 。"))
  131.                    (setq tf nil)
  132.                  )
  133.                )
  134.               )
  135.             )
  136.           )
  137.         )
  138.       )
  139.       (redraw e 4)
  140.       ($xdlsp_grdraw p1)
  141.       ($xdlsp_grdraw p2)
  142.       (if tf1
  143.         (xdrx_drawing_viewres)
  144.       )
  145.       (xdrx_ucsoff)
  146.     )
  147.   )
  148.   (xdrx_sysvar_pop)
  149.   (xdrx_end)
  150.   (princ)
  151. )
  152. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-17 20:41:51 | 显示全部楼层
1 plant tree可以,解决了msdgd的贴子,但绘筘筋、有方向的块(方井)等,还要measure中block的后两选项,沿实体(Yes/No)
2 以上并未解决我的最初贴子,我的难题是curve上两点间直线距离相等--即等距measure、div
3 我下载的上三个是curve上是两点间curve长--即等长measure、div
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-17 23:43:49 | 显示全部楼层
最初由 ydf7332462 发布
[B]1 plant tree可以,解决了msdgd的贴子,但绘筘筋、有方向的块(方井)等,还要measure中block的后两选项,沿实体(Yes/No)
2 以上并未解决我的最初贴子,我的难题是curve上两点间直线距离相等--即等距measure、div
3... [/B]


文字不如图来的详细,你截个图吧,图上用文字符号标出各种可能的情况。看看,我们给你写。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 06:39 , Processed in 0.428441 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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