动态对象跟着鼠标走
;本程序选择一个对象,让其跟着鼠标走
(defun c:KK (/txten wexit gr gr1 p)
(setq txten (assoc -1 (entget (car (entsel)))))
(setq wexit nil)
(while (not wexit)
(setq gr(grread t)
gr1 (car gr)
)
(cond ((= gr1 5)
(progn
(setq p (cadr gr))
(setq p (grreadosnap p)) ;
(entmod (list txten (cons 10 p)))
)
)
((equal gr '(2 6)) ;F3可设置捕捉值
(command "_+dsettings" 2)
)
(t (setq wexit t))
)
)
(princ)
)
;以下程序是围绕pt点画一个框
(defun grbox (pt / h p1 p2 p3 p4)
;;copy from eachy
(setq h(* (/ (getvar "viewsize") (cadr (getvar "screensize")))
(getvar "pickbox")
)
p1 (mapcar '- pt (list h h 0.))
p2 (mapcar '+ pt (list h (- h) 0.))
p3 (mapcar '+ pt (list h h 0.))
p4 (mapcar '+ pt (list (- h) h 0.))
)
(grvecs (list 1 p1 p2 1 p2 p3 1 p3 p4 1 p4 p1))
)
;什么捕捉也没有时,启用所有捕捉功能
(defun grreadosnap (p / osp osmode str x)
;;grreadosnap ---fsxm 2006.10.06
(setq osmode (getvar "osmode"))
(cond ((= osmode 0))
((< osmode 16000)
(setq str "")
(foreach x '((1 "_end,")
(2 "_mid,")
(4 "_cen,")
(8 "_nod,")
(16 "_qua,")
(32 "_int,")
(64 "_ins,")
(128 "_per,")
(256 "_tan,")
(512 "_nea,")
(2048 "_app,")
(4096 "_ext,")
(8192 "_par,")
)
(if (/= 0 (logand osmode (car x)))
(setq str (strcat str (cadr x)))
)
)
(setq osp (osnap p str))
(redraw)
(cond (osp
(setq p osp)
(grbox osp)
)
)
)
)
p
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 【KAIXIN】的微博 你最近特喜欢grread啊? 不是,好奇这个,这个还是比较慢
我喜欢通用函数【扩展函数】 试下高飞鸟那个动态的,不是这个命令一结束就game over
你做别的事时它也能一直跟着~ 本帖最后由 cbsz 于 2012-1-4 19:19 编辑
弄的太麻烦了吧?看看这个怎么样?
(DEFUN C:KK (/ PNT PICKCIRCLE GR FLAG)
(SETQ PNT (CADR (GRREAD T)))
(SETQ PICKCIRCLE (LIST '(0 . "CIRCLE") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") '(100 . "AcDbCircle")
(APPEND (LIST 10) PNT) '(40 . 1000)));END_SETQ
(ENTMAKE PICKCIRCLE)
(SETQ FLAG nil)
(WHILE (NOT FLAG)
(SETQ GR (GRREAD T))
(COND
((= (CAR GR) 5)
(ENTMOD (SUBST (APPEND (LIST 10) (CADR (GRREAD T))) (ASSOC 10 (ENTGET (ENTLAST))) (ENTGET (ENTLAST)))))
(T (PROGN (SETQ FLAG T) (ENTDEL (ENTLAST)))));END_COND
);END_WHILE
(PRINC)
)
楼上的,不好用啊?! 多谢开心楼主分享,收藏了 的确有很多问题,比如:选择的对象是mtext,mtext对象就会变没有了;选择的是直线的话,直线的一个顶点跟着走;选择多段线时也有问题等等
貌似挺有意思的,不过用处不大 貌似挺有意思的,不过用处不大
页:
[1]
2