Aller au contenu

Recherche LISP pour renommage d'un calque dans bloc


Messages recommandés

Posté(e)

Bonjour,

Est ce que quelqu'un sais  si il existe un programme LISP (ou autres) qui permet :

De modifier un nom de calque spécifique dans un bloc ou dans un fichier comportant des blocs ?

L'objectif est de modifier un nom de calque , dans notre bibliothèque de symbole ainsi que dans plans où cette bibliothèque est déjà utilisé.

J’espère avoir été clair dans ma demande

Merci d'avance pour votre aide .

 

Posté(e)

Bonjour

Je ne pense pas qu'il soit nécessaire de faire un LSP pour satisfaire cette demande
ou alors j'ai mal compris la demande.

La commande native RENOMMER permet de renommer des calques, entre autres, et si des entités du bloc sont sur ce calque elles prennent le nouveau nom de calque dans la définition du bloc.

Si j'ai répondu à côté, merci de relancer la question en donnant plus d'explications

Amicalement

 

Posté(e)

Euh...

Si je comprends bien le but de la demande c'est d'avoir une programme qui permet de faire :
 

Quote

OldCalque1 -> NewCalque1
OldCalque2 -> NewCalque2
OldCalque3 -> NewCalque3
...
OldCalqueN -> NewCalqueN

Donc d'avoir une liste des anciens calques, la liste des nouveaux calques et de remplacer les anciens calques par les nouveaux ?
Si c'est bien de cela, le plus simple serait de passer par un fichier .csv ou .xls afin de rentrer les tables d'équivalence mais j'avais déjà écrit un programme comme celui-ci et je me suis rendu compte d'un défaut évident à ce soucis : ce programme n'est absolument pas en mesure de s'adapter correctement si un calque ne fait pas parti de la liste des anciens calques ou si son nom diffère légèrement...C'est pourquoi j'avais abandonné son utilisation.

En revanche si le but est de remplacer un unique calque et de renommer le nom du calque, alors pas besoin de LISP, le gestionnaire de calque est suffisant, sinon la commande native RENOMMER est pas mal. Autrement si le but est de remplacer l'ancien calque dans un nouveau calque contenant déjà des objets, il y a la commande FUSCALQUE.

Donc dans le cas n°1, c'est un programme très limité qui ne répondra probablement pas correctement à ta demande sur le long terme, et dans les autres, je pense que les commandes natives permettent d'y répondre (ou alors je n'ai pas compris ta demande...)

Bisous,
Luna

Posté(e)

Salut ScoAD,

Est-ce que le calque à renommer porte le même nom dans tous les fichiers?

Si tu as plusieurs fichiers qui ont le même calque à renommer par un autre calque, tu peux aussi, en plus des autres solutions proposées par Luna et Didier, toujours sans utiliser de lisp, utiliser la commande convcalque ou _laytrans

CONVCALQUE.png

et créer un fichier standard en .dws.

De ce fait, à chaque fois que tu ouvriras un fichier avec lequel il y a l'ancien nom à convertir dans le nouveau nom, tu pourras lancer la commande convcalque et tu chargeras le fichier standard (.dws) et tu pourras cliquer directement sur Convertir.

 

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Rebonjour,

Merci pour vos réponse,

Je reformule : Je souhaites renommer un calque dans plus d'une centaine de fichiers DWG (Notre bibliothèque ) mais également des plans dans lequel nos éléments de bibliothèque sont déjà inséré. Et ce en automatique sans avoir à ouvrir chaque fichier , un par un pour renommer le dit calque.

Le nom du calque est déjà identifier (Exemple : TOTO) et nous souhaitons y ajoutes un préfixe (Exemple de résultat souhaité: _Prefixe_TOTO)

Je ne dis pas que vos solutions ne fonctionnes pas (Il faut que nous testions ) , je voulais juste essayé d’être plus précis dans ma demande !

Quand qu'il en soit, encore merci pour vos retours, plus que constructif .

 

Posté(e)

Bonjour,

Je pense que le renommage peut passer par un script, via la commande "-RENOMMER" ou bien même via la commande "-CALQUE"
Et ensuite, utiliser ce script avec la routine de @Eric superautoscript qui permet de lancer un script sur un grand nombre de fichier.
Je l'ai utilisé en traitement par lot sur 150-200 fichiers en une seule fois sans problèmes.

Seule contrainte, pendant que la machine travail il faut aller prendre un café pour ne pas la déranger.
Il peut y avoir également d'autres contraintes à gérer comme l'ouverture intempestive de panneaux qui demande une action à l'ouverture de fichier. Mais cela aussi peut se gérer.

 

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

En effet, superautoscript semble être ce dont ScoaD a besoin.

Mettre comme script:

-renommer
ca
ancien_nom_du_calque
nouveau_nom_du_calque


Ne pas oublier de faire Enter après nouveau_nom_du_caqlque.

Puis ouvrir les fichiers avec le calque à renommer dans superautoscript puis on appui sur le bouton BLAST-OF.png

Attention, il ne faut pas qu'il ait d'espaces dans les noms de calque.

Un espace équivaut à une validation. Ce qui ferait foirer le script.

 

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Pour information :

Après quelques tests , vos dernières propositions correspondent à nos besoins !

La personnel en charge de cette MAJ de Bibliothèque (Et qui a fait les tests) vous en ai très reconnaissant et vous dis un GRAND MERKI !

Vive l'entr'aide !

Encore Merci @+

 

 

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é