本帖最后由 yjpzc 于 2011-1-5 10:08 编辑
- (princ "数据文件格式:dh,,y,x,h")
- (princ "\n")
- (defun C:zxjs()
- (setq ffn(getfiled "选取要存放坐标的目录" "" "dat" 1))
- (setq ff(open ffn "w"))
- (setq zx(getreal "\n输入起点的X坐标:"))
- (setq zy(getreal "\n输入起点的y坐标:"))
- (setq ang1(getreal "\n输入起点方向方位角:"))
- (setq ang(* ang1(/ pi 180)))
- (setq qzh(getreal "\n 输入起点桩号:"))
- (setq nf 1)
- ;-----------------------------------
- (while
- (setq jzh(getreal "\n 输入计算点桩号:"))
- (if (/= jzh nil)
- (progn
- (setq ss(getreal "\n 输入计算点距中桩距<左为负><右为正>:"));----------------
- (setq jj1(getreal "\n 输入计算点与前进方向夹角<0-180度>:"));---------------
- (setq jj(* jj1(/ pi 180)))
- (setq ee(- jzh qzh))
- (setq x(atof (rtos (+ zx (+(* ee (cos ang)) (* ss (cos (+ ang jj))))) 2 3 )));;;取得轴线x坐标
- (setq y(atof (rtos (+ zy (+(* ee (sin ang)) (* ss (sin (+ ang jj))))) 2 3)));;;取得轴线y坐标
- ;(setq dh(cons jzh ss))
- (princ nf ff)
- (princ ",," ff)
- (princ y ff)
- (princ "," ff)
- (princ x ff)
- (princ "," ff)
- (princ 0 ff)
- (princ "\n" ff)
- )
- )
- (setq nf(1+ nf))
- )
- (close ff)
- (princ (strcat "\n 写出坐标" ffn))
- (prin1)
- )
|