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

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

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

#1 L'utilisateur est hors-ligne   Faelis 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 5
  • Inscrit(e) : 14-novembre 08

Posté 15 juillet 2009 - 19:04

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.
0

#2 L'utilisateur est hors-ligne   rebcao 

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

Posté 15 juillet 2009 - 19:22

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 Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#3 L'utilisateur est hors-ligne   Faelis 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 5
  • Inscrit(e) : 14-novembre 08

Posté 15 juillet 2009 - 20:13

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://books.google...autocad&pg=PA15

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

#4 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11918
  • Inscrit(e) : 21-décembre 05

Posté 15 juillet 2009 - 20:45

Bonsoir à toutes et tous,

Bienvenue Faelis,

Citation

de mettre à jour les blocs de même nom.


Ne confondrais-tu pas lorsque l'on créer un nouveau bloc portant le même nom qu'un autre anciennement créé ?
0

#5 L'utilisateur est hors-ligne   Faelis 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 5
  • Inscrit(e) : 14-novembre 08

Posté 15 juillet 2009 - 20:58

non non, je ne confonds pas :)
regardes le lien que j'ai mis, ca explique ce que je souhaite faire.
0

#6 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8437
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 15 juillet 2009 - 21:08

Citation

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 !
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#7 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11918
  • Inscrit(e) : 21-décembre 05

Posté 15 juillet 2009 - 21:11

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é)

[img=800x600]http://free0.hiboox....509f7f0ed8d.jpg[/img]

En passant par l'éditeur de bloc =>

Image IPB

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,... =>

Image IPB
0

#8 L'utilisateur est hors-ligne   Faelis 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 5
  • Inscrit(e) : 14-novembre 08

Posté 15 juillet 2009 - 22:12

Citation

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?


Citation

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]
0

#9 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8437
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 16 juillet 2009 - 07:10

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.
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#10 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11918
  • Inscrit(e) : 21-décembre 05

Posté 16 juillet 2009 - 08:33

Bonjour à toutes et tous,

Citation

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,
0

#11 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8437
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 16 juillet 2009 - 09:12

Citation

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 !?

Citation

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.
0

#12 L'utilisateur est hors-ligne   Bred 

  • ceinture noire 5em dan
  • Groupe : Membres
  • Messages : 2721
  • Inscrit(e) : 07-mars 06
  • LocationAntibes

Posté 16 juillet 2009 - 09:17

Salut,

Citation

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...
0

#13 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8437
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 16 juillet 2009 - 12:51

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 !
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#14 L'utilisateur est hors-ligne   usegomme 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 616
  • Inscrit(e) : 03-octobre 03

Posté 16 juillet 2009 - 13:18

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)

) 








0

#15 L'utilisateur est hors-ligne   tiboulen 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 181
  • Inscrit(e) : 07-janvier 05

Posté 16 juillet 2009 - 15:41

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.

0

#16 L'utilisateur est hors-ligne   Faelis 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 5
  • Inscrit(e) : 14-novembre 08

Posté 17 juillet 2009 - 06:32

AHAHAHAAAA!
le wbloc me plait bien :D
Merci beaucoup!
0

#17 L'utilisateur est hors-ligne   Manon5 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 2
  • Inscrit(e) : 25-février 19

Posté 28 février 2019 - 15:55

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.
0

Partager ce sujet :


Page 1 sur 1
  • 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)