马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
(一)同ACAD的表现形式,左侧拖动虚线、右侧拖动实线,不管WCS,UCS,矩形始终平行于屏幕。
点监视器XDRX_PointMonitor 应用(1)鼠标左右拖动实线、虚线矩形框
 - (defun c:tt (/ dynpt lastpnts pnts)
- (defun _callback (dynpt / )
- (setq pnts (xd::pnts:close (xd::geom:2pntrec p1 dynpt)))
- (if (xd::pnt:islefttopbyline dynpt p1 pt1)
- (setq mod 1)
- (setq mod 0)
- )
- (if lastpnt
- (xdrx_grdraw -2 mod lastpnts)
- )
- (if (/= lastmod mod)
- (redraw)
- )
- (xdrx_grdraw -2 mod pnts)
- (setq lastpnts pnts
- lastpnt dynpt
- lastmod mod
- )
- )
- (if (setq p1 (getpoint "\nFirst Point<Quit>:"))
- (progn
-
- (setq p1 (trans p1 1 0)
- pt1 (mapcar
- '+
- p1
- (list 0.0 1.0 0)
- )
- )
- (xdrx_pointmonitor "_callback")
- (xdrx_sysvar_push '("cursorsize" 2))
- (if (setq p2 (getpoint "\nSecond Point<Quit>:"))
- (progn
- )
- )
- (xdrx_pointmonitor)
- (xdrx_sysvar_pop)
- )
- )
- (princ)
- )
(二) 鼠标拖动矩形,矩形平行于UCS的坐标轴的实线
点监视器XDRX_PointMonitor 应用(1)鼠标左右拖动实线、虚线矩形框
 - (defun c:tt (/ dynpt lastpnts pnts)
- (defun _callback (dynpt / )
- (setq pnts (xd::pnts:close (xd::geom:2pntrec p1 (trans dynpt 0 1))))
- (if (xd::pnt:islefttopbyline dynpt (trans p1 1 0) (trans pt1 1 0))
- (setq mod 1)
- (setq mod 0)
- )
- (if lastpnt
- (xdrx_grdraw -2 mod (xd::pnts:ucs2wcs lastpnts))
- )
- (if (/= lastmod mod)
- (redraw)
- )
- (xdrx_grdraw -2 mod (xd::pnts:ucs2wcs pnts))
- (setq lastpnts pnts
- lastpnt dynpt
- lastmod mod
- )
- )
- (if (setq p1 (getpoint "\nFirst Point<Quit>:"))
- (progn
- (setq pt1 (mapcar
- '+
- p1
- (list 0. 1.0 0.)
- )
- )
- (xdrx_pointmonitor "_callback")
- (xdrx_sysvar_push '("cursorsize" 2))
- (if (setq p2 (getpoint "\nSecond Point<Quit>:"))
- (progn
- )
- )
- (xdrx_pointmonitor)
- (xdrx_sysvar_pop)
- )
- )
- (princ)
- )
|