Syl2007 Posté(e) le 1 juin 2022 Posté(e) le 1 juin 2022 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.
Syl2007 Posté(e) le 1 juin 2022 Auteur Posté(e) le 1 juin 2022 Unanon.lsp par David Bethel. Renb.vlx par Tharwat Al Choufi. Sauf erreur.
Syl2007 Posté(e) le 1 juin 2022 Auteur Posté(e) le 1 juin 2022 Quelques infos sup d'ici : https://blog.draftsperson.net/anonymous-blocks-in-autocad/ *U### = anonymous blocks *E### = anonymous non-uniformly scaled blocks *X### = anonymous hatches *D### = anonymous dimensions *A### = anonymous groups Comme d'habitude, à priori aucune aide dans l'aide Autocad ou site Autodesk.
Luna Posté(e) le 3 juin 2022 Posté(e) le 3 juin 2022 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
Syl2007 Posté(e) le 7 juin 2022 Auteur Posté(e) le 7 juin 2022 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 ?
Steven Posté(e) le 7 juin 2022 Posté(e) le 7 juin 2022 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.
Luna Posté(e) le 7 juin 2022 Posté(e) le 7 juin 2022 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
Syl2007 Posté(e) le 7 juin 2022 Auteur Posté(e) le 7 juin 2022 Merci Steven et Luna, Ci-joint dwg. 🙂 SylvainTest-Bloc anonyme.dwg
Syl2007 Posté(e) le 7 juin 2022 Auteur Posté(e) le 7 juin 2022 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.
Syl2007 Posté(e) le 8 juin 2022 Auteur Posté(e) le 8 juin 2022 Et merci Luna pour la manip pour l'inter-ligne 😉👍.
Luna Posté(e) le 8 juin 2022 Posté(e) le 8 juin 2022 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
Syl2007 Posté(e) le 8 juin 2022 Auteur Posté(e) le 8 juin 2022 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
PHILPHIL Posté(e) le 10 juin 2022 Posté(e) le 10 juin 2022 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 1 FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Steven Posté(e) le 10 juin 2022 Posté(e) le 10 juin 2022 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. 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.
rebcao Posté(e) le 13 juin 2022 Posté(e) le 13 juin 2022 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 @)
Syl2007 Posté(e) le 30 juin 2022 Auteur Posté(e) le 30 juin 2022 Hello à tous, Oups, désolé pour mon retard, et merci pour vos réponses, surtout à Phil pour ta solution avec ton lisp couplé avec un de Gilles (comme cité).
Syl2007 Posté(e) le 30 juin 2022 Auteur Posté(e) le 30 juin 2022 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
Syl2007 Posté(e) le 30 juin 2022 Auteur Posté(e) le 30 juin 2022 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant