(defun c:ab1(/ #m #n $str %cfbh %n %str aa bb bf-list-same cc cfnum djpts end first get-dxf get-enb
hh ii jj kk ll nn num-list p1 pt-list-same str)
(defun $str(str / i j len)
(setq i 0
j 0
len (strlen str))
(while (< i len)
(if (= "," (substr str i 1))
(progn
(setq #m (#m 1))
) ;progn end. ; 如果遇到 “,”,#m 加 1. ; 每遇到一个 “,”,就加 1. ; 这样可以统计出字符串中有多少个数值。 ; 注意:这里的 #m 是变量名,不是宏命令。 ; 这里的 $str 是函数名。也不是宏命令。 ; 其实很多变量名都是用 “$” 符号开头的。 ; 例如:$ang, $dist 等等……
)
;; 如果不是逗号(,),则将该字符赋值给 #n[j] ;并将 j 加 1.
(setq #n[j] (substr str i 1) ;; substr(string, start_position, number_of_characters): 返回 string 的子字符串
j (+ j 1)) ;; 加1
;; 最后将 i +1 , 继续循环
(setq i (+ i 1)) ;; +: 加法运算
) ;; while end.
#n ;; 返回值 (#n[0],#n[1],#n[2],……),共有 #m+1 项.
);; defun end.
;; get-enb: 获得拐角处的扩展标注文本内容
;; aa: 拐角处的扩展标注文本内容
;; bb: 方位角度
:;; cc: 高差
:;; djpts: [p0 p1]
:;; get-dxf: 获得 dxf group code 10/20/30/40/50/70 等代表数据的代号
:;; hh: dxf group code 10/20/30/40/50/70 等代表数据的代号
:;; ii、jj、kk、ll、nn: cfbh[]
)
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!