Aller au contenu

Renommer un block anonyme (ex : *A40)


Syl2007

Messages recommandés

Bonjour à tous,

1) Juste pour partager ma recherche du jour.

Cf. objet je cherchais une commande pour renommer un bloc anonyme et je suis étonné de n'avoir trouvé qu'une seule solution ici :

https://autolispprograms.wordpress.com/rename-a-block/

Commande renb

Si quelqu'un connait d'autres possibilités, merci d'avance, ça m’intéresse.

J'ai croisé une vieille commande nommé UnAnon.lsp qui fonctionne mais qui ne renomme qu'un seul bloc sélectionné du même nom. Pas ce que je cherche.

 

2) J'ai vu que la commande Visualiser définitions de Covadis (Cov.Edition/Blocs/) permet de lister et visionner tous les blocs (anonymes ou pas).

Certains blocs anonymes listés ainsi ne sont pas présents dans le dwg, je ne comprends pas où Covadis les trouve. Il me manque vraisemblablement des billes pour bien comprendre le fonctionnement de ces blocs anonymes. Si quelqu'un sait, je suis preneur aussi.

J'en profite pour vous remercier de vos échanges, sources d'améliorations personnelles constantes, c'est un régal.

Très bonne continuation à tous.

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Je ne comprends pas bien la demande...Tu peux utiliser la commande RENOMMER pour renommer un bloc ou autre mais tu ne pourras pas renommer les objets commençant par un astérisque "*" car comme tu le dis ci-dessus, il s'agit d'une notation propre à AutoCAD. Par exemple, le "*U###*" signifie que ton bloc est dynamique, et donc chaque références de bloc dynamiques portera cette dénomination pour faire la différence entre les différentes valeurs des propriétés dynamiques. Autrement dit, on ne peut pas renommer une référence de bloc anonyme...

Donc serait-il possible de donner plus d'informations sur la démarche ?

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Luna,

Merci pour ton retour.

Cf. objet et 1er message de ce sujet : je souhaiterais renommer et éditer un bloc anonyme.

Dans mon cas, ce n'est pas un bloc dynamique, c'est un bloc standard, le bloc d'un massif d'éclairage public précisément.

Mais son nom est : *U58

Sauf erreur, c'est un bloc anonyme.

Bisous,

Sylvain

PS : comment peut-on changer l'interligne des messages ?

Lien vers le commentaire
Partager sur d’autres sites

bONJOUR  @Syl2007,

 

Est-il possible d'avoir le bloc en question ?

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

Coucou,

Normalement, le *U... devrait indiquer qu'il s'agit d'une référence de bloc dynamique... Donc je trouve étrange que cette notation ait pu être acceptée par AutoCAD pour la dénomination d'une définition de bloc...!
Les blocs créés via CTRL+C / CTRL+MAJ+V sont nommés A$C... par exemple

Donc es-tu sûr que l'on parle bien du nom de la définition de bloc et non de la référence de bloc ? Car s'il s'agit de la définition de bloc, le nom est étrange et s'il s'agit de la référence de bloc, alors on parle de bloc dynamique ! Dans le second cas, il est impossible de renommer la référence de bloc ! Cependant si l'on utilise la palette des propriétés, le nom de la référence de bloc affiché correspond bien au nom de la définition et non de la référence anonyme. Donc ma question serait : où précisément vois-tu ces blocs anonymes ? Dans quelle liste apparaissent-ils ?

PS: Pour l'espace inter-lignes, tu peux avoir un grand espace en créant un nouveau paragraphe (= ENTER) ou bien tu peux avoir un simple retour à la ligne (= MAJ+ENTER).

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Luna,

1) "Référence de bloc" correspond à la nature de l'élément graphique (comme une ligne, une polyligne, etc ...).
Référence de bloc = bloc. On dit souvent juste "bloc" . Chaque bloc est nommé.
(On peut copier un bloc. Chaque copie du même bloc a le même nom. C'est tout l'intérêt d'un bloc.)
Pour info : aucune utilité de CTRL+C / CTRL+MAJ+V un bloc, puisque ça créer un bloc dans un bloc, sauf erreur.

2) Qu'entends-tu par "définition de bloc" ? Pour moi, c'est de quoi il est constitué.
Pour un bloc anonyme, je ne sais pas modifier sa définition, ça ne marche pas.
Il n'est pas reconnu dans les commandes sauf dans la commande "Visualiser définitions" de Covadis (Cov.Edition/Blocs/) comme dit plus haut.

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

