CadXP: des blocs par million - CadXP

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

des blocs par million

#1 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 24 août 2020 - 16:11

bonjour
je dois mettre a jour un fichier dwg (bien sûr)j'ai un grand nombre de Bloc pas nommé comme je veux.faire renommé pour chaque blocs c'est possible mais se sera très long.donc existe t'il une façon plus rapide lisp ou autre.
bien sur l’idéale serais d'exporté vers excel et d'importé les changement vers autocad.idem pour les calques.
d'avance merci pour vos solutions

notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#2 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 24 août 2020 - 16:29

bonjour en reposant la question autrement a Google j'ai trouvé NBloc.
ce lisp me donne une liste de bloc au format NBL
j'ai réussi a l’ouvrir avec excel .
pas plus maintenant comment réinsérer les données modifier.
je creuse....
notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#3 L'utilisateur est en ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 9 105
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 24 août 2020 - 16:39

Hello

En fait recherches tu un Lisp qui lirait un fichier CSV/TXT du genre : ancien_nom , nouveau_nom ??

LA SANTE (Stay Safe), Bye, lecrabe "triste"
Automne 2020, la retraite
Autodesk Expert Elite Team
0

#4 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 7 255
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

  Posté 24 août 2020 - 17:53

Bonjour,

Je fais ça très souvent, et surtout avec une version LT...

- 1. je récupère la liste des blocs...
- 2. Je colle la liste dans un tableau EXCEL
- 3. je complète pour chaque BLOC, le nouveau NOM... c'est du boulot ça peut être long
- 4. Je génère un SCRIPT qui va reprendre ANCIEN NOM - NOUVEAU NOM... avec la commandee _RENAME option BLOC

voila le principe.

Christian



Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger des Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#5 L'utilisateur est hors-ligne   philsogood 

  • ceinture noire 5em dan
  • Groupe : Membres
  • Messages : 2 601
  • Inscrit(e) : 03-mars 10

Posté 25 août 2020 - 12:41

oula, ça sent la magouille avec Concatener d'Excel tout ça Christian!! :P
Phil
Projeteur Revit - traitement des eaux
0

#6 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 25 août 2020 - 17:32

bonjour

rebcao

Citation

- 1. je récupère la liste des blocs...
- 2. Je colle la liste dans un tableau EXCEL
- 3. je complète pour chaque BLOC, le nouveau NOM... c'est du boulot ça peut être long
- 4. Je génère un SCRIPT qui va reprendre ANCIEN NOM - NOUVEAU NOM... avec la commandez _RENAME option BLOC

merci pour cette solution je pense être incapable de la pratiquer vu qu'il y a écrit SCRIPT, pour certain c'est une évidence mais pour moi c'est un univers a conquérir.
Bon il faut dire aussi que je suis un peu malade je n'aime pas les fichiers désordre.
Si j'étais aussi pointilleux sur l'orthographe...
Pour l'instant j'ai essayé ATTIN / ATTOUT des express mais je me retrouve avec une quantité de blocs(sss)
ça a mis un peu plus de bazar.
L'embêtant dans tout ça c'est que le gestionnaire de blocs devient un tel foutoir qu'il en devient inutil,
Perso je nomme mes blocs avec un grand soin.

mreci
notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#7 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 07 septembre 2020 - 10:24

merci pour vos réponses.mais je vois que ce n’aie pas possible ou facile.j'utiliserais renommer comme dab


notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#8 L'utilisateur est hors-ligne   GEGEMATIC 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 005
  • Inscrit(e) : 04-novembre 05

Posté 07 septembre 2020 - 17:17

Big666,
c'est dommage de ne pas essayer l'astuce de Rebcao.
J'aime bien la solution scripts aussi, car ça permet d'automatiser sans programmer
tu vas voir c'est trop simple:

dans excel tu crée 2 colonnes:
ancien nom |nouveau nom
----------------------
mauvaisnom1|BonNom1
mauvaisnom2|BonNom2

ensuite tu crée un colonne "commande" à gauche dans la quelle tu mets
"_rename _block"

ca te donne:

commande |ancien nom |nouveau nom
--------------------------------------------
_rename _block |mauvaisnom1 |BonNom1
_rename _block |mauvaisnom2 |BonNom2

Tu copie le contenu du fichier excel dans le bloc note ( les 3 colonnes sans la 1ere ligne)
tu sauvegarde sous renommer.scr
sous autocad tu fait
"script"
tu choisis le fichier renommer.scr et c'est parti !

