Aller au contenu

insertion d\'un bloc dont le nom existe déjà dans le dessin


Faelis

Messages recommandés

Bonjour,

 

 

j'ai un dessin d'ensemble dans lequel nous avons 2 structures différentes à implanter.

je dessine donc les 2 structures dans 2 *.dwg différents, puis je les insère en temps que bloc dans mon dessin d'ensemble. voila pour la petite histoire.

 

Mais j'ai eu plusieurs fois à modifier mes structures puis à les réimplanter dans le plan d'ensemble, et la apparait mon souci : à chaque réinsertion, je suis obliger de supprimer les structures actuelles du mon plan d'ensemble, de purger la table de bloc et seulement ensuite d'insérer ma structure modifier. Si j'insère directement ma structure, mes blocs ne se mettent pas à jour car les noms de blocs sont identiques dans le dessins source et le dessin de destination. Est-il possible de régler ce souci?

 

En clair : comment mettre à jour des blocs lors de leur insertion dans un dessin où il est déjà défini (mais dans une version précédente)?

 

P.S. 1 : j'ai cherché dans le forum sans succès (peut être que je n'ai pas utilisé les bon mots clés).

P.S. 2 : J'ai vu que dans d'ancienne version d'autoCAD, le logiciel demandé si on voulais ou non mettre a jour le bloc.

 

Voila, j'espère avoir été clair.

 

 

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

Bienvennue sur CADXP

 

Plutôt que d'insérer des BLOCS insères des REFERENCES EXTERNES... Le principe reste en gros le même sauf, si tu as besoin d'utiliser des ATTRIBUTS !

 

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

merci pour la réponse rapide.

Les références externes? de ce que j'ai pu voir, ca ressemble un peu à une usine à gaz pour ce que je veux faire :/ mais si c'est le seul moyen je vais de ce pas m'y pencher.

Mais comme j'ai un peu la mauvaise habitude de m'accrocher, je persiste : n'y a-t-il pas moyen de faire autrement? Une option? Une variable système? je vais essayer de retrouver ma source disant que sur une ancienne version d'autocad, on nous demandais de mettre à jour les blocs de même nom.

 

voila j'ai retrouvé ma source :

http:// http://books.google.fr/books?id=EHCg35X7p5IC&lpg=PP1&dq=autocad&pg=PA15

 

[Edité le 15/7/2009 par Faelis]

Lien vers le commentaire
Partager sur d’autres sites

Si j'insère directement ma structure, mes blocs ne se mettent pas à jour car les noms de blocs sont identiques dans le dessins source et le dessin de destination. Est-il possible de régler ce souci?

 

Soit tu passes par un glisser-déposer ou le design center sans controle ou encore tu as des blocs imbriqués.

 

Il faut au moins nous dire ce que dit la ligne de commande car je sens bien qu'il peut s'agir de ma deuxième opinion.

Ceci dit je rejoins rebcao.

 

