明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2884|回复: 9

cass横断面数据转高程

[复制链接]
发表于 2019-4-25 23:29:22 | 显示全部楼层 |阅读模式
数不清大神们的函数 有GU版等
  1. (gc)
  2. (vl-load-com)
  3. ;;;;;;;;;;;;;;;;;;;
  4. (defun str->pt (str)
  5.     (XD::Pnt:SetZ
  6.       (mapcar 'distof (cdr (String:Split str ",")))
  7.       0.
  8.     )
  9.   )

  10. ;;;;;;;;;;;
  11. (defun String:Split (str delimiter / post strlst stl)
  12.     (if        str
  13.       (progn
  14.         (setq stl (strlen delimiter))
  15.         (while (vl-string-search delimiter str)
  16.           (setq        post   (vl-string-search delimiter str)
  17.                 strlst (cons (substr str 1 post) strlst)
  18.                 str    (substr str (+ 1 post stl))
  19.           )
  20.         )
  21.         (reverse (vl-remove "" (cons str strlst)))
  22.       )
  23.     )
  24.   )
  25. ;;;;;;;;;;;;;;
  26. (defun fast (l a / b c)
  27.   (while l
  28.     (if        (= a (car l))
  29.       (progn (if b
  30.                (setq c (cons (reverse b) c)
  31.                      b nil
  32.                )
  33.              )
  34.              (setq b (cons (car l) b)
  35.                    l (cdr l)
  36.              )
  37.              (while (and l (/= a (car l)))
  38.                (setq b (cons (car l) b)
  39.                      l (cdr l)
  40.                )
  41.              )
  42.              (setq c (cons (reverse b) c)
  43.                    b nil
  44.              )
  45.       )
  46.       (progn (setq b (cons (car l) b)
  47.                    l (cdr l)
  48.              )
  49.       )
  50.     )
  51.   )
  52.   (if b
  53.     (setq c (cons (reverse b) c)
  54.           b nil
  55.     )
  56.   )
  57.   (reverse c)
  58. );;测试 (f '(2 1 3 4 5 6 2 7 8 9 2 11 13 14 2)  2) ==>'((2 1 3 4 5 6) (2 7 8 9) (2 11 13 14) (2))  

  59. (defun gxl-cs:gcd (inspt height  scale  / pt  pt1 blkdef obj)
  60.   (setvar "CMDECHO" 0)
  61.   (command "layer" "m" "检查高程点" "c" "1" "" "L" "CONTINUOUS" ""  "")
  62.   (if height
  63.     (setq height (rtos height 2 3))
  64.     (setq height "")
  65.   )

  66.   
  67.   (regapp "SOUTH")
  68.   ;;;检查字体 "HZ" 是否存在
  69.   (if (not (tblobjname "style" "HZ"))
  70.     (command "style" "HZ" "rs.shx,hztxt.shx" 0 1 0 "" "" "")
  71.   )
  72.   ;;;检查是否存在高程点图块定义
  73.   (if (not (tblobjname "block" "GC200"))
  74.     (progn
  75.       (setq blkdef (vla-Add (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-3D-point '(0 0 0)) "GC200"))
  76.       (setq obj
  77.         (vla-AddPolyline
  78.            blkdef
  79.            (vlax-make-variant
  80.               (vlax-safearray-fill
  81.                  (vlax-make-safearray vlax-vbdouble (cons 0 5))
  82.                  '(-0.2 0 0 0.2 0 0)
  83.               )
  84.            )
  85.         )
  86.       )
  87.       (vla-SetBulge obj 0 1) (vla-SetBulge obj 1 1)
  88.       (vla-put-Closed obj :vlax-true)
  89.       (vla-put-ConstantWidth obj 0.4)
  90.     )
  91.   )
  92.   ;;;插入块
  93.   (entmake (list
  94.              '(0 . "INSERT")
  95.              '(100 . "AcDbEntity")
  96.              '(100 . "AcDbBlockReference")
  97.              '(66 . 1);;;属性跟随标志,1跟随,0不跟随
  98.               (cons 2 "GC200")
  99.               (cons 10 inspt)
  100.               (cons 41 scale)
  101.               (cons 42 scale)
  102.               (cons 43 scale)
  103.               '(-3 ("SOUTH" (1000 . "202101")))
  104.            )
  105.   )
  106.   ;;;插入属性
  107.   (entmake (list
  108.              '(0 . "ATTRIB")
  109.              '(100 . "AcDbEntity")
  110.              '(100 . "AcDbText")
  111.               (cons 10 (setq pt (polar inspt (* -0.5 PI) (* 1.8 scale))))
  112.               (cons 40 (* 2.0 scale))
  113.               (cons 50 0)
  114.                (cons 62 3)
  115.               (cons 41 0.8)
  116.               (cons 51 0)
  117.               (cons 1 height)
  118.               (cons 7 "宋体")
  119.               (cons 72 0)
  120.               (cons 11 pt)
  121.               '(100 . "AcDbAttribute")
  122.               (cons 2 "height")
  123.               (cons 70  0)
  124.               (cons 74 2)
  125.            )
  126.    )
  127. ;;;;;;;;;;;;;;;;;;;;;;;
  128. ;;;插入属性
  129.   
  130.   
  131.    ;;;结束标志
  132.    (entmake '((0 . "SEQEND")))
  133.    (princ)
  134. )


  135. ;;;;;;;;===========================================
  136. (defun _List:FromFile        (fn / f l ll)
  137.     (if        (setq f (open (findfile fn) "r"))
  138.       (progn
  139.         (while (setq l (read-line f))
  140.          (IF (= (ASCII l)98)  (progn   (setq l (append (list l) (list"k") ))(setq ll (append l ll ))   )  ;;(append (list "回车 \n") (list l))
  141.      (setq ll (cons l  ll ) )
  142.      )
  143.    
  144.          
  145.         )
  146.         (close f)
  147.       )
  148.     )
  149.     ( reverse(cdr(reverse (append (list"k") ll) ))  ) ;(reverse(reverse ll))

  150.   )
  151. ;;;;;;;;;;;;;;;
  152. (defun c:dmsjgcd ( / en a  obj fl lst pzx blc scale  pt0 Perpt LST1 ang bb len height pt1)
  153. (setq en (entsel "\n选择道路中心线: ") )
  154.   (setq obj (vlax-ename->vla-object (car en)))
  155.   (if (= nil (setq a (getreal "\n请输入起点桩号<0>:"))) (setq a 0))
  156.   
  157.   (setq blc (getint "\n请输入比例尺1:"))
  158.   (setvar 'userr1 blc);设置比例尺
  159.   ;(setq zg (* 0.002 blc));字高
  160.   (setq scale (* 0.001 blc));缩放比例
  161.    
  162. (setq fl (getfiled "Select Log file请选取南方CASS横断面数据文件:" "" "hdm" 8))
  163. (setq lst         (_List:FromFile fl) )
  164. (setq pzx (mapcar '(lambda (x)(reverse(cdr x)))   (fast lst "k")) ) ; (print pzx)

  165. (foreach x pzx
  166. (setq bb (distof (car(cdr (String:Split (car x) ",")) )))   ;(print (- bb a))
  167.   
  168. (setq pt0 (vlax-curve-getPointAtDist obj (- bb a)) )  ;(print pt0)
  169.   
  170.   (setq Perpt (vlax-curve-getClosestPointTo OBJ pt0 T)
  171.     LST1   (vlax-curve-getfirstderiv OBJ (vlax-curve-getparamatpoint OBJ Perpt))
  172.     ANG   (atan (/ (cadr LST1) (car LST1)))
  173.     ;pt1   (polar pt0 (+ ANG (* 0.5 pi)) len)
  174.     ;pt2   (polar pt0 (- ANG (* 0.5 pi)) len)
  175.      ;此处就是你画出来的是水平线的原因,变量换个方向即可 (distof(car(cdr (String:Split "begin,1040" ",")) ) ) (distof (cdr (String:Split "begin,1040" ",")))
  176.    )
  177.   

  178. (foreach y (cdr x)
  179.   (setq len   (distof (car (String:Split y ","))))   ;(print len)  ;
  180.   (setq pt1 (polar pt0 (- ANG (* 0.5 pi)) len) )  ;(print pt1)      
  181.   (setq height (distof (car(cdr (String:Split y ","))) )) ;(print height)   ;;;;   (distof(car (cdr (String:Split (car  (cdr (car pzx))) ",")) ))

  182.   (  gxl-cs:gcd  (list (car pt1)(cadr pt1)height) height  scale)
  183.   
  184.   )


  185.   
  186.   )
  187.   

  188. ;(cdr (String:Split "begin,1250" ","))  (mapcar 'distof (cdr (String:Split "begin,1250" ",")))  (mapcar 'distof (car (String:Split "25639,1250" ",")))


  189. )

测试数据:存盘为**.hdm
begin,1020
-45,12
-40,15
-35,22
-30,15
-25,3
-15,10
-8,6
0,9
3,15
16,22
26,16
33,14
45,22
begin,1040
-50,23
-45,36
-40,15
-35,20
-30,15
-25,16
-20,18
-17,22
-10,16
0,22
8,6
15,2
19,12
25,14
31,21
40,26
48,33
50,30


本帖子中包含更多资源

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

x
 楼主| 发表于 2019-4-25 23:37:30 | 显示全部楼层
本帖最后由 树櫴希德 于 2019-4-26 18:42 编辑

这个应该用的比较少吧

本帖子中包含更多资源

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

x
 楼主| 发表于 2019-5-23 15:52:10 | 显示全部楼层
  1. (defun c:tt ()
  2.   ;; tt(圆心标注)
  3.   (setq i -1)
  4.   (if (setq ss (ssget '((0 . "circle"))))
  5.     (while (setq s1 (ssname ss (setq i (1+ i))))
  6.       (setq rr (cdr (assoc 40 (entget s1))))
  7.       (setvar "dimcen" (* rr 1.1))
  8.       (command "dimcenter" (list s1 '(0 0)))
  9.     )
  10.   )
  11.   (princ)
  12. )
 楼主| 发表于 2019-6-3 17:46:21 | 显示全部楼层
横断面标高偏距标注
  1. ;;;;;;;;;;;;;
  2. (defun mkgcd (inspt height height-1 scale  / pt  pt1 blkdef obj)
  3. (gc)  (vl-load-com)
  4.   (setvar "CMDECHO" 0)
  5.   (command "layer" "m" "检查高程点" "c" "1" "" "L" "CONTINUOUS" ""  "")
  6. (cond ((= (type height) REAL) (setq height (rtos height 2 3))  )
  7.      ((= (type height) STR) (setq height height)  )

  8. ((= (type height-1) REAL) (setq height-1 (rtos height-1 2 3))  )
  9.      ((= (type height-1) STR) (setq height-1 height-1)  )
  10.       
  11.   )
  12.   ;;;;-------------
  13. ; (if height     (setq height (rtos height 2 3))      (setq height  "")   )
  14. ;(if height-1     (setq height-1 (rtos height-1 2 3))     (setq height-1 "")   )
  15.   ;;;;-------------
  16.   (regapp "SOUTH")
  17.   ;;;检查字体 "HZ" 是否存在
  18.   (if (not (tblobjname "style" "HZ"))
  19.     (command "style" "HZ" "rs.shx,hztxt.shx" 0 1 0 "" "" "")
  20.   )
  21. (if (not (tblobjname "style" "宋体"))
  22.     (command "-style" "宋体" "宋体" 0 1 0 "" "" "")
  23.   )

  24.   
  25.   ;;;检查是否存在高程点图块定义
  26.   (if (not (tblobjname "block" "GC200"))
  27.     (progn
  28.       (setq blkdef (vla-Add (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-3D-point '(0 0 0)) "GC200"))
  29.       (setq obj
  30.         (vla-AddPolyline
  31.            blkdef
  32.            (vlax-make-variant
  33.               (vlax-safearray-fill
  34.                  (vlax-make-safearray vlax-vbdouble (cons 0 5))
  35.                  '(-0.2 0 0 0.2 0 0)
  36.               )
  37.            )
  38.         )
  39.       )
  40.       (vla-SetBulge obj 0 1) (vla-SetBulge obj 1 1)
  41.       (vla-put-Closed obj :vlax-true)
  42.       (vla-put-ConstantWidth obj 0.4)
  43.     )
  44.   )
  45.   ;;;插入块
  46.   (entmake (list
  47.              '(0 . "INSERT")
  48.              '(100 . "AcDbEntity")
  49.              '(100 . "AcDbBlockReference")
  50.              '(66 . 1);;;属性跟随标志,1跟随,0不跟随
  51.               (cons 2 "GC200")
  52.               (cons 10 inspt)
  53.               (cons 41 scale)
  54.               (cons 42 scale)
  55.               (cons 43 scale)
  56.               '(-3 ("SOUTH" (1000 . "84848412")))
  57.            )
  58.   )
  59.   ;;;插入属性
  60.   (entmake (list
  61.              '(0 . "ATTRIB")
  62.              '(100 . "AcDbEntity")
  63.              '(100 . "AcDbText")
  64.               (cons 10 (setq pt (polar inspt (* -0.5 PI) (* 1.8 scale))))
  65.               (cons 40 (* 2.0 scale))
  66.               (cons 50 0)
  67.                (cons 62 3)
  68.               (cons 41 0.8)
  69.               (cons 51 0)
  70.               (cons 1 height)
  71.               (cons 7 "宋体")
  72.               (cons 72 0)
  73.               (cons 11 pt)
  74.               '(100 . "AcDbAttribute")
  75.               (cons 2 "height")
  76.               (cons 70  0)
  77.               (cons 74 2)
  78.            )
  79.    )
  80. ;;;;;;;;;;;;;;;;;;;;;;;
  81.   (entmake (list
  82.              '(0 . "ATTRIB")
  83.              '(100 . "AcDbEntity")
  84.              '(100 . "AcDbText")
  85.               (cons 10 (setq pt1 (polar inspt (* 0.5 PI) (* 1.8 scale))))
  86.               (cons 40 (* 2.0 scale))
  87.               (cons 50 0)
  88.                (cons 62 3)
  89.               (cons 41 0.8)
  90.               (cons 51 0)
  91.               (cons 1 height-1)
  92.               (cons 7 "宋体")
  93.               (cons 72 0)
  94.               (cons 11 pt1)
  95.               '(100 . "AcDbAttribute")
  96.               (cons 2 "height-1")
  97.               (cons 70  0)
  98.               (cons 74 2)
  99.            )
  100.    )
  101. ;;;插入属性
  102.   
  103.   
  104.    ;;;结束标志
  105.    (entmake '((0 . "SEQEND")))
  106.    (princ)
  107. )
  108. ;;;;;;;;;;;


  109. (defun c:dmbzbg (  / osmode_bak scale scale1 zh hxbl zxbl midxy midx midy ssa s h i f pt1 bzx bzy y)

  110. (vl-load-com) (gc)
  111. (setvar "cmdecho" 0)
  112.      (setq osmode_bak(getvar "osmode"))
  113.      (setvar "osmode" 1)
  114.      (command "layer" "M" "dmbz" "C" "7" "" "LT" "CONTINUOUS" "" "")
  115.      (princ "标注比例尺:<1:")
  116.      (princ scale)
  117.      (princ ">")
  118.      (setq scale1 (getreal))
  119.      (if (not (null scale1)) (setq scale scale1))
  120.      (setq zh (/ (* 1.5 scale) 1000))
  121.   
  122. (setq hxbl (getint "\n请输入断面横向比例 1 :"))
  123.   (setq zxbl (getint "\n请输入断面纵向比例 1 :"))
  124.      (setvar "luprec" 4)  
  125.        (setq midxy(getpoint "\n请选择断面的中点:"))
  126.        (setq midx(nth 0 midxy))
  127.        (setq midy(nth 1 midxy))
  128.        (setq midgc(getreal "\n请输入断面的中点高程:"))


  129.   (while  (setq y (getpoint "\n请选择断面上需要标注坐标偏距的点:"))

  130.        ;;;;

  131.     (setq bzx(nth 0 y))
  132.               (setq bzy(nth 1 y))
  133.               (setq s(strcat "偏距:" (rtos    (* (- bzx midx ) (/ hxbl 1000.000))      2 3)))
  134.               (setq h(strcat "高程:" (rtos (+ midgc  (*(- bzy midy) (/ zxbl 1000.000) )   ) 2 3)))
  135.     ;;;;;
  136.    (mkgcd y s h zh)
  137.     )
  138.    
  139.   (princ)
  140. )

发表于 2019-7-8 21:54:18 | 显示全部楼层
就楼主还活跃在测绘板块
发表于 2019-11-22 17:16:07 | 显示全部楼层
请问你这两个工具有啥区别吗。我在研究已知起点距,绝对高程。想返回XYZ
 楼主| 发表于 2019-12-18 23:13:43 | 显示全部楼层
  1. (gc)
  2. (vl-load-com)

  3. (defun gxl-cs:gcd (inspt height  scale  / pt  pt1 blkdef obj)
  4.   (setvar "CMDECHO" 0)
  5.   (command "layer" "m" "检查高程点" "c" "1" "" "L" "CONTINUOUS" ""  "")
  6.   (if height
  7.     (setq height (rtos height 2 3))
  8.     (setq height "")
  9.   )

  10.   
  11.   (regapp "SOUTH")
  12.   ;;;检查字体 "HZ" 是否存在
  13.   (if (not (tblobjname "style" "HZ"))
  14.     (command "style" "HZ" "txt.shx,hztxt.shx" 0 1 0 "" "" "")
  15.   )
  16.   ;;;检查是否存在高程点图块定义
  17.   (if (not (tblobjname "block" "GC200"))
  18.     (progn
  19.       (setq blkdef (vla-Add (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-3D-point '(0 0 0)) "GC200"))
  20.       (setq obj
  21.         (vla-AddPolyline
  22.            blkdef
  23.            (vlax-make-variant
  24.               (vlax-safearray-fill
  25.                  (vlax-make-safearray vlax-vbdouble (cons 0 5))
  26.                  '(-0.2 0 0 0.2 0 0)
  27.               )
  28.            )
  29.         )
  30.       )
  31.       (vla-SetBulge obj 0 1) (vla-SetBulge obj 1 1)
  32.       (vla-put-Closed obj :vlax-true)
  33.       (vla-put-ConstantWidth obj 0.4)
  34.     )
  35.   )
  36.   ;;;插入块
  37.   (entmake (list
  38.              '(0 . "INSERT")
  39.              '(100 . "AcDbEntity")
  40.              '(100 . "AcDbBlockReference")
  41.              '(66 . 1);;;属性跟随标志,1跟随,0不跟随
  42.               (cons 2 "GC200")
  43.               (cons 10 inspt)
  44.               (cons 41 scale)
  45.               (cons 42 scale)
  46.               (cons 43 scale)
  47.               '(-3 ("SOUTH" (1000 . "202101")))
  48.            )
  49.   )
  50.   ;;;插入属性
  51.   (entmake (list
  52.              '(0 . "ATTRIB")
  53.              '(100 . "AcDbEntity")
  54.              '(100 . "AcDbText")
  55.               (cons 10 (setq pt (polar inspt (* -0.5 PI) (* 1.8 scale))))
  56.               (cons 40 (* 2.0 scale))
  57.               (cons 50 0)
  58.                (cons 62 3)
  59.               (cons 41 0.8)
  60.               (cons 51 0)
  61.               (cons 1 height)
  62.               (cons 7 "HZ")
  63.               (cons 72 0)
  64.               (cons 11 pt)
  65.               '(100 . "AcDbAttribute")
  66.               (cons 2 "height")
  67.               (cons 70  0)
  68.               (cons 74 2)
  69.            )
  70.    )
  71. ;;;;;;;;;;;;;;;;;;;;;;;
  72. ;;;插入属性
  73.   
  74.   
  75.    ;;;结束标志
  76.    (entmake '((0 . "SEQEND")))
  77.    (princ)
  78. )




  79. ;;;;
  80. (defun vxs(e / p a b n ob q et d d1 en et)
  81.     (setq a(entget e)ob(vlax-ename->vla-object e)et(cdr(assoc 0 a))n 0 p nil d nil)
  82.     (cond((="LWPOLYLINE"et)
  83.     (repeat(length a)(setq b (nth n a) n (+ n 1))
  84.       (if (= 10 (car b))(progn
  85.         (setq q(list (cadr b) (caddr b))d1(vlax-curve-getDistAtPoint ob q))
  86.         (if p (if (not(member d1 d)) (setq p (append p (list q))d (append d (list d1))))
  87.           (setq p (list q)))))))
  88.    ((="POLYLINE"et)
  89.     (SETQ EN (ENTGET (SETQ E (ENTNEXT E))))
  90.     (WHILE (/= (CDR (ASSOC 0 EN)) "SEQEND")
  91.       (SETQ q (CDR (ASSOC 10 EN))d1(vlax-curve-getDistAtPoint ob q)q(reverse(cdr(reverse q))))
  92.       (if p(if (not(member d1 d)) (setq p (append p (list q))d (append d (list d1))))(setq p(list q)))
  93.       (SETQ EN (ENTGET (SETQ E (ENTNEXT E)))))
  94.     (setq p(reverse p))))P)
  95. ;;;;;;;;;;
  96. ;;;;;;;;;;;;;;;
  97. (defun c:dmzgc ( / en a bbb  obj fl lst pzx blc scale  pt0 Perpt LST1 ang bb len height pt1 en1 zbb xzbb pta ptaa xxzbb zzbg );
  98. (prompt "\n dmzgc")
  99.   (setq en (entsel "\n选择道路中心线: ") )
  100.   (setq obj (vlax-ename->vla-object (car en)))
  101.   (if (= nil (setq a (getreal "\n请输入起点桩号<0>:"))) (setq a 0))
  102.   
  103.   (setq blc (getint "\n请输入比例尺1:"))
  104.   (setvar 'userr1 blc);设置比例尺
  105.   ;(setq zg (* 0.002 blc));字高
  106.   (setq scale (* 0.001 blc));缩放比例
  107.    

  108. (setq hxbl (getint "\n请输入断面横向比例 1 :"))
  109.   (setq zxbl (getint "\n请输入断面纵向比例 1 :"))


  110.   (while (setq en1 (car(entsel "\n选择道路横断面线(从左至右画): ") ))
  111.     (setq bbb (getreal "\n请输入断面桩号<0>:"))
  112.     (setq pt0 (vlax-curve-getPointAtDist obj (- bbb a)) )  ;(print pt0)
  113.   (setq pta (getpoint"\n请点击断面中桩位置(标高零点):" ))
  114. (setq zzbg (getreal "\n请输入中桩标高:"))
  115.    
  116.   (setq Perpt (vlax-curve-getClosestPointTo OBJ pt0 T)
  117.     LST1   (vlax-curve-getfirstderiv OBJ (vlax-curve-getparamatpoint OBJ Perpt))
  118.     ANG   (atan (/ (cadr LST1) (car LST1)))
  119.     ;pt1   (polar pt0 (+ ANG (* 0.5 pi)) len)
  120.     ;pt2   (polar pt0 (- ANG (* 0.5 pi)) len)
  121.      ;此处就是你画出来的是水平线的原因,变量换个方向即可 (distof(car(cdr (String:Split "begin,1040" ",")) ) ) (distof (cdr (String:Split "begin,1040" ",")))
  122.    )
  123.     (setq ptaa (list (* (car pta)(/ hxbl 1000.000) ) (* (cadr pta)(/ zxbl 1000.000) )              ))
  124.   
  125. (setq zbb (vxs en1))
  126.   (setq xzbb  (mapcar          '(lambda (a ) (list   (* (car a)(/ hxbl 1000.000) )  (* (cadr a)(/ zxbl 1000.000) )     )
  127.           )
  128.     zbb)

  129.    )
  130.    
  131. (setq xxzbb  (mapcar          '(lambda (a ) (list   (- (car a)(car ptaa) )  (+(- (cadr a)(cadr ptaa) ) zzbg)    )
  132.           )
  133.     xzbb)

  134.    )

  135. (foreach n xxzbb

  136. (setq pt1 (polar pt0 (- ANG (* 0.5 pi)) (car n)) )  ;(print pt1)
  137. (setq height (cadr n)) ;(print height)
  138.   (gxl-cs:gcd  (list (car pt1)(cadr pt1)height) height  scale)
  139.   )
  140.     (prompt "\n 请选择下一断面")
  141.    
  142.    
  143.     )

  144. ;(cdr (String:Split "begin,1250" ","))  (mapcar 'distof (cdr (String:Split "begin,1250" ",")))  (mapcar 'distof (car (String:Split "25639,1250" ",")))

  145. (princ)
  146. )

本帖子中包含更多资源

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

x
 楼主| 发表于 2019-12-19 16:42:55 | 显示全部楼层
forech换MAPCAR 不知道会不会快些

本帖子中包含更多资源

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

x
发表于 2023-12-9 16:10:49 | 显示全部楼层
请问横断面数据转高程我这怎么不能用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-5 22:00 , Processed in 0.172715 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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