a+
gégé
----------------------------------------------------------------------
Site: https://www.g-eaux.fr
Blog: http://g-eaux.over-blog.com
0

#9 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3 827
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 07 septembre 2020 - 18:37

Voir le messagebig666, le 24 août 2020 - 16:11 , dit :

bonjour
je dois mettre a jour un fichier dwg (bien sûr)j'ai un grand nombre de Bloc pas nommé comme je veux.faire renommé pour chaque blocs c'est possible mais se sera très long.donc existe t'il une façon plus rapide lisp ou autre.
bien sur l’idéale serais d'exporté vers excel et d'importé les changement vers autocad.idem pour les calques.
d'avance merci pour vos solutions



Salut,

Pour les calques, tu peux te baser sur la réponse que j'ai donné sur le forum d'Autodesk.
Pour les blocs, c'est à peu près pareil mais on ne peut pas enchaîner l'option bloc avec la commande -renommer. Attention à bien mettre le - devant renommer.
Donc, tu peux te créer un script en partant de cet exemple:

-renommer
b ANCIEN_NOM
NOUVEAU_NOM
-renommer
b ANCIEN_NOM
NOUVEAU_NOM
-renommer
b ANCIEN_NOM
NOUVEAU_NOM
-renommer
b ANCIEN_NOM
NOUVEAU_NOM
et ainsi de suite.

Comme l'a dit Christian, àa peut être long comme préparation mais tu pourras renommer tous tes blocs d'un seul coup dans AutoCAD.
Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#10 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11 424
  • Inscrit(e) : 02-septembre 05

Posté 07 septembre 2020 - 18:39

Salut,

Un petit screencast qui montre comment générer un script depuis Excel. La tâche n'est pas la même mais le principe est là.
https://screencast.a...a5-9a78e93db200
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#11 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 14 septembre 2020 - 15:46

Merci pour ces réponses.

Pour les calques, j'aurais aimé connaître ça plutôt pour créer mes gabarits.
Le seul problème, c'est que j'utilise les groupes.

Le truc, c'est que je veux comme par magie exporte les noms des blocs dans Excel (par exemple)
Et là, je ne vois pas comment.

Les deux sceencast sont excellent ça me donne quelque idée. Merci et c'est tuto sont très claire (le génie, c'est la simplicité)
Je vais bosser, ces conseils.
Merci







notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
1

#12 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 435
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 14 septembre 2020 - 19:56

Bonsoir,

il y a peu-être plus rapide, mais avec
-BLOC
?
*

ça fait défiler tous les noms de blocs dans la ligne de commande, un petit copier/coller dans Excel, et ça doit le faire.

Olivier
1

#13 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 18 septembre 2020 - 16:42

avec tous ça et un peut de travail ça devrai le faire merci
notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#14 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 19 septembre 2020 - 15:04

bonjour

olivier ta solution pour récupérer le nom des blocs fonctionne.merci
ensuite j'ai essayé de créé un scrip:
rename_block "- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76" 03-Paillasse profeseur+Cuve
rename_block "- CG - Am - PAILLASSE SECHE" 03-Paillasse seche
rename_block "- CG - H - CERCLE DE GIRATION" 001-Cercle de Giration (PMR)
rename_block "- CG - H - SIEGE HANDICAPER" 001-Siege (PMR)
rename_block "_ClosedBlank" "_ClosedBlank"
rename_block "_DotSmall" "_DotSmall"
rename_block "_OBLIQUE" "_OBLIQUE"
rename_block "_PMLC198" "_PMLC198"
rename_block "0_BS_60lm_flèche" 001- fleche
rename_block "0_BS_60lm_sortie" 001-sortie
rename_block "001 Cartouche DP" 09-Cartouche
rename_block "002 TAMPON Signatures" 09-Tampon de signature
rename_block "002 TAMPON Signatures PETIT" 09-Tampon de signature petit
rename_block "1 hublot MAPELEC" 001- Hublo mapelec
rename_block "1 hublot SUPER 400" 001- Hublo super 400
rename_block "11 LÉGENDE FONCTIONNALITÉE" 06-Légende de fonctionnalité
rename_block "18-Baignoire" 001-Sanitaire Baignoire
rename_block "18-Barre D'appuit (wc habdicaper)" 001-Barre d'appuit (PMR)
rename_block "18-H-WC handicape minimum" 001-Sanitaire WC (PMR)
j’obtiens commande inconnu F1 ....
ou est ma bêtise.
merci



notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#15 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11 424
  • Inscrit(e) : 02-septembre 05

Posté 19 septembre 2020 - 15:54

Salut,

Le contenu d'un script AutoCAD, c'est exactement les commandes et options telles qu'on les entre en ligne de commande.
Avant d'essayer d'enchainer les lignes, commence par tester une seule ligne.

rename_block n'est pas une commande AutoCAD, le nom de la commande c'est RENOMMER (ou _RENAME avec l'underscore). Et _block (ou bloc ou b ou _b) c'est le nom de l'option choisie pour la commande renommer.

Le plus simple quand on a pas l'habitude d'écrire un script, c'est d'exécuter une fois la commande en ligne commande. On entre le nom de la commande précédé d'un tiret pour éviter l'ouverture de la boite de dialogue et les noms des blocs entre guillemets pour éviter les problèmes d'espace (ne pas oublier que tout espace ou retour chariot est interprété par AutoCAD comme une validation):
Commande: -RENOMMER
Entrez le type d'objet à renommer
[BLoc/stylevueDétail/COtstyle/CAlque/TYpeligne/Matériau/style Ligne de repère multiple/style de vue en Coupe/STyle/styleTAbleau/SCu/Vue/Fenêtre]: Bloc
Entrez l'ancien nom bloc: "- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76"
Entrez un nouveau nom bloc: "03-Paillasse profeseur+Cuve"

Si tout s'est passé comme tu veux, tu copies la séquence depuis la fenêtre de texte d'AutoCAD (F2) dans un éditeur de texte simple (type bloc-note) puis tu ne conserves que ce que tu as entré toi même :
-RENOMMER
Bloc
"- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76"
"03-Paillasse profeseur+Cuve"
Sans espace à la fin des lignes et sans oublier un retour chariot et un seul après la dernière ligne.
Tu enregistres ça avec l'extension .scr et tu essaye de lancer ton script dans un fichier AutoCAD qui contient bien ce bloc "- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76".
Pour des raisons de lisibilité, tu peux préférer tout mettre sur une seule ligne en remplaçant chaque retour chariot par une espace (sauf le dernier) :
-RENOMMER Bloc "- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76" "03-Paillasse profeseur+Cuve"

Tu testes à nouveau et si tout ce passe bien, tu as maintenant la syntaxe correcte, tu peux la reproduire pour chaque ligne (C'est là que Excel peut t'aider).

Ne pas oublier qu'AutoCAD n'a aucune indulgence pour la moindre faute de syntaxe y compris les espaces et retour chariots.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#16 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3 827
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 19 septembre 2020 - 19:06

Voir le messagebig666, le 19 septembre 2020 - 15:04 , dit :

bonjour

olivier ta solution pour récupérer le nom des blocs fonctionne.merci
ensuite j'ai essayé de créé un scrip:
rename_block "- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76" 03-Paillasse profeseur+Cuve
rename_block "- CG - Am - PAILLASSE SECHE" 03-Paillasse seche
rename_block "- CG - H - CERCLE DE GIRATION" 001-Cercle de Giration (PMR)
rename_block "- CG - H - SIEGE HANDICAPER" 001-Siege (PMR)
rename_block "_ClosedBlank" "_ClosedBlank"
rename_block "_DotSmall" "_DotSmall"
rename_block "_OBLIQUE" "_OBLIQUE"
rename_block "_PMLC198" "_PMLC198"
rename_block "0_BS_60lm_flèche" 001- fleche
rename_block "0_BS_60lm_sortie" 001-sortie
rename_block "001 Cartouche DP" 09-Cartouche
rename_block "002 TAMPON Signatures" 09-Tampon de signature
rename_block "002 TAMPON Signatures PETIT" 09-Tampon de signature petit
rename_block "1 hublot MAPELEC" 001- Hublo mapelec
rename_block "1 hublot SUPER 400" 001- Hublo super 400
rename_block "11 LÉGENDE FONCTIONNALITÉE" 06-Légende de fonctionnalité
rename_block "18-Baignoire" 001-Sanitaire Baignoire
rename_block "18-Barre D'appuit (wc habdicaper)" 001-Barre d'appuit (PMR)
rename_block "18-H-WC handicape minimum" 001-Sanitaire WC (PMR)
j’obtiens commande inconnu F1 ....
ou est ma bêtise.
merci





Essaye le script en pièce jointe.

N'ayant pas ton fichier avec tes blocs, je n'ai pas pu le tester.

Décompresse le fichier. Dans AutoCAD.
Tape la commande SCRIPT ou le raccourci SCR.
Cible le fichier BIG666.scr

J'ai supprimer les espaces dans les nouveaux noms de blocs.

Lorsqu'on nomme un bloc, l'idéal est qu'il n'y ait pas d'espaces et de les écrire tout en majuscules sans accents.

Exemple:

03-Paillasse seche ---> 03-PAILLASSE_SECHE

Là, j'ai juste pris de soins de remplacer les espaces par un underscore(_)

Fichier(s) joint(s)

  • Fichier joint  BIG666.zip (597 octets)
    Nombre de téléchargements : 3

Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#17 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 20 septembre 2020 - 17:13

merci
À par le faite que c’est frustrant d’échouer encore et encore, j’ai réussi non pas à corriger mon illettrisme, mais à faire ça :
-RENOMMER
Bloc
"- CG - Am - PAILLASSE PROFESSEUR + CUVE 3150x0.76"
"003 - PALLIASSE_PROF_CUVE"
Ça ressemble à ce qu’a fait gille sauf que c’est moi qu’il l’ait fait.
Et ça renomme bien mon bloc – CG –Am….
Maintenant, il faut que je puisse récupérer la liste de tous les blocs, avec la commande
– bloc celle-ci ne récupère pas tous. (??)
Copier le tous dans Excel modifier en faire un scriptpour le script de steven (merci) je veux apprendre a faire un script donc je le regarde comment c'est fait

Voilà
notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#18 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3 827
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 20 septembre 2020 - 19:11

Voir le messagebig666, le 20 septembre 2020 - 17:13 , dit :

Maintenant, il faut que je puisse récupérer la liste de tous les blocs, avec la commande
– bloc celle-ci ne récupère pas tous. (??)



As-tu appliquer la solution d'Olivier qui fonctionne très bien?

Voir le messageOlivier Eckmann, le 14 septembre 2020 - 19:56 , dit :

Bonsoir,

il y a peu-être plus rapide, mais avec
-BLOC
?
*

ça fait défiler tous les noms de blocs dans la ligne de commande, un petit copier/coller dans Excel, et ça doit le faire.

Olivier

Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#19 L'utilisateur est hors-ligne   big666 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 794
  • Inscrit(e) : 04-septembre 08

Posté 21 septembre 2020 - 08:34

bonjour
oui j'ai bien utilisé cette commande. mais elle ne récupère qu'une partie des nom des blocs.

Citation

Ceci
"- CG - Am - PAILLASSE PROFESEUR + CUVE 3150x0.76"
"- CG - Am - PAILLASSE SECHE"
"- CG - H - CERCLE DE GIRATION"
"- CG - H - SIEGE HANDICAPER"
"_ClosedBlank"
"_DotSmall"
"_OBLIQUE"
"_PMLC198"
"0_BS_60lm_flèche"
"0_BS_60lm_sortie"
"001-Palaisse prof"
"001 Cartouche DP"
"002 TAMPON Signatures"
"002 TAMPON Signatures PETIT"
"1 hublot MAPELEC"
"1 hublot SUPER 400"
"11 LÉGENDE FONCTIONNALITÉE"
"18-Baignoire"
"18-Barre D'appuit (wc habdicaper)"
"18-H-WC handicape minimum"

or qu'il y en a 50 et plus.bien sûr j'ai purgé, avec la commande purgé et le lisp JAV je en sait pas s'il y a mieux...

notre mascotte


Nous vivons tous dans le ventre d'un chien géant
Tout le monde le sait mais personne ne dit rien du tout

ultra Vomit
0

#20 L'utilisateur est hors-ligne   GEGEMATIC 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 005
  • Inscrit(e) : 04-novembre 05

Posté 21 septembre 2020 - 09:02

Salut,
comme j'ai bien aimé le concert d'ultra-vomit,
(defun c:ecritMaListeDeBlocs (/ f tmp)
  (setq
    f (open (getfiled "Fichier csv pour la liste de blocs" "" "csv" 1)
	    "w"
      )
  )
  (write-line (cdr (assoc 2 (tblnext "BLOCK" t))) f)
  (while (setq tmp (tblnext "BLOCK"))
    (write-line (cdr (assoc 2 tmp)) f)
  )
  (close f)
)

colle les lignes sur la ligne de commande, et tape ecritMaListeDeBlocs
a+
gégé
----------------------------------------------------------------------
Site: https://www.g-eaux.fr
Blog: http://g-eaux.over-blog.com
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)