回答你的问题,杰夫!
- (defun C:FixBlks ( / elst enam esel bnam flst )
- (vl-load-com)
- (setq esel (entsel "\nSelect block: ")
- enam (car esel)
- elst (entget enam)
- bnam (cdr (assoc 2 elst))
- flst nil
- )
- ((lambda ( func )
- (func bnam)
- )
- (lambda ( bnam / benam )
- (if (not (member bnam flst))
- (progn
- (setq flst (cons bnam flst)
- benam (tblobjname "block" bnam)
- )
- (while (setq benam (entnext benam))
- (print (entget benam))
- (if (= (cdr (assoc 0 (entget benam))) "INSERT")
- (func (cdr (assoc 2 (entget benam))))
- (vla-put-color (vlax-ename->vla-object benam) 256)
- )
- )
- )
- )
- )
- )
- (vl-cmdf "regen")
- (prin1)
- )
我还在试着决定我自己是否会这样使用它。。。如果FIXBLKS是从主例程调用的子函数,我当然会这么做。。。我还没有决定何时从命令行调用FIXBLKS。
不管怎样,希望能有所帮助。 |