Aller au contenu

rotation d'attribut d'un bloc


fiesta13310

Messages recommandés

Bonjour,

 

J'ai un bloc dans lequel il y a un attribut.si je fais la rotation du bloc, l'attribut tourne aussi . Donc je rentre dans les propriétés de mon bloc, je sélectionne l'attribut et je lui impose une rotation à 0 de façon à ce qu'il soit toujours dans le sens de la lecture. Mais si je vais dans l'éditeur de bloc pour rajouter ou enlever des trucs, et que j'enregistre mon bloc, tous les attributs reviennent dans leur rotation d'origine. Du coup, je suis obligé de remettre l'attribut dans le sens de la lecture bloc par bloc.

 

n'y a t-il pas une variable ou un truc à changer pour plus avoir ce problème?

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

(defun c:ang0(/ nombl blo doc nom sel)

 (defun nombl(bl)
   (if (vlax-property-available-p bl 'effectivename)
     (vla-get-effectivename bl)
     (vla-get-name bl)
   )
 )

 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (and	(setq blo (entsel))
(setq nom (nombl (vlax-ename->vla-object (car blo))))
(ssget "x" (list (cons 0 "insert") (cons 66 1) (cons 2 (strcat "`**," nom))))
   (progn
     (vlax-for blo (setq sel (vla-get-activeselectionset doc))
(and (eq (nombl blo) nom)
  (mapcar '(lambda(x)(vla-put-rotation x 0)) (vlax-invoke blo 'getattributes))
)
     )
     (vla-delete sel)
   )
 )
 (vla-endundomark doc)
 (princ)
)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

C'est un très bon LISP, mais encore une fois, il faut que je sélectionne bloc par bloc, du coup je gagne pas plus de temps... ce LISP est trop compliqué pour moi pour que je le modifie, on pourrait le modifier pour que je puisse sélectionner plusieurs bloc en même temps? ou simplement au lieu qu'il prenne que le bloc visé, il pourrait prendre tous les blocs qui ont le même nom...c'est possible?

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Fiesta,

 

Pour ajouter un ou des attributs dans un bloc avec existant, sélectionne le bloc, fais un clic droite et dans le menu contextuel, tu as sur Editeur de bloc.

Tu ajoutes ensuite ton ou tes étiquettes d'attributs, tu fermes l'éditeur de bloc en enregistrant les modifications apportéesx sur le bloc puis dans la ligne de commande, tu tapes BATTMAN (Block ATTribute MANager), rien à voir avec Bruce Wayne ;), pour synchroniser les attributs de ton bloc.

Ton bloc se mettra à jour. Toutefois, les attributs de ton bloc, vont se remettre dans leurs position d'origine, il va donc falloir leurs remettre un petit coup de ang0.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

rien à voir avec Bruce Wayne

Tu as juste un T de trop ;)

 

Ton bloc se mettra à jour. Toutefois, les attributs de ton bloc, vont se remettre dans leurs position d'origine

Voir même la valeur des attributs. Pour y remedier, tu as SYN

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

 

Tu as juste un T de trop ;)

 

 

Voir même la valeur des attributs. Pour y remedier, tu as SYN

 

@+

 

J'avais un lisp du genre de celui-ci, il y a quelques années, je crois même que c'est toi qui l'avait fais, peut-être même que c'était celui-ci, mais je ne sais plus. J'en avais fais la demande sur Cadxp entre 2006 et 2007, il me semble. Bref, je l'ai paumé avec le temps.

Celui-là, je le conserve bien au chaud ;)

 

 

 

 

ok, donc j'ai réussi à rajouter un attribut, mais par contre maintenant tout les autres attributs se sont un peu éparpillé à droite à gauche... il ne sont pas restés là où je les avais placé... pk?

 

Justement, as-tu utilisé le lisp SYN, que nous a mis Patrick_35, à disposition, pour éviter ce genre de galère?

Ce lisp sert à synchroniser les attributs de manière à conserver leurs positions si ceux-ci ont été déplacés manuellement et à conserver leur angle.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

Bon ben ça n'a pas marché...

 

Vous trouverez ci-joint le fichier DWG pour voir le résultat de mon expérience... :)

Ah oui, c'est des attributs sur des blocs dynamiques.

Le lisp ne fonctionne pas sur ce type de bloc actuellement

 

Je regarde ça dès que j'ai un moment.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é