Aller au contenu

[Résolu] Modifier attribut du bloc


Messages recommandés

Posté(e)

Bonjour,

 

J'ai un relever et les valeurs sont trop précise et encombre mon dessin. Donc j'aimerai pouvoir arondire la valeur au 10eme après la virgule, la couleur et la taille.

 

Les points de coordonnées, son un bloc, avec comme donner (PointsNumbers, Description et Elevations) les 3 avec des valeurs.

 

Merci de votre aide

 

[Edité le 22/1/2010 par guess0169]

Posté(e)

Clic sur le bloc et tape ed (edition) puis la tu peux modif option du texte ou alors l'echelle des blocs sinon tes bon pour tout reprendre un par un ...

 

Posté(e)

Merci lili mais déjà essayer <acronym class=dict title=

 

J'utilise peut être pas les bon terme c'est pour sa que vous ne comprenez peut être pas tout voici quelque image qui peut vous éclaircir en espérant que moi aussi <acronym class=dict title=

 

http://img189.imageshack.us/img189/5283/autocadl.jpg

http://img684.imageshack.us/img684/358/autocad2.jpg

http://img264.imageshack.us/img264/9779/autocad3.jpg

Posté(e)

Oki pour le style de texte,

 

Mais moi la couleur ne change pas, et les valeur non plus ...

quand je quitte l'éditeur de bloc seul le style de texte à changer.

 

Si tu veut je peut te passer un point que tu puisse voir?

 

[Edité le 21/1/2010 par guess0169]

Posté(e)

Je ne vois pas non plus a part un changement d'echelle des blocs pas trop petit pour etre lisible ni trop grand pour encombrer ton dessin cela depend de ce que tu veux vraiment ?

 

Posté(e)

Salut,

 

Un petit LISP qui arrondit tous les attributs ELEVATION au dixième :

(defun c:toto (/ ss blk elst att txt)
 (if (and (setq ss (ssget "_X" '((0 . "INSERT") (2 . "POINT"))))
          (setq n -1)
     )
   (while (setq blk (ssname ss (setq n (1+ n))))
     (setq att (entnext blk))
     (while
       (and
         (setq elst (entget att))
         (= (cdr (assoc 0 elst)) "ATTRIB")
         (/= (cdr (assoc 2 elst)) "ELEVATION")
       )
        (setq att (entnext att))
     )
     (setq txt (cdr (assoc 1 elst)))
     (entmod (subst (cons 1 (rtos (atof txt) 2 1)) (assoc 1 elst) elst))
     (entupd blk)
   )
 )
 (princ)
)

 

Ces blocs sont effectivement très curieux, j'avais d'abord écrit un truc en Visual LISP (qui fait la même chose que celui donné ci dessus) et très curieusement, toutes les valeurs de l'attribut ELEVATION passent à 1000 :casstet: :P

 

(defun c:toto (/ acdoc ss)
 (vl-load-com)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)))
 (if (ssget "_X" '((0 . "INSERT") (2 . "POINT")))
   (progn
     (vla-StartUndoMark acdoc)
     (vlax-for blk (setq ss (vla-get-ActiveselectionSet acdoc))
       (foreach att (vlax-invoke blk 'GetAttributes)
         (if (= (vla-get-TagString att) "ELEVATION")
           (vla-put-TagString att (rtos (atof (vla-get-TextString att)) 2 2))
         )
       )
     )
     (vl-cmdf "_attsync" "_n" "POINT" "_y")
     (vla-delete ss)
     (vla-EndUndoMark acdoc)
   )
 )
 (princ)
)

 

Pour le reste des modifs (hauteur de texte, insertion des attributs, calques, etc) le plus simple est de modifier la définition du bloc dans l'éditeur de bloc

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Re,

 

Je viens de tester les deux !

 

et très curieusement, toutes les valeurs de l'attribut ELEVATION passent à 1000

 

Très très étonnant en effet ?!!

 

Un début d'idée Gilles de ce phénomène ?

 

En tous cas le pb de guess0169 semble solutionné, :P

 

Bizarre tout de même d'être obligé de passer par un prog !!!

 

Je me demande bien quel logiciel peut créer de tels blocs,...

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)
Je me demande bien quel logiciel peut créer de tels blocs,...

 

J'ai déjà vu exactement cela sur un plan allemand. Je précise que ca peut tout à fait être AutoCAD programmé par quelqu'un. Les blocs constitué uniquement (ou presque) d'attributs, ça existe. On peut aussi s'interroger sur l'ancienneté de ce plan.

 

On peut aussi imaginer une macro (car il y a beaucoup de ENTER à simuler) répétitive avec -ATTEDIT pour changer des valeurs d'un clic direct sur l'attribut et d'une saisie. Ca évite les boites (dont tout le monde ne connait pas tous les raccourcis) et on ne perd pas de temps.

 

*^C^C-attedit;o;;;;\;v;r;\;

 

Hop hop hop

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Bonjour,

 

Donc la machine qui crée ses fameux points, est le matériel de topo par GPS de chez Trimble, qui génère un fichier dxf.

 

Désolé d'être aussi movais :p mais je n'arrive pas à modifier la taille n'y la couleur (j'y arrive dans le bloc, mais dès que je quitte l'éditeur de bloc rien à changer :s )

 

Et n'arrive pas à faire marcher le LISP '(

 

Si ous pouvez me détaillez la démarche.Merci

 

 

Si non je crois que c'est possible, car j'ai des plans de géomètres, qui à l'aire d'avoir les même point mais crée par Laica, il arrive à modifier couleur taille et valeur .... Donc si j'arrive à savoir je vous tien au courant.

Posté(e)

Salut,

 

Pour la mise à jour des changements faits dans l'éditeur de bloc sur les attributs, il faut synchroniser les attributs une fois retourné dans le dessin.

commande ATTSYNC, valider , sélectionner un bloc, valider "Oui".

 

Concernant la couleur des attributs, sans vouloir t'imposer une méthode de travail, il est généralement préférable de jouer sur la couleur des calques plutôt que de forcer la couleur de entités. Chaque attribut est dans un calque différent, il suffit de modifier la couleur du calque dans le Gestionnaire des calques.

 

Pour charger et lancer un LISP, vois ce sujet.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Désolé je vais apparaitre boulet, mais je n'y arrive pas si tu peut faire un tuto photo sa sera cool. Merci

 

Tu n'arrives pas à quoi faire ?

 

J'ai peur de ne pas avoir le temps (ni l'envie) de faire un "tuto photo" pour le chargement d'un LISP ou la synchronisation d'attributs...

Peut-être besoin d'une formation ?

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Une fois le LISP chargé (avec APPLOAD ou en le collant à la ligne commande) il faut lancer la commande qu'il définit : TOTO

 

Le nom de la commande est ce qui est écrit après c: dans (defun c:[surligneur]toto[/surligneur] () ...)

C'est le chapite 3 du tuto

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Si j'ai bien compris, après d'avoir charger la commande, dans ma ligne de commande je tape: TOTO et entrer.

 

Car j'ai fait un copier coller tout bête de ton code dans le bloc note.

 

Et moi rien ne ce passe après.

 

 

Mais c'est peut être sa que j'ai pas compris

l'éditeur de bloc sur les attributs

moi je suis juste dans l'éditeur de bloc ...

Posté(e)

Oui c'était bien sa mdr falais faire "éditer le bloc dans le dessin même" :D

 

et pour 2 valeurs après la virgule?? :p

 

[Edité le 22/1/2010 par guess0169]

 

[Edité le 22/1/2010 par guess0169]

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é