En regardant ton dessin, c'est bien de la définition de bloc dont on parle... et elle porte un nom qu'AutoCAD n'accepte pas habituellement ! Donc je suppose que ces blocs anonymes ont été créés via un autre software et donc à l'importation, ces objets ont obtenu une dénomination empêchant AutoCAD d'intéragir correctement avec...

J'ai donc cherché comment renommer une définition de bloc, et je suis tombée sur ce programme proposé par Ronjonp (post #5) : https://www.cadtutor.net/forum/topic/64087-rename-block-with-vlisp-questions/?do=findComment&comment=528050

Tu fais un copier-coller du programme (tout ce qui se trouve dans l'encadré bleu !) dans ta ligne de commande AutoCAD puis tu lances la commande FOO. Il faut ensuite simplement suivre les instructions, c'est-à-dire sélectionner un bloc dont tu désires changer le nom, puis entrer le nouveau nom désiré en ligne de commande. Cela va modifier l'intégralité des références de bloc associés à cette définition (dans ton .dwg d'exemple, cela va modifier le nom de tous les blocs visibles car il n'y a qu'une seule définition de bloc anonyme "*U1"). Si jamais tu as plusieurs définitions de blocs anonymes, il te suffit de cliquer à nouveau sur un bloc et ainsi de suite (le programme boucle, donc si tu n'as plus de définitions à renommer il te suffit d'appuyer sur ENTER).

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Merci Luna,

Ce lisp de Ronjonp renomme en effet le bloc anonyme mais il n'est malheureusement tjrs pas éditable .
Sauf erreur, on peut changer son nom avec ce lisp mais il a tjrs les mêmes caractéristiques qu'un bloc anonyme : non éditable, non sélectionnable dans les commandes, etc ... 😕

Pour ce qui concerne le vocabulaire, ça fait partie de mes préférés :
Mal nommer les choses, disait Albert Camus, c'est ajouter du malheur au monde.
Je ne comprends pas la distinction que tu fais entre référence de bloc et définition de bloc. Et le rapport avec le nom du bloc. Lequel a un nom ? Ont-il le même ?

Bisous. Bonne journée les Loulous.
Sylvain
 

Lien vers le commentaire
Partager sur d’autres sites

hello Sylvain

je viens de renommer ton bloc *U1  en toto

il est ensuite transformable, éditable, déplacable ( meme en *U1 )

sinon un lisp pour renommer un bloc
 

;;; Renomme le bloc sélectionné avant ou après le lancement de la commande

