找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1577|回复: 16

[LISP程序]:我写的总平面坐标标注程序

[复制链接]
发表于 2004-5-28 12:23:12 | 显示全部楼层 |阅读模式

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

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

×
适用人群:1、只用CAD不用其他建筑软件的人
2、总平面上坐标点太多,用天正标注会重叠,为此感到郁闷的人
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-31 18:21:41 | 显示全部楼层
不知楼主的好不好用,本人也自编了一个,自认为挺好用的,我们单位好多在用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2004-6-2 21:01:56 | 显示全部楼层
下来看看!
我感觉网友们众多的坐标标注都是自已在使用过程中根据自己行业的需要而定制的,所以各有各的优缺点。
因我是搞测绘的,所以我的主要是针对测绘这一块的。可能在其他行业并不实用!
为了节约晓东的资源,请从下面帖子中下载试试吧
http://www.xdcad.net/forum/showthread.php?s=&threadid=193061
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-6-20 12:35:26 | 显示全部楼层
最初由 bsycz 发布
[B]怎样安装? [/B]

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

使用道具 举报

发表于 2004-7-1 19:50:57 | 显示全部楼层
推荐一个很强的坐标标注:
http://www.xdcad.net/forum/showt ... 1100030#post1100030
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-9-3 12:12:15 | 显示全部楼层

有用过的评价一下吗?

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

使用道具 举报

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

使用道具 举报

发表于 2004-9-26 22:04:26 | 显示全部楼层

Re: [LISP程序]:我写的总平面坐标标注程序

最初由 leaveblack 发布
[B]适用人群:1、只用CAD不用其他建筑软件的人
2、总平面上坐标点太多,用天正标注会重叠,为此感到郁闷的人 [/B]

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

使用道具 举报

