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

怎么挣币呢???
页: 1 [2] 3
查看完整版本: 取cass断面数据