找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1186|回复: 6

[求助]:那位大侠能帮我看看这个lisp

  [复制链接]
发表于 2004-12-27 13:03:33 | 显示全部楼层 |阅读模式

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

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

×
那位高手能帮我看看这个lisp,为什么加载后标坐标最后一位是0的话,0就不显示了,应该怎么改一下?
例如,我现在默认保留三位小数,但如果x 1358.230则显示为1358.23

;;;               PCK.LSP
;;;  Edit by Chake   JUL. 18 1994
;;;
(defun c:ph ()
(setq h (getreal "请输入字高 ( 6 ) "))
(if (or (= h nil) (= h 0))
(setq h 6)))
(defun c:pa ()
(setq ang (getangle "input base point (Retern For 0) "))
(if (= ang nil)
   (setq ang 0 )))
(defun c:pc ()
(setq c3 (getint "Choose Color Number For LINE"))
(setq c4 (getint "Choose Color Number For TEXT"))
(if (or (= c3 0 ) (= c3 nil ))(setq c1 7)(setq c1 c3))
(if (or (= c4 nil) (= c4 0)) (setq c2 7)
(setq c2 c4 )))
(defun c:pz()
(prompt "\n是否需要输入坐标点的高度?")
(princ)
(setq zz (getstring "\nY(es) or N(o) (Return for No)"))
(if (or (= zz "Y") (= zz "y") (= zz "yes"))
(setq hz 1)(setq hz 2)))
(defun c:pn ()
(setq nd (getint "输入小数点的位数 (3)"))
(setq nx (getint "Input the Number of Date for X (5)"))
(setq ny (getint "Input the Number of Date for Y (5)"))
(setq nz (getint "Input the Number of Date for High (2)")))
(defun c:pp ()
(if (= nd nil) (setq nd 3))
(if (or (= nx 0) (= nx nil)) (setq nx 5))
(if (or (= ny 0) (= ny nil)) (setq ny 5))
(if (or (= nz 0) (= nz nil)) (setq nz 2))
(if (= h nil )
(setq h 6))
(if (= ang nil )
(setq ang 0 ))
(if (= c3 nil)
(setq c1 7 ))
(if (= c4 nil )
(setq c2 7 ))
(setq p0 (getpoint "input intersection point"))\n
(setq pxx (car p0))
(setq pyy (nth 1 p0))
(setq px (rtos pxx 2 nd))
(setq py (rtos pyy 2 nd))
(setq pp (getpoint "please input the position:"))
(setq h1 (/ h 2))
(setq h2 (+ (/ h 2) h))
(if (< nx ny) (setq nn ny) (setq nn nx))
(setq h3 (* h(+ nn nd 0.5)))
(setq hg (* h 0.5))
(setq ppx (car pp))
  (if (< ppx pxx)
(setq a20 (+ ang pi))
(setq a20 ang))
(if (< ppx pxx)
     (setq pd (polar pp a20 h3))
(setq pd (polar pp ang hg)))
(if (< ppx pxx)
(setq pp1 pd)
(setq pp1 (polar pp ang h3)))
(setq a1 (+ ang (/ pi 2)))
(setq p1 (polar pd a1 h1))
(setq a2 (- ang (/ pi 2)))
(setq p2 (polar pd a2 h2))
(setq e 1)
(setq p1 (polar p1 ang e))
(setq p2 (polar p2 ang e))
(setq fh (* 1.5 h ))
(setq r (- nx ny))
(setq r1 (abs r))
(setq r2 (* r1 h))
(setq fh1 fh)
(setq fh2 fh)
(cond ((< 0 r) (setq fh2 (+ fh r2)))
   ((< r 0) (setq fh1 (+ fh r2))))
(setq p3 (polar p1 ang fh1))
(setq p4 (polar p2 ang fh2))
(setq an1 (* ang (/ 180 pi)))
(if (= hz 1)
(setq hh (getstring "Input the Date of HIGH !")))
(if (< ppx pxx)
(setq zh (+ h3 (* h (+ 2.5 nd nz))))
(setq zh (+ h3 h)))
(setq ph1 (polar pp a20 zh))
(setq ph2 (polar ph1 a2 h1))
(setq ph3 (polar ph2 ang fh))
(command "color" c2)
(command "text" p1 h an1 "X")
(command "text" p3 h an1 py)
(command "text" p2 h an1 "Y")
(command "text" p4 h an1 px)
(if (= hz 1)
(command "text" ph2 h an1 "H"))
(if (= hz 1)
(command "text" ph3 h an1 hh))
(command "color" c1)
(command "pline" p0 pp pp1 "")
(command "color" "bylayer"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-12-30 14:50:29 | 显示全部楼层
加一个零就那么复杂
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-1-2 15:26:05 | 显示全部楼层
dimzin -> 0 ?怎么改呀~~
我是菜鸟,正准备学编程


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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-1-16 16:55:17 | 显示全部楼层
朋友,你的程序是完成什么任务啊?你是不是一名测量工作者?我是初入LISP的测量人员, 能告知QQ号吗?以便交流。我的QQ:48436913
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-11 04:01 , Processed in 0.244826 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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