32
1166
1146
初露锋芒
使用道具 举报
(defun C:TVR () (setq BNAM "8-WAY") (setq BLOCROT (ssget "x" (list (cons 0 "INSERT")(cons 2 BNAM)(cons 66 1)))) (if (/= BLOCROT nil) (progn (setq INDEX 0) (repeat (sslength BLOCROT) (setq ENAME (ssname BLOCROT INDEX)) (setq ELIST (entget ENAME)) (while (/= (cdr (assoc 0 ELIST)) "SEQEND") (setq ELIST (entget ENAME)) (if (= "TAP-VAL" (cdr (assoc 2 ELIST))) (progn (entmod (subst (cons 50 0.0) (assoc 50 ELIST) ELIST ) ) (entupd ENAME) ) ) (setq ENAME (entnext ENAME)) ) (setq INDEX (1+ INDEX)) ) ) (ALERT (strcat "\nThe block "BNAM" was not found.")) ) (princ))
20
344
325
(defun c:cr( / ss obj) (vl-load-com) (if (ssget "X" (list (cons 2 "IDI-SECU-CAMR"))) (progn (vlax-for obj (setq ss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))) (if (= (vla-get-HasAttributes obj) :vlax-true) (foreach attVar (vlax-invoke obj 'GetAttributes) (if (not (= (vla-get-TagString attVar) "NUM")) (vla-put-Rotation attVar 0))))) (vla-delete ss))) (princ) )
114
1万
中流砥柱
;; ============[ AttRot.lsp ]===============;;;; FUNCTION:;; Will move Multiple Attribute Tags;;;; SYNTAX: ATTROT;;;; AUTHOR:;; Copyright (c) 2009, Lee McDonnell;; (Contact Lee Mac, CADTutor.net);;;; VERSION:;; 1.0 ~ 02.07.2009;;;; =========================================(defun c:AttRot (/ *error* lklst ent Blk Obj bNme ss bPt ObjLst iPt gr dat cAng) (vl-load-com) (defun *error* (msg) (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object))) (if lklst (foreach l lklst (vla-put-lock (car l) (cdr l)))) (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")) (princ (strcat "\n<< Error: " msg " >>"))) (redraw) (princ)) (vlax-for l (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))) (setq lklst (cons (cons l (vla-get-lock l)) lklst)) (vla-put-lock l :vlax-false)) (while (progn (setq ent (car (nentsel "\nSelect Attribute: "))) (cond ((eq 'ENAME (type ent)) (if (not (eq "ATTRIB" (cdr (assoc 0 (entget ent))))) (princ "\n** Object is not an Attribute **") nil)) (t (princ "\n** Nothing Selected **"))))) (setq Blk (vla-ObjectIdtoObject (vla-get-ActiveDocument (vlax-get-acad-object)) (vla-get-OwnerId (setq Obj (vlax-ename->vla-object ent))))) (setq bNme (if (vlax-property-available-p Blk 'EffectiveName) (vla-get-EffectiveName Blk) (vla-get-Name Blk))) (setq ss (ssget "_X" (list (cons 0 "INSERT") (cons 2 bNme) (cons 66 1)))) (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object))) (setq ObjLst (vl-remove-if-not (function (lambda (x) (eq (vla-get-TagString x) (vla-get-TagString Obj)))) (apply 'append (mapcar 'asmi-GetAttributes (mapcar 'vlax-ename->vla-object (mapcar 'cadr (ssnamex ss))))))) (setq iPt (vlax-safearray->list (vlax-variant-value (vla-get-TextAlignmentPoint Obj)))) (while (progn (setq gr (grread t 15 0) dat (cadr gr)) (cond ((and (eq 5 (car gr)) (listp dat)) (redraw) (setq cAng (angle (vlax-safearray->list (vlax-variant-value (vla-get-TextAlignmentPoint Obj))) dat)) (mapcar (function (lambda (x)