StormACAD Posté(e) le 5 février 2012 Posté(e) le 5 février 2012 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.
(gile) Posté(e) le 5 février 2012 Posté(e) le 5 février 2012 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
StormACAD Posté(e) le 5 février 2012 Auteur Posté(e) le 5 février 2012 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 ;).
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant