Aller au contenu

Messages recommandés

Posté(e)

Bonjours, j'ai un petit problème avec un script.

Je cherche à redéfinir une liste de beaucoup de blocs dans beaucoup de dessin et j'aimerai automatiser cette tache.

Je pensait pouvoir faire ça facilement via la fonction command avec un code du genre :

 

(setq ListeBloc (list "Bloc1.dwg" "Bloc2.dwg" "Bloc3.dwg" ))
(foreach bloc ListeBloc
(if (setq b (findfile bloc))
  (vl-cmd "-inserer" b "o" )   ;_ O pour oui écraser
)
)

 

Mais il est impossible de redéfinir un bloc de cette manière, la commande « -inserer » insère le bloc sans le redéfinir même avec le chemin complet du fichier.

De plus les blocs en question sont de blocs dynamiques avec beaucoup de paramètres et il est donc impossible de les modifier à même le dessin via

(vlax-for o bloc …...

 

 

Il serait beaucoup trop long et fastidieux de redéfinir chaque bloc dans chaque dessin en utilisant  la boite de dialogue « inserer » , parcourir et redéfinir le bloc.

 

Quelqu'un aurait-il un moyen d'automatiser cette tache ?

 

Merci d'avance.

Posté(e)

Salut,

 

Tu peux redéfinir les blocs en spécifiant : "ancienBloc=nouveauBloc" à l'invite "Entrez le nom du du bloc", puis annuler la commande avant d'insérer un nouveau bloc.

 

en LISP :

(setq ListeBloc (list "Bloc1.dwg" "Bloc2.dwg" "Bloc3.dwg"))
(foreach bloc ListeBloc
 (if (setq b (findfile bloc))
   (progn
     (command "_.insert" (strcat bloc "=" B))
     (command)
   )
 )
)

 

PS : si les blocs ont des attributs, il faut ajouter un appel à ATTSYNC.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci beaucoup pour ta réponse rapide Gile.

 

Je viens de tester et ça marche très bien.

 

Tan que j'y suis merci aussi pour tous tes programmes et tutos, j'ai rarement eut besoin de poser moi même une question sur ce forum car generalement tout y est déja ;).

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é