Tapes XR !

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Ok, mais cette méthode ne fonctionne plus depuis l'arrivée de l'Editeur de bloc (dans le menu "outils)

 

Même si tu répond "oui" à la question, les blocs insérés ne se mettent pas à jour ! (Sur l'image ci-dessous, j'ai redéfini le fichier "test" en remplaçant le rond par le carré)

 

800x600http://free0.hiboox.com/images/2909/8b740a7efa6656d68f62b509f7f0ed8d.jpg[/img]

 

En passant par l'éditeur de bloc =>

 

http://free0.hiboox.com/images/2909/1b1b8db0abe31b733976aba5936658a1.jpg

 

Ceci dis, je rejoint mes petits camarades, l'utilisation des XREFS semblent mieux adapté pour ton pb,...

 

De plus, il ne faut pas avoir "peur" de cet outil, ce n'est jamais qu'un "super bloc" (tu verras ensuite, tu ne pourras plus t'en passer,...).

 

Tu peux même ensuite lier ta XREF au plan et celle-ci redevient un bloc, si tu préfères remettre ton plan avec des blocs,... =>

 

http://free0.hiboox.com/images/2909/35f71cd5c68dace83ee8be7179e7b755.jpg

Civil 3D 2024 - COVADIS_18.2

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

Lien vers le commentaire
Partager sur d’autres sites

Ok, mais cette méthode ne fonctionne plus depuis l'arrivée de l'Editeur de bloc (dans le menu "outils)

 

Même si tu répond "oui" à la question, les blocs insérés ne se mettent pas à jour ! (Sur l'image ci-dessous, j'ai redéfini le fichier "test" en remplaçant le rond par le carré)

 

si ca fonctionne plus pourquoi il pose la question dans ton screen? c'est à cause que c'est une autre version d'autoCAD?

 

 

Il faut au moins nous dire ce que dit la ligne de commande car je sens bien qu'il peut s'agir de ma deuxième opinion

 

voila ma ligne de commande à ce moment la :

 Commande:
Commande:
Commande: _pasteclip Définition à double du bloc BLOC1  ignorée.
Définition à double du bloc BLOC2  ignorée.
Définition à double du bloc BLOC3  ignorée.
Remplacement de [sASB____.pfb] par [sANSSB__.TTF].
Spécifiez le point d'insertion:

pourquoi il l'ignore?!

 

[Edité le 15/7/2009 par Faelis]

Lien vers le commentaire
Partager sur d’autres sites

J'avais l'impression que tu ne passais pas par la commande INSERER et l'option Parcourir !

 

"_pasteclip" la preuve !

 

C'est sympa les bouquins mais ca ne t'a pas appris un tas de trucs essentiels sur les blocs ! Notamment que ça n'est pas avec un copier-coller que tu vas redéfinir tes blocs.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

si ca fonctionne plus pourquoi il pose la question dans ton screen? c'est à cause que c'est une autre version d'autoCAD?

 

Je ne sais pas, d'autres ici pourront répondre peut-être ? ;)

 

Je rejoint Tramber et je dirai même qu'il faut éviter le "Control + C" et "control + V" (commande Windows) sous AutoCAD,... on a vite fait de "polluer" son plan,...

 

Pour insérer un bloc, trois grandes méthodes =>

 

1) Menu Insertion => bloc

2) Par le Design Center (Control + 2),

3) Par la palette d'outils (Control + 3) (mon préféré !)

 

Pour ton besoin, préfères utiliser une de ces méthodes =>

 

1) Insertion "wbloc"

2) Lier XREF (meilleur à mon sens si tu souhaites garder des blocs liés à ton dessin source !) CF Réponse N° 6

 

Bon courage,

Civil 3D 2024 - COVADIS_18.2

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

Lien vers le commentaire
Partager sur d’autres sites

1) Menu Insertion => bloc

2) Par le Design Center (Control + 2),

3) Par la palette d'outils (Control + 3) (mon préféré !)

 

1) c'est sur ! J'ajouterais indispensable de refaire "Parcourir" à chaque fois.

2) bof, sauf à faire un clic droit dessus pour "redéfinier seulement", là ca marche bien sinon le problème de double définition persiste. Comme si tu ne faisais pas "Parcourir" au 1).

3) est-ce si bien dans son cas !?

 

1) Insertion "wbloc"

2) Lier XREF (meilleur à mon sens si tu souhaites garder des blocs liés à ton dessin source !) CF Réponse N° 6

 

1) Ca m'a toujours choqué d'entendre parler de wbloc comme des objets. Suis-je pointilleux, je trouve cette appelation complètement erronée ? Wbloc est une commande, n'égarons pas Faelis qui, pour l'instant, ne connais pas tout des blocs.

2) Ca c'est très vrai, travailler avec les Xref et lier à la fin du boulot pour envoyer un DWG tout simplement est une bonne idée. Que dis-je, excellente.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Salut,

