本帖最后由 Gu_xl 于 2013-6-21 16:30 编辑
 - ;;内插高程
- (defun c:zgx()
- (bl_c)
- (co_lt)
- (setq osvar (getvar "osmode"))
- (cond ((= pz nil) (setvar "osmode" 512))
- ((= pz 1) (setvar "osmode" 8))
- ((= pz 2) (setvar "osmode" 4))
- );cond
- (initget 128)
- (setq p1 (getpoint "\nN 捕捉模式/<选择一条等高线>: "))(PRINT)
- (while (and (/= p1 nil) (/= (type (list 0 0)) (type p1)))
- (if (or (= p1 "n") (= p1 "N")) (setq pz (getint "1 节点/2 圆心/<最近点>:")))
- (cond ((= pz 1) (setvar "osmode" 8))
- ((= pz 2) (setvar "osmode" 4))
- ((= pz nil) (setvar "osmode" 512))
- );cod
- (initget 128)
- (setq p1 (getpoint "\nN 捕捉模式/<选择一条等高线>: "))(PRINT)
- );while
- (setq p2 (getpoint "\n选择另一条等高线: "))(PRINT)
- (setvar "osmode" 0)
- (setq p3 (getpoint "\n选择选择高程注记点: "))(PRINT)
- (setq h1 (caddr p1))
- (setq h2 (caddr p2))
- (setq d (distance (list (car p1) (cadr p1)) (list (car p2) (cadr p2))))
- (setq d1 (distance (list (car p1) (cadr p1)) (list (car p3) (cadr p3))))
- (setq h (- h2 h1))
- (setq h (* h d1))
- (setq h (/ h d))
- (setq h (+ h1 h))
- (setq p3 (list (car p3) (cadr p3) h))
- (setq h (rtos h 2 1))
- (if (tblsearch "layer" "gcd")
- (setvar "clayer" "GCD")
- (command "layer" "m" "GCD" "c" 1 "" "")
- );if
- (command "insert" "gc200" p3 "xyz" (/ blc 1000.0) (/ blc 1000.0) (/ blc 1000.0) 0)
- (setq ent1 (entlast))
- (setq ent (entget ent1))
- (b_m "202101")
- (command "text" (list (+ (car p3) 2.2) (- (cadr p3) 2) (caddr p3)) (* 2 (/ blc 1000.0)) "0" h)
- (setq ent2 (entlast))
- (setq ent (entget ent2))
- (b_m "202111")
- (command "RESUMEGCD" ent1 ent2 "")
- (setvar "clayer" "0")
- (setvar "osmode" osvar)
- (princ)
- );defun
- ;;------------------------------------------------------------------------------------
- ;;比例尺函数
- (defun bl_c()
- (if (<= (setq blc (getvar "userr1")) 0)
- (progn
- (setq blc (getint"\n图形比例尺1:<500>:"))
- (if (= blc nil) (setq blc 500.0) (setq blc (* 1.0 blc)))
- (setvar "userr1" blc )
- (setvar "ltscale" (/ blc 1000.0))
- );progn
- );if
- );defun
- ;;;-------------------------------------------------------------------
- ;颜色线型设置函数
- (defun co_lt()
- ;;关闭编组选择
- (if (/= (getvar "PICKSTYLE") 0) (setvar "PICKSTYLE" 0))
- ;;设定新对象的颜色为缺省颜色
- (if (/= (getvar "cecolor") "BYLAYER") (setvar "cecolor" "BYLAYER"))
- ;;设定新对象的线型为连续
- (if (/= (getvar "celtype") "CONTINUOUS") (setvar "celtype" "CONTINUOUS"))
- );defun
- ;;-----------------------------------------------------------------------------
- ;;设置编码函数
- (defun b_m(bm)
- (setq app_x
- (list
- (list -3
- (list "SOUTH"
- (cons 1000 bm)
- );list
- );list
- );list
- );setq
- (setq ent (append ent app_x))
- (entmod ent)
- );defun
|