Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

J'ai des blocs avec matricule et altitude, je voudrais pouvoir les exploser et récupérer l'altitude dans les propriétés des points en z.

 

Svp quelqu'un l'a déjà fait?

 

Merci

Posté(e)

Qd tu fais ca, il transforme ton bloc en un point autocad et deux textes (matricules et altitude). Si le bloc possede une altitude en z, il l'a garde pour le point.

 

C'est juste une explosion du bloc en gardant les textes qui sont deja noté dans les attributs.

Posté(e)

Re,

 

en fait y'a ce bloc de patrick 35:

 

 

(defun c:altz(/ att bas doc ent lsp pos pts sel nombl)

 

(defun nombl(bl)

(if (vlax-property-available-p bl 'effectivename)

(vla-get-effectivename bl)

(vla-get-name bl)

)

)

 

(vl-load-com)

(setq doc (vla-get-activedocument (vlax-get-acad-object)))

(vla-startundomark doc)

(and (setq ent (nentsel))

(setq att (vlax-ename->vla-object (car ent)))

(eq (vla-get-objectname att) "AcDbAttribute")

(setq bas (vla-objectidtoobject (vla-get-database att) (vla-get-ownerid att))

lst (vlax-invoke bas 'getattributes)

pos (- (length lst) (length (member att lst)))

)

(ssget "x" (list (cons 0 "insert") (cons 2 (strcat "`**," (nombl bas))) (cons 66 1)))

(progn

(vlax-for ent (setq sel (vla-get-activeselectionset doc))

(and (eq (nombl bas) (nombl ent))

(progn

(setq pts (vlax-get ent 'insertionpoint))

(vlax-put ent 'insertionpoint (list (car pts) (cadr pts) (atof (vla-get-textstring (nth pos (vlax-invoke ent 'getattributes))))))

)

)

)

(vla-delete sel)

)

)

(vla-endundomark doc)

(princ)

)

 

 

 

Merci

Posté(e)

Hello

 

Le ALTZ de P35 fonctionne parfaitement !

et le BLOC-ALT de Gilles aussi !

 

lecrabe

 


;; Par GC le 13/03/2008
;; Commande :  BLOC-ALT 
;; Mettre les blocs a l'altitude d'un attribut

(vl-load-com)

(defun c:bloc-alt (/ att elst blk tag ss n ins)

(if
(and
(setq att (car (nentsel "\nSelectionnez l'attribut \"altitude\": ")))
(setq elst (entget att))
(= (cdr (assoc 0 elst)) "ATTRIB")
(setq blk (cdr (assoc 330 elst)))
(setq name (cdr (assoc 2 (entget blk))))
(setq tag (cdr (assoc 2 elst)))
(setq ss (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget blk)))))
(setq n -1)
)
(progn
(while (setq blk (ssname ss (setq n (1+ n))))
(setq elst (entget blk)
ins (cdr (assoc 10 elst))
att (entnext blk)
)
(while (and att (= (cdr (assoc 0 (entget att))) "ATTRIB"))
(if (= (cdr (assoc 2 (entget att))) tag)
(entmod
(subst
(list 10
(car ins)
(cadr ins)
(atof (cdr (assoc 1 (entget att))))
)
(assoc 10 elst)
elst
)
)
)
(setq att (entnext att))
)
)
(vl-cmdf "_.attsync" "_n" name)
)
)
(princ)

)  

Autodesk Expert Elite Team

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité