1.尝试使用\u bedit \u bsave和\u bclose命令
2.
在此处找到
- (defun selobj ()
- (if (not (vl-catch-all-error-p (vl-catch-all-apply
- '(lambda () (vla-getEntity util 'obj nil "Select Block: ")))));not
- obj
- (progn (alert "Nothibg Selected. Try Again!") (selobj)))
- (if (/= (vla-get-ObjectName obj) "AcDbBlockReference")
- (alert "This Is Not A Block! Try Again!") obj)
- );selobj
- ;
- (defun C:ChInsPt ( / adoc util bks bk prp)
- (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)))
- (mapcar '(lambda (x y) (set x (vlax-get-property adoc y))) '(util bks) '("Utility" "Blocks"))
- (vla-endundomark adoc) (vla-startundomark adoc)
- (vla-highlight (selobj) t)
- (setq prp (mapcar '(lambda (x) (vlax-get-property obj x))
- '(InsertionPoint XScaleFactor YScaleFactor Rotation))
- ip1 (vla-getPoint util nil "Select New Insertion Point")
- rv (mapcar '(lambda (y) (apply y (mapcar '(lambda (x) (vlax-safearray->list (vlax-variant-value x)))
- (list (car prp) ip1)))) '(distance angle))
- bk (vla-item bks (vla-get-name obj)));setq
- (vla-put-origin bk (vlax-3d-point (polar (vlax-get bk 'Origin)
- (* (cadr rv) (/ (nth 1 prp) (nth 2 prp))) (- (car rv) (last prp)))))
- (vla-update obj)
- (vla-regen adoc acAllViewports)
- (vla-endundomark adoc)
- );end
|