土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 请教lsp程序的一个问题

请教lsp程序的一个问题

发布于:2011-04-22 12:52:22 来自:建筑设计/CAD下载及教程 [复制转发]
我这个lsp是读cad地形图上一条线的XYZ坐标的,其中Z坐标可以交互输入,但是数据格式的精度只有单精度,我怎么样才能修改成双精度的,看了好几天了,也不知道怎么下手,是不是lsp里面数据格式最多是单精度?因为以前没接触过,请高手帮忙看下,万分感谢!

;本程序可以在图形上读取XYZ坐标,生成空格分隔的二维数据文件(SDF式);起始行为总点数,接着为X,Y,Z坐标;
(defun c:BJ (/ FNAME N P BI PX PY fpf CC ZZ)
(setq fname (getfiled "新建数据文件" " " "" 1))
(setq fpf (open fname "w"))
(setq N 1)
(SETQ BI '())
(initget "u U")
(setq cc "\n (选择第一点) ")
(while (setq P (GETPOINT cc))
(if (OR (= P "U") (= P "u"))
(progn
(setq BI (REVERSE BI)
BI (CDR BI)
BI (CDR BI)
BI (REVERSE BI)
N (- N 1)
)
)
(progn
(setq PX (car P)
PY (CADR P)
PZ (CADDR P)
)
(IF (SETQ ZZ (GETREAL "输入高程(若本就是三维坐标则回车即可)"))
(SETQ PZ ZZ)
)
(SETQ BI (APPEND BI (LIST PX PY PZ))
N (+ N 1)
)
)
)
(if (> N 1)
(setq CC "\n (选择下一点/取消U) ")
)
(initget "u U")
)
(SETQ L (/ (LENGTH BI) 3))
(PRINC L fpf)
(setq M 0)
(while (<= M (- L 1))
(setq PX (NTH (* M 3) BI))
(setq PY (NTH (+ (* M 3) 1) BI))
(setq PZ (NTH (+ (* M 3) 2) BI))
(PRINT PX fpf)
(PRINC " " fpf)
(PRINC PY fpf)
(PRINC " " fpf)
(PRINC PZ fpf)
(setq M (+ M 1))
)
(close fpf)
)
  • ladesinger
    ladesinger 沙发
    用 RTOS 函数,例:(RTOS PX 2 10)
    2011-04-22 13:28:22

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.09 万条内容 · 682 人订阅

猜你喜欢

阅读下一篇

急求字体3YROMANS。SHX,请问哪里有啊

急求字体3YROMANS。SHX,请问哪里有啊

回帖成功

经验值 +10