找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 910|回复: 11

[求助] [求助]:座标标注程序的修改??

[复制链接]
发表于 2004-5-14 20:58:41 | 显示全部楼层 |阅读模式

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

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

×
各位:我这里有一个座标标注程序,该程序小数点只有3位,各位:有没有办法,设定个程序可输入来选择座标的小数点位数?(3位、或4位。。。)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-14 21:11:51 | 显示全部楼层
(rtos , value [, mode, precision]) 函数中的precision控制精度
在该程序中, 形如(setq x_坐标值 (rtos (car   绝对标注点) 2 精度)) 的语句即是
你若想交互控制精度,可以在程序前段加入相关语句
但大部分专业要求的坐标标注应该是三位,尽管总图制图标准没规定,测量、道路专业是这样
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-15 21:14:19 | 显示全部楼层
楼主的这个程序里面定义的参数怎么全中文的,
我觉得用几啊字母方便多了。
我上了个标坐标的程序,请试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-15 21:28:46 | 显示全部楼层
楼主的程序来自市政板块,源程序考虑很细心周到
按你的要求加了用户控制精度部分,贴上
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-5-16 11:17:29 | 显示全部楼层
楼上的程序有个问题,如果你的坐标值是整数的话就没有你要求的精度显示出来了
(例如你标(12000,15000)这个点,假如你要小数位数是保留三位,但标出来的没有小数)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-16 11:27:07 | 显示全部楼层
谢谢提醒,将(setvar "dimzin" 1)放置在子程序"标注"之后了造成这个bug,现改在之前了,重新传
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-16 20:20:51 | 显示全部楼层
坐标标注应该可以修改字体、还有控制小数点后的位数。我不懂lisp所以只能提提建议啦。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-11-11 15:02:34 | 显示全部楼层
(defun c:dc(/ ptb pt1 pt2 p1 p2 p3 p4 ptbx xptb yptb
            text_h l x y ws bs layer)
  (command "osmode" 1023)
  (if (= ws1 nil)(setq ws1 4));设置默认值4
  (setq ws (getint(strcat"\n请输入保留小数位数:<"(rtos ws1 2 0)">")));用户输入
  (if (= ws nil)(setq ws ws1)(setq ws1 ws));更改默认值
  (if (= bs1 nil)(setq bs1 200));设置默认值200
  (setq bs (getint(strcat"\n请输入标注比例:<"(rtos bs1 2 0)">")));用户输入
  (if (= bs nil)(setq bs bs1)(setq bs1 bs));更改默认值  
  (setq ptb (getpoint"\n 请点取标注点:"))
  (command "-osnap" "none");
  (setq x (strcat "Y="(rtos(/ (nth 0 ptb) 1000) 2 ws)));求X坐标值
  (setq y (strcat "X="(rtos(/ (nth 1 ptb) 1000) 2 ws)));求Y坐标值
  (setq l (* 24 bs));设置横线长度
  (princ "\n 请点取标注位置:")
  (setq layer (getvar "clayer"))
  (command "layer" "m" "坐标" "c" "cyan""""")
  (command "line" ptb pause "")
  (setq pt1 (getvar "lastpoint"))
  (if (< (nth 0 pt1) (nth 0 ptb))
      (setq ptbx (-(nth 0 pt1) l)
            pt2 (list ptbx (nth 1 pt1))
            xptb (list(+(nth 0 pt2) (* 2 bs))(+(nth 1 pt2) (* 1 bs)))
            yptb (list(+(nth 0 pt2) (* 2 bs))(-(nth 1 pt2) (* 3.5 bs)))
      )
      (setq ptbx (+(nth 0 pt1) l)
            pt2 (list ptbx (nth 1 pt1))
            xptb (list(+(nth 0 pt1) (* 2 bs))(+(nth 1 pt1) (* 1 bs)))
            yptb (list(+(nth 0 pt1) (* 2 bs))(-(nth 1 pt1) (* 3.5 bs))))
      )
  (command "line" pt1 pt2 "")
  (setq text_h (* 2.5 bs))
  (command "style" "bz" "tssdeng.shx,tssdchn.shx" "" "0.8" "" "" "" "" "")
  (command "text" "st" "bz" xptb text_h 0 y)
  (command "text" "st" "bz" yptb text_h 0 x)
  (setq p1 (list (- (nth 0 ptb) (* 1 bs)) (nth 1 ptb)))
  (setq p2 (list (+ (nth 0 ptb) (* 1 bs)) (nth 1 ptb)))
  (setq p3 (list (nth 0 ptb) (- (nth 1 ptb) (* 1 bs))))
  (setq p4 (list (nth 0 ptb) (+ (nth 1 ptb) (* 1 bs))))
  (command "line" p1 p2 "")
  (command "line" p3 p4 "")
  (command "layer" "s" layer "")
  (command "osmode" 1023)
  (princ)
  (princ)
  );enddefun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 19:04 , Processed in 0.201749 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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