yshf
发表于 2012-2-8 22:02:10
取横断面、纵断面数据?
zjlszw
发表于 2012-2-24 21:52:23
提取断面数据 我发一个,源码如下:
(defun c:tqdmsj()
(srcs_data)
(sjdc_data)
(princ (strcat "\n文件写至" ffn))
(prin1)
)
(defun srcs_data()
(setq ffn (getfiled "选取/建立数据导出文件" "" "hdm" 1))
(setq ff (open ffn "w"))
(close ff)
(setq hxbl (getint "\n请输入断面横向比例 1 :"))
(setq zxbl (getint "\n请输入断面纵向比例 1 :"))
)
(defun sjdc_data()
(alert "请选择需要导出数据的断面线")
(setq ss (ssget))
(setq i 0)
(setq gcz 0.00)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq endata (entget ssn))
(setq zh (getstring (strcat "\n请输入第" (rtos (1+ i) 2 3) "个断面的桩号:")))
(if (= zh "") (setq zh (1+ i)))
(setq qd (getpoint "\n请输入该断面中桩点的位置:"))
(setq qdx (car qd)) (setq qdy (cadr qd))
(setq bak gcz)
(setq gcz (getreal (strcat "\n请输入中桩点的高程:<" (rtos bak 2 3) ">")))
(if (= gcz nil) (setq gcz bak))
(setq ff (open ffn "a"))
(princ "begin," ff) (princ zh ff) (princ "," ff) (princ (rtos (1+ i) 2 3) ff) (princ "\n" ff) (close ff)
(tqzb_data)
(setq i (1+ i))
)
(prin1)
)
(defun tqzb_data()
(setq n 0)
(repeat (length endata)
(setq pp (nth n endata))
(setq key (car pp))
(if (= key 10)
(progn
(setq x (cadr pp)) (setq y (caddr pp))
(setq dx (/ (- x qdx) (/ 1000 hxbl)))
(setq dy (+ (/ (- y qdy) (/ 1000 zxbl)) gcz) )
(setq ff (open ffn "a"))
(princ (rtos dx 2 3) ff) (princ "," ff) (princ (rtos dy 2 3) ff) (princ "\n" ff)
(close ff)
)
)
(setq n (1+ n))
)
(prin1)
)
(prompt "提示:用<tqdmsj>命令来运行本程序")
树櫴希德
发表于 2012-6-6 20:23:36
c#怎么用啊
遢绅~^士
发表于 2012-6-12 00:25:25
下载试试,看下能不能用!!!
HyeonBok
发表于 2012-6-20 19:50:37
看不懂。。。
fanqinwei
发表于 2012-12-22 10:59:31
纵断面中含有曲线段时,不知怎么样
xiabin68
发表于 2012-12-26 21:33:33
顶一个,,,都现源码了,,,,
遢绅~^士
发表于 2013-12-2 15:52:54
学习,,学习!!!
树櫴希德
发表于 2013-12-12 15:12:39
还要买啊?都看不明白
pym528
发表于 2017-9-10 18:23:06
怎么挣币呢???