找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1830|回复: 9

[分享]:修改后的铁路绘制。

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-9-20 01:34:18 | 显示全部楼层 |阅读模式

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

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

×
更新:
1  不再使用线型
2  可以窗选曲线(Line、Arc、未拟合的Pline)

  1. ($xdrx_load "xdlsp.lsp")
  2. (defun c:xdtb_tlx (/ ss e tf1 sp plst lp0 lp1 ang e1 e2 ep len num num1 p1 p2)
  3.   (if (not $XDTB_GLOBAL_SCALE)
  4.     (setq $XDTB_GLOBAL_SCALE 100.0)
  5.   )
  6.   (xdrx_begin "铁路")
  7.   (xdrx_SysVar_Push "cmdecho" "osmode" "offsetdist")
  8.   (setvar "osmode" 0)
  9.   (setq ss (ssget '((0 . "LINE,ARC,*POLYLINE"))))
  10.   (if ss
  11.     (progn
  12.       (xdrx_setsstodb ss 0)
  13.       (if (setq tf1 (apply 'xdrx_isptoffscr (xdrx_entity_box ss)))
  14.         (progn
  15.           (xdrx_drawing_viewsave)
  16.           (xdrx_drawing_zoomw
  17.             (car (xdrx_entity_box ss))
  18.             (nth 3 (xdrx_entity_box ss))
  19.           )
  20.         )
  21.       )
  22.       (while (setq e (xdrx_getentdata 0))
  23.         (if (> (setq len (last (xdrx_getarea e)))
  24.                (* $XDTB_GLOBAL_SCALE 20.0)
  25.             )
  26.           (progn
  27.             (xdrx_modent 8 "TLX")
  28.             (setq sp   (car (xdrx_curve_getpoint e))
  29.                   ep   (last (xdrx_curve_getpoint e))
  30.                   num  (fix (/ len (* $XDTB_GLOBAL_SCALE 20.0)))
  31.                   num1 (/ (rem len (* $XDTB_GLOBAL_SCALE 20.0)) 2)
  32.                   ang  (last
  33.                          (xdrx_getperpline
  34.                            e
  35.                            (list (car sp) (cadr sp) '0)
  36.                          )
  37.                        )
  38.                   lp0  (polar sp ang 1)
  39.                   lp1  (polar sp (+ ang pi) 1)
  40.             )
  41.             (cond
  42.               ((= num1 0)
  43.                (setq p1        (xdrx_getpointatdist
  44.                           e
  45.                           ep
  46.                           (- (*        $XDTB_GLOBAL_SCALE
  47.                                 (if (= (rem num 2) 0)
  48.                                   10.0
  49.                                   20.0
  50.                                 )
  51.                              )
  52.                           )
  53.                         )
  54.                      p2        (xdrx_getpointatdist
  55.                           e
  56.                           p1
  57.                           (- (* $XDTB_GLOBAL_SCALE 20.0))
  58.                         )
  59.                )
  60.               )
  61.               ((/= num1 0)
  62.                (setq p1        (xdrx_getpointatdist
  63.                           e
  64.                           ep
  65.                           (- num1)
  66.                         )
  67.                      p2
  68.                         (xdrx_getpointatdist
  69.                           e
  70.                           p1
  71.                           (- (* $XDTB_GLOBAL_SCALE 20.0))
  72.                         )
  73.                )
  74.               )
  75.               (T)
  76.             )
  77.             (mapcar 'setvar
  78.                     '("offsetdist" "osmode")
  79.                     (list (* $XDTB_GLOBAL_SCALE 0.500) 0)
  80.             )
  81.             (c:xdrx_setmark)
  82.             (command ".offset" "" (cons e (list sp)) lp0 "")
  83.             (setq e1 (entlast))
  84.             (redraw e1 2)
  85.             (command ".offset" "" (cons e (list sp)) lp1 "")
  86.             (setq e2 (entlast))
  87.             (redraw e2 2)
  88.             (while (and (xdrx_ison p1 e) p2)
  89.               (command ".break"
  90.                        (cons e (list sp))
  91.                        "f"
  92.                        p1
  93.                        (if (xdrx_ison p2 e)
  94.                          p2
  95.                          sp
  96.                        )
  97.               )
  98.               (if (wcmatch (xdrx_getentdxf 0) "*POLYLINE")
  99.                 (command ".pedit" (entlast) "w" $XDTB_GLOBAL_SCALE "")
  100.                 (command ".pedit"
  101.                          (entlast)
  102.                          "y"
  103.                          "w"
  104.                          $XDTB_GLOBAL_SCALE
  105.                          ""
  106.                 )
  107.               )
  108.               (setq p1 (xdrx_getpointatdist
  109.                          e
  110.                          p2
  111.                          (- (* $XDTB_GLOBAL_SCALE 20.0))
  112.                        )
  113.                     p2
  114.                        (xdrx_getpointatdist
  115.                          e
  116.                          p1
  117.                          (- (* $XDTB_GLOBAL_SCALE 20.0))
  118.                        )
  119.               )
  120.             )
  121.             (redraw e1 1)
  122.             (redraw e2 1)
  123.             (xdrx_setenttodb e)
  124.             (if        (wcmatch (xdrx_getentdxf 0) "*POLYLINE")
  125.               (command ".pedit"
  126.                        (cons e (list sp))
  127.                        "w"
  128.                        $XDTB_GLOBAL_SCALE
  129.                        ""
  130.               )
  131.               (command ".pedit"
  132.                        (cons e (list sp))
  133.                        "y"
  134.                        "w"
  135.                        $XDTB_GLOBAL_SCALE
  136.                        ""
  137.               )
  138.             )
  139.             (xdrx_block_make (ssadd e (c:xdrx_getss)) sp T)
  140.             (xdrx_setenttodb (entlast))
  141.             (xdrx_modent 8 "TLX")
  142.           )
  143.         )
  144.       )
  145.     )
  146.   )
  147.   (if tf1
  148.     (xdrx_drawing_viewres)
  149.   )
  150.   (xdrx_end)
  151.   (xdrx_SysVar_Pop)
  152.   (princ)
  153. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-9-20 14:42:15 | 显示全部楼层

怎么用?如何替换原程序

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2002-9-20 19:38:36 | 显示全部楼层

Re: 怎么用?如何替换原程序

最初由 mrbean13 发布
[B]怎么用?如何替换原程序 [/B]

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-23 21:55:11 | 显示全部楼层
最初由 LIJUN4858 发布
[B]我的晓东工具不好用
教我好吗 [/B]


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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-27 17:02:19 | 显示全部楼层
最初由 LIJUN4858 发布
[B]我的2002在装晓东工具箱时要不要加载函数表 [/B]


没有听明白你的意思,如果你就使用“晓东工具箱”的话,安装后就可以正常使用了(在R14,2002)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 18:47 , Processed in 0.231503 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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