马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
显示模拟进程条的函数 同时附返回屏幕四个角坐标的函数
考虑UCS为VIEW的状态

- ;;———————————————————————————————————
- ;;processbar-jw.lsp
- ;; Copyright (C) 2001 by ZJW ,WuXi Municipal Enginerring Design Institue. All Rights Reserved.
- ;;
- ;;命令(函数)名称: (processbar-jw doing total FIRST)
- ;;返 回 值:
- ;;使用的公用变量: 无
- ;;调用的其他函数: 无
- ;;功 能: 显示进程条
- ;;适用条件和范围: 第一次使用时FIRST为T 其他时刻为NIL
- ;;使用方法和技巧: 无
- ;;功能扩展的方向:
- ;;程序漏洞 (BUG): 暂无
- ;;程序完成地日期: 9:35 01-12-6
- ;;开 发 者: zjw
- ;;修 改 日 志: 无
- ;;附 加 说 明: 无
- ;;———————————————————————————————————
- ;{start
- ;;内部变量简要说明:
- ;;
- (defun processbar-jw ( doing total first / p1 p2 p3 p4 pa pb )
- (if first
- (progn
- (setq p1 (nth 3 (wincorner-jw)))
- (setq p2 (nth 3 (wincorner2-jw 1 0.495)))
- (setq p3 (nth 3 (wincorner2-jw 0.93 0.495)))
- (setq p4 (nth 3 (wincorner2-jw 0.93 1)))
- (grdraw p1 p2 1)
- (grdraw p2 p3 1)
- (grdraw p3 p4 1)
- (grdraw p4 p1 1)
- )
- )
- (setq total (float total))
- (setq doing (float doing))
- (setq pa (nth 3 (wincorner2-jw 0.935 (- 0.998 (* (/ doing total) 0.5)) )))
- (setq pb (nth 3 (wincorner2-jw 0.995 (- 0.998 (* (/ doing total) 0.5)) )))
- ;(grdraw pa pb 2 )
- ;(grdraw pa pb -1 );对于统计量较大的用这种,可以重复调用,每次出现的效果不一样
- (grdraw pa pb 5)
- (princ)
- )
- ;
- ;end}
- ;;——————————————————END————————————————————

- ;;———————————————————————————————————
- ;;wincorner-jw.lsp
- ;; Copyright (C) 2001 by ZJW ,WuXi Municipal Enginerring Design Institue. All Rights Reserved.
- ;;
- ;;命令(函数)名称: (wincorner-jw) (wincorner2-jw perx pery)
- ;;参 数 说 明: perx pery 为返回点区域占屏幕的百分率
- ;;返 回 值: 表,表中有四个坐标点为当前窗口的左上、右上、右下、左下的坐标
- ;;使用的公用变量: 无
- ;;调用的其他函数: (ucsorview)
- ;;功 能:
- ;;适用条件和范围:
- ;;使用方法和技巧:
- ;;功能扩展的方向:
- ;;程序漏洞 (BUG): 暂无
- ;;程序完成地日期: 12:48 01-12-10
- ;;开 发 者: zjw
- ;;修 改 日 志: 无
- ;;附 加 说 明: 无
- ;;———————————————————————————————————
- ;{start
- ;;内部变量简要说明:
- ;;
- (defun wincorner-jw( / p h w p1 p2 p3 p4 s num ename alpha y x)
- (setq p (getvar "screensize"))
- (setq h (/ (getvar "viewsize") 2))
- (setq w (* h (/ (nth 0 p) (nth 1 p) )))
- (setq p (getvar "viewctr"))
- (setq alpha (- 0 (ucsorview))) ;;求坐标偏移角
- ;
- (setq x (+ (* w (cos alpha)) ( * h (sin alpha))) )
- (setq y (- (* h (cos alpha)) ( * w (sin alpha))))
- (setq p1 (list (- (nth 0 p) x) (+ (nth 1 p) y)))
- (setq p3 (list (+ (nth 0 p) x) (- (nth 1 p) y)))
- ;;
- (setq x (+ (* (- 0 w) (cos alpha)) ( * h (sin alpha))) )
- (setq y (- (* h (cos alpha)) ( * (- 0 w) (sin alpha))))
- (setq p2 (list (- (nth 0 p) x) (+ (nth 1 p) y)))
- (setq p4 (list (+ (nth 0 p) x) (- (nth 1 p) y)))
- ;;
- (list p1 p2 p3 p4)
- )
- ;
- ;end}
- ;;———————————————————————————————————
- ;{start
- ;;内部变量简要说明:
- ;;
- (defun wincorner2-jw( perx pery / p h w p1 p2 p3 p4 alpha y x)
- (setq p (getvar "screensize"))
- (setq h (/ (getvar "viewsize") 2))
- (setq w (* h (/ (nth 0 p) (nth 1 p) )))
- (setq h (* pery h))
- (setq w (* perx w))
- (setq p (getvar "viewctr"))
- (setq alpha (- 0 (ucsorview))) ;;求坐标偏移角
- ;
- (setq x (+ (* w (cos alpha)) ( * h (sin alpha))) )
- (setq y (- (* h (cos alpha)) ( * w (sin alpha))))
- (setq p1 (list (- (nth 0 p) x) (+ (nth 1 p) y)))
- (setq p3 (list (+ (nth 0 p) x) (- (nth 1 p) y)))
- ;;
- (setq x (+ (* (- 0 w) (cos alpha)) ( * h (sin alpha))) )
- (setq y (- (* h (cos alpha)) ( * (- 0 w) (sin alpha))))
- (setq p2 (list (- (nth 0 p) x) (+ (nth 1 p) y)))
- (setq p4 (list (+ (nth 0 p) x) (- (nth 1 p) y)))
- ;(grdraw p1 p2 1)
- ;(grdraw p2 p3 2)
- ;(grdraw p3 p4 3)
- ;(grdraw p4 p1 4)
- ;;
- (list p1 p2 p3 p4)
- )
- ;
- ;end}
- ;;——————————————————END————————————————————
- (defun ucsorview ( / lpoint2 tw)
- (if (= 1 (getvar "worlducs")) (getvar "viewtwist") 0 )
- )
|