(defun c:renommer_bloc (/ acdoc ss ref name new)
  (vl-load-com)
  (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
  (if (and (= 1 (getvar "pickfirst")) (setq ss (ssget "_I" '((0 . "INSERT")))) (eq 1 (sslength ss)))
    (sssetfirst nil nil)
    (progn (sssetfirst nil nil) (while (not (setq ss (ssget "_:S:E" '((0 . "INSERT")))))))
  )
  (setq ref (vlax-ename->vla-object (ssname ss 0)))
  (if (vlax-property-available-p ref 'effectivename)
    (setq name (vla-get-effectivename ref))
    (setq name (vla-get-name ref))
  )
  (setq bloc (vla-item (vla-get-blocks acdoc) name))
  (setq boite "MODIFICATION DU NOM DE BLOC")
  (setq message "NOUVEAU NOM")
  (inputbox2 boite message name)
  (vla-put-name bloc ret)
  (princ)
)


 

;; InputBox (gile)
;; Ouvre une boite de dialogue pour récupérer une valeur
;; sous forme de chaine de caractère
;;
;; Arguments
;; tous les arguments sont de chaines de caractère (ou "")
;; box : titre de la boite de dialogue
;; msg : message d'invite
;; val : valeur par défaut
;;
;; Retour
;; une chaine ("" si annulation)
;;
;; Modifié par Patrick_35 pour inclure le caractère \n
;; comme retour chariot

(defun inputbox2 (box msg val / subr temp file dcl_id
                                               ;;ret
) ;; Retour chariot automatique à 50 caractères
  (defun subr (str / pos)
    (cond ((setq pos (vl-string-search "\n" str))
           (strcat ":text_part{label=\"" (substr str 1 pos) "\";}" (subr (substr str (+ 2 pos))))
          )
          ((and (< 80 (strlen str)) (setq pos (vl-string-position 32 (substr str 1 80) nil t)))
           (strcat ":text_part{label=\"" (substr str 1 pos) "\";}" (subr (substr str (+ 2 pos))))
          )
          (t (strcat ":text_part{label=\"" str "\";}"))
    )
  )
  ;; Créer un fichier DCL temporaire
  (setq temp (vl-filename-mktemp "Tmp.dcl")
        file (open temp "w")
        ret  ""
  )
  ;; Ecrire le fichier
  (write-line (strcat "InputBox:dialog{key=\"box\";initial_focus=\"val\";spacer;:paragraph{"
                      (subr msg)
                      "}spacer;:edit_box{key=\"val\";edit_width=120;allow_accept=true;}
    spacer;ok_cancel;}"
              )
              file
  )
  (close file)
  ;; Ouvrir la boite de dialogue
  (setq dcl_id (load_dialog temp))
  (if (not (new_dialog "InputBox" dcl_id))
    (exit)
  )
  (set_tile "box" box)
  (set_tile "val" val)
  (action_tile "accept" "(setq ret (get_tile \"val\")) (done_dialog)")
  (start_dialog)
  (unload_dialog dcl_id)
  ;;Supprimer le fichier
  (vl-file-delete temp)
  ret
)

a+

Phil

  • Like 1

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Le 08/06/2022 à 10:50, Syl2007 a dit :

Merci Luna,

Ce lisp de Ronjonp renomme en effet le bloc anonyme mais il n'est malheureusement tjrs pas éditable .
Sauf erreur, on peut changer son nom avec ce lisp mais il a tjrs les mêmes caractéristiques qu'un bloc anonyme : non éditable, non sélectionnable dans les commandes, etc ... 😕

Pour ce qui concerne le vocabulaire, ça fait partie de mes préférés :
Mal nommer les choses, disait Albert Camus, c'est ajouter du malheur au monde.
Je ne comprends pas la distinction que tu fais entre référence de bloc et définition de bloc. Et le rapport avec le nom du bloc. Lequel a un nom ? Ont-il le même ?

Bisous. Bonne journée les Loulous.
Sylvain
 

Avec le lisp RENB dont tu as donn2 le lien plus haut, une fois que le bloc est renommé, celui-ci est éditable.

  • Like 1

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

Bonjour,

Les blocs anonymes, *... peuvent provenir d'ancien dessin AutoCAD ! Avant je ne sais plus la version 11 peut-être les cotes, les hachures étaient en fait des BLOCS notés *... et on parlais bien de blocs anonymes.

Et effectivement, d'autres logiciels de dessins peuvent créer des blocs de ce type !

On peut éventuellement le/les décomposer !

De base, on ne sait pas les renommer avec la commande classique RENOMMER  !!!

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Message pas fini, parti trop vite ... CTRL + Enter au lieu de MAJ + Enter ...

Phil, donc merci ça fonctionne nickel, je me doutais bien que la communauté avait une autre solution que celle trouvée à l'origine en vlx et non en lsp.
Très bonne suite, journée et été 2022 🌞 à tous.

Sylvain

Lien vers le commentaire
Partager sur d’autres sites

Le 10/06/2022 à 11:49, Steven a dit :

Avec le lisp RENB dont tu as donn2 le lien plus haut, une fois que le bloc est renommé, celui-ci est éditable.

Oui, tout à fait Steven, RENB fonctionne très bien. Mon interrogation à la base était que j'étais étonné de ne pas voir d'autres solutions dans un entourage plus proche et en lisp. Je ne sais pas comment lire/éditer un vlx.

Sylvain

Lien vers le commentaire
Partager sur d’autres sites

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é