------------------------------------
以下是lisp代码 -
- (defun C:bzbgpd () (SETQ DCL_ID (LOAD_DIALOG "bzbgpd.dcl"));;;打开dcl文件
- (NEW_DIALOG "BZBGPD" DCL_ID);;;打开对话框
- (action_tile "accept" "(r_bzbgpd) (done_dialog) ")
- (START_DIALOG) (UNLOAD_DIALOG DCL_ID);;;开启对话框接受用户输入 结束对话框
- (if (and (setq pt1 (getpoint "\n起点:"))
- (setq pt2 (getpoint "\n终点:"))
- )
- (progn
- (setvar "osmode" 0 ) ;;对象捕捉无
- (setvar "aunits" 3;;角度弧度
- )
- (setq fwj (angle pt1 pt2))
- (if (>= fwj (* pi 0.16));;上边标注
- (setq pt3 (polar pt2 (* pi 0.5) (* zg 9))
- pt6 (polar pt2 (* pi 0.5) (* zg 6))
- pt4 (polar pt3 (* pi 1) (* zg 5))
- pt5 (polar pt3 (* pi 0) (* zg 5))
- pt7 (polar pt6 (+ (* pi 1) (* zpd 0.018)) (* zg 5))
- pt8 (polar pt6 (+ (* pi 0) (* ypd 0.018)) (* zg 5))
- pt9 (polar pt7 (* pi 1.5) (* zg 0.5))
- pt10 (polar pt8 (* pi 1.5) (* zg 0.5))
- )
- )
- (if (>= fwj (* pi 0.84));;左边边标注
- (setq pt3 (polar pt2 (* pi 1) (* zg 9))
- pt6 (polar pt2 (* pi 1) (* zg 6))
- pt4 (polar pt3 (* pi 1.5) (* zg 5))
- pt5 (polar pt3 (* pi 0.5) (* zg 5))
- pt7 (polar pt6 (+ (* pi 1.5) (* zpd 0.018)) (* zg 5))
- pt8 (polar pt6 (+ (* pi 0.5) (* ypd 0.018)) (* zg 5))
- pt9 (polar pt7 (* pi 0) (* zg 0.5))
- pt10 (polar pt8 (* pi 0) (* zg 0.5))
- )
- )
- (if (>= fwj (* pi 1.34));;下边边标注
- (setq pt3 (polar pt2 (* pi 1.5) (* zg 9))
- pt6 (polar pt2 (* pi 1.5) (* zg 6))
- pt4 (polar pt3 (* pi 1) (* zg 5))
- pt5 (polar pt3 (* pi 0) (* zg 5))
- pt7 (polar pt6 (+ (* pi 1) (* zpd 0.018)) (* zg 5))
- pt8 (polar pt6 (+ (* pi 0) (* ypd 0.018)) (* zg 5))
- pt9 (polar pt7 (* pi 1.5) (* zg 0.5))
- pt10 (polar pt8 (* pi 1.5) (* zg 0.5))
- )
- )
- (if (or (>= fwj (* pi 1.75)) (< fwj (* pi 0.16))) ;;右边边标注
- (setq pt3 (polar pt2 (* pi 0) (* zg 9))
- pt6 (polar pt2 (* pi 0) (* zg 6))
- pt4 (polar pt3 (* pi 0.5) (* zg 5))
- pt5 (polar pt3 (* pi 1.5) (* zg 5))
- pt7 (polar pt6 (+ (* pi 0.5) (* zpd 0.018)) (* zg 5))
- pt8 (polar pt6 (+ (* pi 1.5) (* ypd 0.018)) (* zg 5))
- pt9 (polar pt7 (* pi 1) (* zg 0.5))
- pt10 (polar pt8 (* pi 1) (* zg 0.5))
- )
- )
- (command "pline" pt1 pt2 pt3 ""
- "line" pt4 pt5 ""
- "line" pt6 pt7 ""
- "line" pt6 pt8 ""
- )
- (setq
- zpd (rtos zpd 2 1)
- zjl (rtos zjl 2 3)
- ypd (rtos ypd 2 1)
- yjl (rtos yjl 2 3)
- )
- (cond ((= wbg 1) bg)
- ((= gmbg 1) (setq bg (strcat bg "(轨面)")))
- ((= dbbg 1) (setq bg (strcat bg "(巷道底板)")));判断标高类型
- )
- (command "text" "J" "BC" pt3 zg (angle pt4 pt5) bg
- "text" "J" "BL" pt7 zg (angle pt7 pt6) zpd
- "text" "J" "TL" pt9 zg (angle pt7 pt6) zjl
- "text" "J" "BR" pt8 zg (angle pt6 pt8) ypd
- "text" "J" "TR" pt10 zg (angle pt6 pt8) yjl)
- )
- )
- (princ)
- );;;endbzbgpd
- ;;;;;;接上面坐标表赋值函数
- (DEFUN r_bzbgpd() (setq bg (get_tile "bz_bg");;;坐标表赋值给各个变量函数点号
- wbg (atof (get_tile "bz_wbg"));;;无
- gmbg (atof (get_tile "bz_gmbg"));;;轨面
- dbbg (atof (get_tile "bz_dbbg"));;;巷道底板
- zpd (atof (get_tile "bz_zpd"));;;左坡度
- zjl (atof (get_tile "bz_zjl"));;;左距离
- ypd (atof (get_tile "bz_ypd"));;;右坡度
- yjl (atof (get_tile "bz_yjl"));;;右距离
- zg (abs (atof (get_tile "bz_zg")));;;文字高度
- )
- )
- ;;;结束赋值函数
希望增加图中选取按钮的lisp,最好在上面的lisp中加载。
|