je suis obliger de supprimer les structures actuelles du mon plan d'ensemble, de purger la table de bloc et seulement ensuite d'insérer ma structure modifier. Si j'insère directement ma structure, mes blocs ne se mettent pas à jour car les noms de blocs sont identiques dans le dessins source et le dessin de destination. Est-il possible de régler ce souci?

 

heureusement qu'Acad réagis comme ça !

Comment veux-tu qu'il fasse autrement ?

 

Mais cela veux dire donc que tes blocs ont changés entre les deux plans ?

 

Au lieu de changer tes blocs en gardant le même nom, si tu dois les modifier, modifies le nom aussi !

 

Il n'y a pas de solution, sauf celle que tu fais et heuresement car cela entrainerais des erreurs si tu veux faire d'autre choses !

(et les X-ref ne sont pas forcément une solution selon le travail que tu veux faire, mais c'est une autre méthode qui à ses avantages).

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

1. Jeter le bouquin en référence.

2. savoir qu'un dessin DWG devient potentiellement un bloc avec "Parcourir"

3. déjà travailler comme cela pour le moment et passer aux Xref quand on a appris sur les blocs.

4. Ne pas écouter ceux qui te disent que ta solution est bonne. Beurk, c'est du niveau "AutoCAD pour les nuls" Un très mauvais bouquin !

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Salut , tu pourrais peut être passer par une bibliothèque tampon , extraire vers cette bib. tous les blocs des dessins mis à jour avant de les insérer dans ton dessin et une fois l'assemblage fait faire une mise à jour des blocs à partir de la bibliothèque.

 

un lisp export qui vient de Cadxp le post ? , il expédie les blocs dans mes documents si mes souvenirs sont bons.

 

;BtoWB=>Bloc to WBloc
    ;---------------------------
    ;récuperer les blocs internes d'un fichier pour les passer en blocs externes (WBloc)
    ;--------------------------
(defun c:btowb ()
 (setvar "cmdecho" 0)
    ; pour definier les noms longs à changer suivant la version d'autocad et de windows
    ;si nom_long = T alors nom long OK
    ;si nom_long = NIL alors pas de nom long
 (setq nom_long T) ;on liste tous les blocs internes contenus dans le fichier
 (setq lst_bloc nil)
 (setq bloc (tblnext "BLOCK" T))
 (while (/= bloc nil)
   (if	(/= (substr (cdr (assoc 2 bloc)) 1 1) "*")
     (if (/= (wcmatch (cdr (assoc 2 bloc)) "*|*") T)
(setq lst_bloc (append lst_bloc (list (cdr (assoc 2 bloc)))))
     )
   )
   (setq bloc (tblnext "BLOCK"))
 )
 (setq nb_bloc (length lst_bloc))
 (prompt (strcat "\n" (itoa nb_bloc) " BLOCS TROUVES"))
    ;on défini si la création est totale ou si on passe les noms un par un
 (setq compte 0)
 (setq option nil)
 (initget "P T")
 (setq option (getkword "\nCréation Pas à pas ou Tout: "))
 (if (= option "T")
   (progn (repeat nb_bloc (creation_bloc) (setq compte (1+ compte))))
   (progn (repeat nb_bloc
     (setq choix nil)
     (initget "O N")
     (setq
       choix (getkword
	       (strcat "\nBLOC " (itoa (1+ compte)) " = " (nth compte lst_bloc) " > O/N : ")
	     )
     )
     (if (= choix "O")
       (creation_bloc)
     )
     (setq compte (1+ compte))
   )
   )
 )
 (princ)
)

    ;---------------
    ;sous programme creation de bloc
    ;--------------

(defun creation_bloc ()
 (setq existe nil) ;on verifie que le bloc n'existe pas sinon on pose la question de le remplacer
 (setq existe (findfile (strcat (nth compte lst_bloc) ".dwg")))
 (if (= existe nil)
   (if	(= nom_long T)
     (command "WBLOC" (nth compte lst_bloc) (nth compte lst_bloc))
     (command "WBLOC" (substr (nth compte lst_bloc) 1 8) (nth compte lst_bloc))
   )
   (progn (initget "O N")
   (setq efface	(getkword (strcat "\nLe bloc "
				  (nth compte lst_bloc)
				  " éxiste déja, désirez vous le remplacer O/N:"
			  )
		)
   )
   (if (= efface "O")
     (if (= nom_long T)
       (command "WBLOC" (nth compte lst_bloc) "o" (nth compte lst_bloc))
       (command "WBLOC" (substr (nth compte lst_bloc) 1 8) "o" (nth compte lst_bloc))
     )
   )
   )
 )  ;(princ)
)
;;;(prompt "\n======>BTOWB")
;;;(princ)

 

ET un lisp pour mettre à jour les blocs du dessin à partir de la bibliothèque ( attention au chemin de recherche) , celui-ci ne met à jour que le bloc sélectionné. Il fait appel aussi à purgeimage de (gile) que tu trouveras sur Cadxp, c'est utile si des images sont incluses dans les blocs.

 

 
(defun C:majbloc (/  ELST ENAM BLKNAME typent)
 (setq ENAM (car (entsel "\nSelectionner le bloc a mettre a jour: "))
   ELST (entget ENAM)
   typent (cdr (assoc 0 ELST))
 )
 (cond 
   ((= typent "INSERT")
     (setq BLKNAME (findfile (strcat (cdr (assoc 2 ELST)) ".dwg")))
     
     (command "_-insert" (strcat (cdr (assoc 2 ELST)) "="))
     (command)
     (if (cdr (assoc 66 ELST))
       (command "_attsync" "_n" (cdr (assoc 2 ELST)))
     )
     
     (if BLKNAME (prompt "\n Bloc mis à jour"))
     
     (if (not c:purgeimage) (load "purgeimage"))
     (c:purgeimage)
       
   )
   (t 
     (command "_-insert") (command)
   (prompt "\n Ce n'est pas un BLOC ") )
 )
 
 (princ)
) 

 

 

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

salut, dans ton cas pas d' hesitation passer par les xreef, c'est tres simple et beaucoup mieux je n' utilise que ça dans ces cas la.

autrement prndre les blocs un par un dans designcentre en demendant de redefinir le bloc

ou encore en faisant un script ou lisp avec le nom de chaque bloc de l'ensemble .

"command "_-insert" nomdubloc= ..............)

d'apres l'aide autocad :

 

Mise à jour d'une définition de bloc: Si vous apportez des modifications à un fichier de bloc inséré dans le dessin et que vous souhaitez modifier la définition de bloc existante sans entraîner une nouvelle insertion de bloc, entrez la commande suivante dans l'invite Spécifiez le point d'insertion (qui suit le message Entrez le nom du bloc) :

nom bloc=

 

Si vous entrez = après le nom du bloc, l'invite suivante s'affiche :

 

Le bloc "courant" existe déjà. Voulez-vous le redéfinir? [Oui/Non] : Tapez o, tapez n ou appuyez sur ENTREE.

 

Si vous choisissez de redéfinir le bloc, la définition de bloc existante sera remplacée par la nouvelle. Le dessin est régénéré et la nouvelle définition est appliquée à toutes les insertions existantes de la définition de bloc. Appuyez sur ECHAP lorsque le programme vous demande d'entrer le point d'insertion pour ne pas ajouter de nouveau bloc au dessin.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 9 ans après...

Bonjour,

 

Cette méthode m’intéresse, mais est-possible de les insérer à des coordonnées différentes ?

J'ai plusieurs profils de tunnel à implanter sur un même document mais j'aimerai qu'il me les décale de 10m en X (pour les avoir les uns à côté des autres). Car ensuite je dois faire une présentation pour chaque profils.

Pensez-vous que c'est possible ?

Merci à vous.

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é