Aller au contenu

affichage attributs


Messages recommandés

Posté(e)

bonjour

j'ai un fichier de points avec des attributs (3)(le premier la valeur que je souhaite afficher, le deuxième l'angle du texte à afficher, et le troisième qui e sert à rien)

je souhaiterait afficher uniquement 1 des attributs avec un angle définie dans un des attribus .cela est il réalisable?

merci de vos réponses

anthony

Posté(e)

en fait j'ai un fichier dxf avec des blocs (points) avec 3 attributs

attibut 1 : un nom

attribut 2 :un angle

attribut 3 : une valeur sans importance

je sais afficher les attributs mais le problème c'est qu'ils s'affichent tous les 3 au meme endroit, ils se supperposent donc se n'est pas lisble

je souhaiterait afficher uniquement l'attribut 1 avec un de rotation contenu dans l'attribut 2

 

voilà j'espère que j'ai été plus clair

 

Anthony

Posté(e)

C'est plus clair.

 

En cliquant sur ton bloc, il y a des petits carrés de couleur qui s'affichent à l'endroit des attributs.

Tu peux les déplacer en cliquant sur le carré.

 

Sinon il y a l'autre solution de modifier l'emplacement des attributs dans l'éditeur de bloc.

 

Tiens-moi au courant si tu as réussi.

Excalibur

Posté(e)

apres vérification quand je clique sur mon bloc je n'ai pas de petit carré qui s'affichent

et je souhaiterais que la valeur d'un attribut renseigne le champ rotation du bloc

 

 

merci

ps je ne sais pas comment joindre un fichier avec mon message

 

Anthony

Posté(e)

Je remarque que ton dessin contient plus blocs avec des attributs.

 

Lorsque je rentre dans l'éditeur de bloc, les 3 attributs du bloc sont l'un sur l'autre et ce quelque soit le bloc.

 

J'ai modifié la position des attributs dans un bloc.

 

[surligneur] http://cjoint.com/?mboYZO6fhA [/surligneur]

 

Pour remédier à ton problème, il faudrait que tu modifies tous les blocs (environ 700 blocs tu n'as pas fini) ou qu'il n'y ait plus un bloc dans ton dessin.

 

Excalibur

Posté(e)

Salut Anthony

 

Essayes de coller directement ce qui suit en ligne de commande (je l'ai fait sous une 2009, j'espère que cela fonctionnera pour une 2004, testé avec ton fichier exemple)

 

((lambda ( / js ent obj l_att alpha)
 (vl-load-com)
 (setq js (ssget "_X" '((0 . "INSERT") (66 . 1))) n -1)
 (cond
   (js
     (repeat (sslength js)
       (setq ent (ssname js (setq n (1+ n))))
       (setq obj (vlax-ename->vla-object ent))
       (setq l_att (vlax-invoke obj 'Getattributes))
       (foreach item l_att
         (if (eq (vlax-get item 'tagstring) "NUMOBJ")
           (vlax-put item 'Invisible -1)
         )
         (if (eq (vlax-get item 'tagstring) "ANGLEATTRI")
           (progn
             (setq alpha (/ (* pi (atof (vlax-get item 'textstring))) 180.0))
             (vlax-put item 'Invisible -1)
           )
         )
         (if (eq (vlax-get item 'tagstring) "NOM")
           (progn
             (vlax-put item 'rotation alpha)
             (vlax-put item 'Invisible 0)
           )
         )
       )
     )
   )
 )
 (setvar "ATTMODE" 1)
 (prin1)
))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é