本帖最后由 Andyhon 于 2011-7-11 14:19 编辑

- (defun InstBlk_move (obj / code5 p3)
- (grread (grread T))
- (while (and
- (setq take (grread 't))
- (/= 3 (car take))
- (if (member take '((2 13) (2 32) (6 0) (11 0)))
- (progn
- (vla-delete obj)
- (setq go nil)
- )
- 'T
- ) )
- (setq code5 (car take))
- (setq p3 (cadr take))
- (if (and p3 (= 5 code5))
- (vla-put-insertionpoint obj (vlax-3d-point p3))
- ) )
- )
-
- (defun chakuaiming_BlkN (kw bit)
- (cond
- ((= kw "1") (setq blk "全"))
- ((= kw "2") (setq blk "強"))
- ((= kw "3") (setq blk "弱"))
- ((= kw "4") (setq blk "微"))
- )
- (if (zerop bit)
- blk
- (and
- (princ "\nNext Block ==> ") (princ blk)
- (princ "\n to Go?")
- (if (= (car (Grread)) 25)
- (setq blk nil)
- 'T
- ) ) )
- )
-
- (defun c:chakuaiming ()
- (initget "1 2 3 4")
- (setq chakuaiming-n (getkword "\n 选择<1.全/2.强/3.弱/4.微> : ")
- bit -1
- )
-
- (while (chakuaiming_BlkN chakuaiming-n bit)
- (command "Insert" blk pause 1 1 0)
- (princ "\n More ....")
- (while (and (setq pt (grread T)) (/= (car pt) 5)))
- (setq pt (cadr pt))
- (command "Insert" blk pt "" "" "")
- (setq ee (entlast)
- obj (vlax-ename->vla-object ee)
- Go T
- )
- (InstBlk_move obj)
- (while (and Go (setq obj (vla-copy obj)))
- (InstBlk_move obj)
- )
- (princ "\n>> Next ....")
- (setq bit 1)
- (setq chakuaiming-n (itoa (rem (1+ (atoi chakuaiming-n)))))
- )
- (princ)
- )
P.s. 未測 ...
|