Redéfinir plusieurs blocs via le Design Center

Redéfinir plusieurs blocs via le Design Center

l.cwiek
Participant Participant
973 Visites
4 Réponses
Message 1 sur 5

Redéfinir plusieurs blocs via le Design Center

l.cwiek
Participant
Participant

Bonjour à toutes et tous,

 

Y'a-t-il un moyen de redéfinir plusieurs blocs à la fois sur le Design Center ?

 

Je m'explique : je dessine sur Inventor puis je récupère mes vues sous forme de blocs sur Autocad via le Design Center car je trouve la mise en plan plus simple et flexible que sur Inventor. Le seul inconvénient est que dès que je mets à jour mes vues sur Inventor, je dois redéfinir les blocs correspondants sur Autocad. Et quand il y en a des dizaines, c'est un peu fastidieux de faire clic droit => "Redéfinir seulement" sur chaque bloc, d'autant que la redéfinition de chaque bloc peut prendre plusieurs secondes... Quand on sélectionne plusieurs blocs, la fonction "Redéfinir seulement" se grise et n'est donc plus utilisable...

 

Merci

0 J'aime
974 Visites
4 Réponses
Replies (4)
Message 2 sur 5

Caderix
Mentor
Mentor

Bonjour, 

 

Malheureusement non, ça serait bien pourtant.

 

Après, il existe des astuces via des scripts :

 

https://www.cad-notes.com/how-to-update-autocad-block-in-multiple-files-using-script/

 


Cordialement

Eric GUELEN
Formateur AutoCAD
Site Internet

EESignature

0 J'aime
Message 3 sur 5

DVaquand
Mentor
Mentor

Bonjour

 

Si vous êtes sur une version complète AutoCAD, voici un petit programme AutoLisp qui met à jour tous les blocs depuis leur fichier DWG d'origine, sinon il faudra passer par un fichier SCRIPT comme le dit Eric.

Pour que ce programme fonctionne correctement il est important, avant d'éxécuter ce programme, que le dossier dans lequel se trouve les fichiers blocs soit reconnu dans l'environnement AutoCAD.

Pour cela tapez la commande :

Options / Onglet Fichiers / chemins de recherche de fichiers support / Ajouter.

 

(defun c:Maj-Blocs (/ ObjBlocs Index NomDuBloc)

(setq ObjBlocs (ssget "x" (list (cons 0 "Insert"))))

(if ObjBlocs

(progn
(setq Index 0)

(repeat (sslength ObjBlocs)
(setq
NomDuBloc (cdr (assoc 2 (entget (ssname ObjBlocs index))))
)
(command "_-insert" (strcat NomDuBloc "="))
(command)
(setq Index (1+ index))
)
)
)

(princ)

)

 

Cordialement

Dominique VAQUAND

www.dovaq.fr

 

Cordialement
Dominique VAQUAND
www.dovaq.fr

Cette publication vous a-t-elle été utile ? N’hésitez pas à attribuer la mention J’aime à cette publication.
Avez-vous obtenu la réponse à votre question ? Cliquez ensuite sur le bouton ACCEPTER LA SOLUTION.

EESignature

0 J'aime
Message 4 sur 5

patrick.emin
Alumni
Alumni

Bonjour @l.cwiek 

Si une des réponses résout votre problème ou vous a permis de mieux le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
0 J'aime
Message 5 sur 5

l.cwiek
Participant
Participant

Bonjour, et merci pour votre réponse.

 

Désolé de répondre à mon tour aussi tardivement.

Malheureusement il ne fonctionne pas, en tout cas pas pour les blocs générés par Inventor. J'ai cette erreur (mon fichier où se trouvent mes blocs se nommant "Test bloc.dwg"  :

 

"Test bloc_CARTOUCHE_VUE1.dwg": Impossible de trouver le fichier dans le chemin de recherche

 

Cela vient du fait que mon fichier source Inventor contenant les blocs que je récupère sur Autocad via le Design Center nomme chaque bloc "NomFichier_NomPrésentation_NomVue.dwg" mais que ces blocs n'existent pas "physiquement" dans le répertoire où cherche la lisp. Il faudrait que je créé un fichier dwg pour chaque bloc et que je les mette à jour manuellement pour que la lisp fonctionne... Donc ça ne me fait pas gagner de temps, à moins que j'ai loupé quelque chose...

 

0 J'aime