对不起,李,让我再试一次。
- (defun C:SLine ()
- (setvar "osmode" 163)
- (setq lwght(getvar "celweight"))
- (setq svLayer (getvar "clayer"))
- (command "layer" "s" "site" "")
- (setvar "TEXTEVAL" 1)
- (setq slt 0)
- (setq answ nil)
- (while (or (< SLT 1) (> SLT 3))
- (setq SLT(Getint "\nSewerline Type: 1=House-Tank...2=Tank-Bed/D-Box...3=Tank-Tank..? "))
- )
- (if (= slt 1)
- (setq hTot 0)
- )
- (if (= slt 2)
- (setq tTod 0)
- )
- (if (= slt 3)
- (setq tTot 0)
- )
- (setq pt1a (getpoint "\nStarting Point: "))
- (setq xpt1 (car pt1a))
- (setq ypt1 (cadr pt1a))
- (setq pt1 (list xpt1 ypt1))
- (setq ct 0)
- (while (< ct 2)
- (prompt "\nNext Point: ")
- (setvar "celweight" 25)
- (command "LINE" pt1 pause "")
- (setq pt2a(getvar "lastpoint"))
- (setq xpt2 (car pt2a))
- (setq ypt2 (cadr pt2a))
- (setq pt2 (list xpt2 ypt2))
- (setq dis (rtos (distance pt1 pt2)))
- (setvar "celweight" lwght)
- (setvar "osmode" 0)
- (command "TEXT" "s" "simplex" pt1 pt2 (strcat dis"'" ))
- (prompt "\nText Location: ")
- (command "MOVE" "L" "" pt1 pause)
- (setq pt1 pt2)
- (setq answ(getstring "\nAny Key to END or ENTER to <continue> ? "))
- (if (= slt 1)
- (setq HtoT (+ HtoT (atof dis)))
- )
- (if (= slt 2)
- (setq TtoD (+ TtoD (atof dis)))
- )
- (if (= slt 3)
- (setq TtoT (+ TtoT (atof dis)))
- )
- (if (= answ "")
- (setq ct 0)
- (setq ct 2)
- )
- )
- (setvar "TEXTEVAL" 0)
- (setvar "clayer" svLayer)
- (setvar "osmode" 163)
- (princ "\n - Utility Complete -")
- (princ "\n - Hit Enter to Repeat -")
- (princ)
- )
我希望这样更好。 |