3
8
5
初来乍到
(defun pdetl (et etl) (setvar "cmdecho" 0) (if (and (= (cdr (assoc '0 etl)) "INSERT") (or (= "CIR" (strcase (substr (cdr (assoc '2 etl)) 1 3))) (= "$CIR" (strcase (substr (cdr (assoc '2 etl)) 1 4))) (= "GPT" (strcase (cdr (assoc '2 etl)))) (= "POINT_CROSS" (strcase (cdr (assoc '2 etl)))) (= "GULLY" (strcase (cdr (assoc '2 etl)))) ) ) (progn (setq px 0.0 py 0.0 pz 0.0 pnum "" pcode "" phgt "" phgt2 "" ) (setq px (cadr (assoc '10 etl))) (setq py (caddr (assoc '10 etl))) (setq pz (cadddr (assoc '10 etl))) (setq phgt2 (rtos pz 2 2)) (setq etl (entget (setq et (entnext et)))) (while (/= (cdr (assoc '0 etl)) "SEQEND")(cond ((= "POINT_NUMBER" (strcase (cdr (assoc '2 etl)))) (setq pnum (cdr (assoc '1 etl)))) ((= "POINT_CODE" (strcase (cdr (assoc '2 etl)))) (setq pcode (cdr (assoc '1 etl)))) ((= "POINT_HEIGHT" (strcase (cdr (assoc '2 etl)))) (setq phgt (cdr (assoc '1 etl)))) (t nil))(setq etl (entget (setq et (entnext et)))) ) T ) nil ))(defun flr (x y) x)(defun fll (x y) x)(defun nodigits (s) ;; function ;; returns a string s without any digits - leaves on alpha chars (setq l (strlen s)p 1r "" ) (while (<= p l) (setq c (substr s p 1)) (if (not (isdigit c)) (setq r (strcat r c)) ) (setq p (1+ p)) ) r)(defun isdigit (c) (if c (and (<= (ascii c) 57) (>= (ascii c) 48)) nil ))(defun c:ptsym () ;; insert Symbols for Points (if (setq ss (ssget)) (progn (setq u 0) (setq numss (sslength ss)) (while (/= numss u) (setq etl (entget (setq et (ssname ss u)))) (setq u (1+ u)) (if (= (cdr (assoc '0 etl)) "INSERT") (progn (if (pdetl et etl) (progn (princ (flr pnum 6)) (princ " ") (setq pcode (strcase (nodigits pcode))) (princ (flr pcode 10)) (princ "...") (setq p1 (trans (LIST PX PY) 0 1)) (cond ((or (= pcode "TELE") (= pcode "TPIT")) (progn (command "-layer" "m" "S-COMMS_INFO" "") (command "insert" "pp" "s" (getvar "userr4") p1 "") ) ) ((= pcode "EBOX") (progn (command "-layer" "m" "S-ELEC_INFO" "") (command "insert" "EBOX" "s" (getvar "userr4") p1 "") ) ) ((= pcode "ELP") (progn (command "-layer" "m" "S-ELEC_INFO" "") (command "insert" "LIGHT" "s" (getvar "userr4") p1 "") ) ) ((= pcode "EPIT") (progn (command "-layer" "m" "S-ELEC_INFO" "") (command "insert" "EPIT" "s" (getvar "userr4") p1 "") ) ) ((or (= pcode "PP") (= pcode "EP")) (progn (command "-layer" "m" "S-ELEC_INFO" "") (command "insert" "PP" "s" (getvar "userr4") p1 "") ) ) ((= pcode "GM") (progn (command "-layer" "m" "S-GAS_INFO" "") (command "insert" "GM" "s" (getvar "userr4") p1 "") ) ) ((= pcode "GV") (progn (command "-layer" "m" "S-GAS_INFO" "") (command "insert" "GV" "s" (getvar "userr4") p1 "") ) ) ((= pcode "RWMH") (progn (command "-layer" "m" "S-ROOFWATER_INFO" "") (command "insert" "RWMH" "s" (getvar "userr4") p1 "") ) )