发表于 2005-12-5 21:54:46 | 显示全部楼层
我把字高改到1.5后,字高没变,只是标注线延长了,R14下。
对不起,重新进cad后正常了。
如果楼主能改为标注找空位时有半透明数据跟随鼠标,使用上更为方便。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-3-25 12:37:46 | 显示全部楼层
下面这个适用于绘制基桩坐标表(公路专业)

  1. ;;;功能:测量并绘制坐标(表格方式)
  2. ;;;日期:ZML84 于 2006-08-19
  3. ;;;==================================================
  4. (defun c:zb ()
  5.     ;;命令回显
  6.     (setvar "CMDECHO" 0)
  7.     (command "undo" "be")
  8.     ;;捕捉设置  
  9.     (setq osmode_old (getvar "OSMODE"))

  10.     ;;参数设置
  11.     (if        (= 内框颜色 nil)
  12.         (progn
  13.             (setq 内框颜色 1
  14.                   文字颜色 2
  15.                   外框颜色 3
  16.                   坐标精度 4
  17.             )
  18.             (setq 表格_高度 6
  19.                   表格_宽度1
  20.                      16
  21.                   表格_宽度2
  22.                      10
  23.                   表格_宽度3
  24.                      25
  25.                   表头字高 2.5
  26.                   表中字高 2.0
  27.             )
  28.         )
  29.     )

  30.     ;;绘制表头
  31.     (initget "G g")
  32.     (setq pt0 (getpoint "\n请指定表格绘制位置,或者 [改变参数(G)]:"))

  33.     (if        (or (= pt0 "G") (= pt0 "g"))
  34.         (progn
  35.             (sz)

  36.             (setq pt0 (getpoint "\n请指定表格绘制位置:"))
  37.         )
  38.     )
  39.     (setq pt0_x        (car pt0)
  40.           pt0_y        (cadr pt0)
  41.     )
  42.     (SETQ PT1 (polar PT0 0 表格_宽度1)
  43.           PT3 (polar PT1 0 表格_宽度2)
  44.           PT5 (polar PT3 0 表格_宽度3)
  45.           PT7 (polar PT5 0 表格_宽度3)
  46.           PT2 (polar PT1 (* -0.5 PI) 表格_高度)
  47.           PT4 (polar PT3 (* -0.5 PI) 表格_高度)
  48.           PT6 (polar PT5 (* -0.5 PI) 表格_高度)
  49.           PT8 (polar PT7 (* -0.5 PI) 表格_高度)
  50.           PT9 (polar PT0 (* -0.5 PI) 表格_高度)
  51.     )
  52.     (COMMAND "color" 内框颜色)
  53.     (COMMAND "PLINE" PT0 PT7 PT8 PT9 PT0 "")
  54.     (COMMAND "PLINE" PT1 PT2 PT4 PT3 PT4 PT6 PT5 PT6 PT8 PT7 "")
  55.     (SETQ ZBS1 (entlast))
  56.     (SETQ PT10 (polar PT0 (* -0.5 PI) (/ 表格_高度 2.0))
  57.           PT10 (polar PT10 0 (/ 表格_宽度1 2.0))
  58.     )
  59.     (COMMAND "color" 文字颜色)
  60.     (COMMAND "TEXT" "J" "MC" PT10 表头字高 0.0 "编  号")
  61.     (SETQ PT10 (polar PT10 0 (/ (+ 表格_宽度1 表格_宽度2) 2.0)))
  62.     (COMMAND "TEXT" "J" "MC" PT10 表头字高 0.0 "点号")
  63.     (SETQ pt11 pt10
  64.           PT10 (polar PT10 0 (/ (+ 表格_宽度2 表格_宽度3) 2.0))
  65.     )
  66.     (COMMAND "TEXT" "J" "MC" PT10 表头字高 0.0 "坐 标(N)")
  67.     (SETQ pt12 pt10
  68.           PT10 (polar PT10 0 表格_宽度3)
  69.     )
  70.     (COMMAND "TEXT" "J" "MC" PT10 表头字高 0.0 "坐 标(E)")
  71.     ;;表头绘制完毕
  72.     ;;下面点取待测点
  73.     (SETQ I 1)
  74.     (setvar "OSMODE" osmode_old)
  75.     (WHILE (/= nil
  76.                (SETQ PTI
  77.                         (GETPOINT (strcat "\n请指定要测量位置<第" (itoa i) "次>:")
  78.                         )
  79.                )
  80.            )
  81.         ;;设置捕捉模式
  82.         (setq osmode_old (getvar "OSMODE"))
  83.         (setvar "OSMODE" 0)
  84.         (COMMAND "COPY" ZBS1 "" pt0 pt9)
  85.         (SETQ ZBS1  (entlast)
  86.               pt11  (polar PT11 (* -0.5 PI) 表格_高度)
  87.               pt12  (polar PT12 (* -0.5 PI) 表格_高度)
  88.               pt10  (polar PT10 (* -0.5 PI) 表格_高度)
  89.               pti_x (rtos (car PTI) 2 坐标精度)
  90.               pti_y (rtos (cadr PTI) 2 坐标精度)
  91.         )
  92.         (princ (strcat "N(Y)=" pti_y "  E(X)=" pti_x))

  93.         (COMMAND "TEXT"
  94.                  "J"
  95.                  "MC"
  96.                  PT11
  97.                  表中字高
  98.                  0.0
  99.                  (strcat (itoa i) "#")
  100.         )
  101.         (COMMAND "TEXT" "J" "MC" PT12 表中字高 0.0 pti_y)
  102.         (COMMAND "TEXT" "J" "MC" PT10 表中字高 0.0 pti_x)
  103.         (setq i (+ i 1))
  104.         (setvar "OSMODE" osmode_old)
  105.     )



  106.     ;;如果记录有坐标数据,就绘制外边框
  107.     (if        (> i 1)
  108.         (progn
  109.             ;;设置捕捉模式
  110.             (setq osmode_old (getvar "OSMODE"))
  111.             (setvar "OSMODE" 0)
  112.             ;;绘制外框
  113.             (COMMAND "color" 外框颜色)
  114.             (SETQ PT7 (polar PT7 (* -0.5 PI) (* 表格_高度 I)))
  115.             (COMMAND "rectang" "W" 0.2 PT0 PT7)
  116.             ;;编号信息
  117.             (setq xxx nil
  118.                   xxx (getstring T "\n请输入编号信息: ")
  119.             )
  120.             (if        (= xxx "")
  121.                 (setq xxx "请写编号信息")
  122.             )
  123.             (setq pt9 (polar PT9 (* -0.5 PI) (* 表格_高度 (- I 1) 0.5))
  124.                   pt9 (polar PT9 0 (/ 表格_宽度1 2.0))
  125.             )
  126.             (COMMAND "TEXT" "J" "MC" PT9 表中字高 0.0 xxx)

  127.             (princ (strcat "\n操作已完成,共收集到"
  128.                            (itoa (- i 1))
  129.                            "个坐标点。"
  130.                    )
  131.             )
  132.         )
  133.         (princ "\n操作已完成,没有收集到坐标点!!")
  134.     )

  135.     ;;退出处理
  136.     (command "undo" "e")
  137.     (if        (= i 1)
  138.         (command "undo" 1)
  139.     )
  140.     (setvar "OSMODE" osmode_old)
  141.     (setvar "CMDECHO" 1)
  142.     (princ)
  143. )

  144. ;;;===================================================
  145. (defun c:sz ()
  146.     (sz)
  147.     (princ
  148.         "\n键入命令"SZ"可进行坐标测量绘制时用到的参数设置。"
  149.     )
  150.     (princ)
  151. )
  152. ;;;===================================================
  153. ;;;设置  参数
  154. (defun sz ()
  155.     (princ "\n设置坐标标注中的参数,请输入选项:")
  156.     (princ "\n[第1列宽度(1)")
  157.     (princ "/第2列表格宽度(2)")
  158.     (princ "/第3列表格宽度(3)")
  159.     (princ "/表格高度(4)")
  160.     (princ "/表头字高(5)")
  161.     (princ "/表中字高(6)")
  162.     (princ "/恢复默认值(0)]")
  163.     (setq ii (getint "\n请输入选项:")
  164.     )

  165.     (if        (or (= ii nil) (< ii 0) (> ii 6))
  166.         (princ "\n参数无改变,设置完成!")
  167.         (cond
  168.             ((= ii 0)
  169.              (progn
  170.                  (setq 内框颜色        1
  171.                        文字颜色        2
  172.                        外框颜色        3
  173.                        坐标精度        4
  174.                  )
  175.                  (setq 表格_高度 6
  176.                        表格_宽度1
  177.                           16
  178.                        表格_宽度2
  179.                           10
  180.                        表格_宽度3
  181.                           25
  182.                        表头字高        2.5
  183.                        表中字高        2.0
  184.                  )
  185.                  (princ "\n参数已全部恢复至默认值。")
  186.              )
  187.             )
  188.             ((= ii 1)
  189.              (progn (princ (strcat "\n请输入第1列宽度<当前值"
  190.                                    (rtos 表格_宽度1 2 坐标精度)
  191.                                    ">:"
  192.                            )
  193.                     )
  194.                     (setq 表格_宽度1_x (getdist))
  195.                     (if        (= 表格_宽度1_x nil)
  196.                         (princ "第1列宽度无改变!")
  197.                         (= 表格_宽度1 表格_宽度1_x)
  198.                     )
  199.              )
  200.             )
  201.             ((= ii 2)
  202.              (progn (princ (strcat "\n请输入第2列宽度<当前值"
  203.                                    (rtos 表格_宽度2 2 坐标精度)
  204.                                    ">:"
  205.                            )
  206.                     )
  207.                     (setq 表格_宽度2_x (getdist))
  208.                     (if        (= 表格_宽度2_x nil)
  209.                         (princ "第1列宽度无改变!")
  210.                         (= 表格_宽度2 表格_宽度2_x)
  211.                     )
  212.              )
  213.             )
  214.             ((= ii 3)
  215.              (progn (princ (strcat "\n请输入第3\4列宽度<当前值"
  216.                                    (rtos 表格_宽度3 2 坐标精度)
  217.                                    ">:"
  218.                            )
  219.                     )
  220.                     (setq 表格_宽度3_x (getdist))
  221.                     (if        (= 表格_宽度3_x nil)
  222.                         (princ "第3列宽度无改变!")
  223.                         (= 表格_宽度3 表格_宽度3_x)
  224.                     )
  225.              )
  226.             )
  227.             ((= ii 4)
  228.              (progn (princ (strcat "\n请输入表格高度<当前值"
  229.                                    (rtos 表格_高度 2 坐标精度)
  230.                                    ">:"
  231.                            )
  232.                     )
  233.                     (setq 表格_高度_x (getdist))
  234.                     (if        (= 表格_高度_x nil)
  235.                         (princ "表格高度无改变!")
  236.                         (= 表格_高度 表格_高度_x)
  237.                     )
  238.              )
  239.             )
  240.             ((= ii 5)
  241.              (progn (princ (strcat "\n请输入表头字高<当前值"
  242.                                    (rtos 表头字高 2 坐标精度)
  243.                                    ">:"
  244.                            )
  245.                     )
  246.                     (setq 表头字高_x (getdist))
  247.                     (if        (= 表头字高_x nil)
  248.                         (princ "表头字高无改变!")
  249.                         (= 表头字高 表头字高_x)
  250.                     )
  251.              )
  252.             )
  253.             ((= ii 6)
  254.              (progn (princ (strcat "\n请输入表中字高<当前值"
  255.                                    (rtos 表中字高 2 坐标精度)
  256.                                    ">:"
  257.                            )
  258.                     )
  259.                     (setq 表中字高_x (getdist))
  260.                     (if        (= 表中字高_x nil)
  261.                         (princ "表中字高无改变!")
  262.                         (= 表中字高 表中字高_x)
  263.                     )
  264.              )
  265.             )
  266.             (t nil)
  267.         )
  268.     )
  269.     (princ)
  270. )

  271. ;;;==================================================
  272. ;;;以下为加载时提示信息
  273. (princ "\n键入命令"SZ"可进行参数设置。")
  274. (princ "\n键入命令"ZB"可进行坐标测量绘制(表格方式)。")
  275. (princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 23:41 , Processed in 0.240585 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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