Visual lisp程序,哪位高手能帮我该一下,这个程序改成提取闭合区域内的高程点。
;------------------------------------------------------------------------------------...
;-------------------------------------------------------------------------------------------
;提取cass中的高程点->Dat文件
(defun c:tqgc(/ p1 p2 ss sn si i x y e fw) ;定义命令,设置参数
(setq sn 0) ;sn=0
(setq p1(getpoint "\n拾取选择框的一个角点:")) ;选择一个角点
(if p1 ;如果p1成立
(setq p2(getcorner p1 "\n选择对角点:")) ;选择另一个角点
)
(if p2 ;如果p2成立
(setq ss(ssget "c" p1 p2 (list(cons 8 "GCD")(cons 2 "GC200")))) ;
)
(if ss(progn
(setq fw(open "d:\\ex.dat" "w"))
(setq sn(sslength ss))
(setq i 0)
(while(< i sn)
(setq si(ssname ss i))
(setq pt(cdr(assoc 10 (entget si))))
(setq x(rtos(car pt)2 3) y(rtos(cadr pt)2 3) e(rtos(caddr pt)2 3))
(princ(strcat (itoa (1+ i))",GCD," x "," y "," e "\n") fw)
(setq i(1+ i))
)
(close fw)
(alert "OK")
))
(princ)
)
;------------------------------------------------------------------------------------- 展开
;提取cass中的高程点->Dat文件
(defun c:tqgc(/ p1 p2 ss sn si i x y e fw) ;定义命令,设置参数
(setq sn 0) ;sn=0
(setq p1(getpoint "\n拾取选择框的一个角点:")) ;选择一个角点
(if p1 ;如果p1成立
(setq p2(getcorner p1 "\n选择对角点:")) ;选择另一个角点
)
(if p2 ;如果p2成立
(setq ss(ssget "c" p1 p2 (list(cons 8 "GCD")(cons 2 "GC200")))) ;
)
(if ss(progn
(setq fw(open "d:\\ex.dat" "w"))
(setq sn(sslength ss))
(setq i 0)
(while(< i sn)
(setq si(ssname ss i))
(setq pt(cdr(assoc 10 (entget si))))
(setq x(rtos(car pt)2 3) y(rtos(cadr pt)2 3) e(rtos(caddr pt)2 3))
(princ(strcat (itoa (1+ i))",GCD," x "," y "," e "\n") fw)
(setq i(1+ i))
)
(close fw)
(alert "OK")
))
(princ)
)
;------------------------------------------------------------------------------------- 展开
2个回答
2015-05-06
展开全部
大国化工i黑高哦i活化刚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询