rebcao Posté(e) le 9 novembre 2011 Posté(e) le 9 novembre 2011 Bonjour à Toutes et à Tous, Les vieux routards vous diront toujours d'éviter d'utiliser les ESPACES que ce soit pour le nom des calques, des blocs, des fichiers, etc. Voici une MACRO qui dès qu'il y a un ESPACE interprète l'ESPACE comme ENTREE et plante... Je veux renommer un BLOC qui s'appelle BLOC000 par le NOM du FICHIER dans lequel je me trouve ! Voici la bête : ^c^c_rename;B;Bloc000;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4)); J'ai beau mettre des guillements un peu partout rien n'y fait ESPACE = toujours RETURN !!! Quelle serait la syntaxe magique pour arriver à contourner ce bazarre ?! Merci pour votre aide Christian PS : tiens pourquoi les flèches du clavier sont inopérantes dans l'éditeur des messages...?! Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
bonuscad Posté(e) le 9 novembre 2011 Posté(e) le 9 novembre 2011 Bonjour, Normalement, il faut double-quoter (""). Alors fait bizarre, j'ai essayé avec MODEMACRO l'expression:""$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))"" Cela fonctionne bien, mais si je retranscrit pour la macro de bouton, et bien ça va plus :( Peut être passer la chaine par une variable USER et la récupérer ensuite ... (pas essayé) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
rebcao Posté(e) le 9 novembre 2011 Auteur Posté(e) le 9 novembre 2011 Bonjour, Merci pour ton aide. Malheureusement par une variable USER ça marche pas NON plus car il interprète de nouveau l'ESPACE !!!! Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 9 novembre 2011 Auteur Posté(e) le 9 novembre 2011 Bonjour, Voici 2 MACROS qui fonctionnent très bien : ^c^cmodemacro;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4)); ^c^c_-text;\;;$m=$(getvar,modemacro);; Et une qui ne veut PAS !!!!!!!! ^c^c_-layer;E;""$m=$(getvar,modemacro)"";; Tant que les données sont traitées par un champ texte ça va mais dès qu'on passe sur des commandes l'ESPACE = RETURN !!!!! Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
bryce Posté(e) le 9 novembre 2011 Posté(e) le 9 novembre 2011 Bonsoir, ^c^c_rename;B;Bloc000;$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4)); J'ai beau mettre des guillements un peu partout rien n'y fait ESPACE = toujours RETURN !!! Quelle serait la syntaxe magique pour arriver à contourner ce bazarre ?! ^c^c_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))"""";) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
rebcao Posté(e) le 10 novembre 2011 Auteur Posté(e) le 10 novembre 2011 Bonjour, C'est d'une logique !!!??? Sacré DIESEL ! Tu montres ça a un informaticien, il est mort de rire... Merci Bryce Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 23 août 2012 Auteur Posté(e) le 23 août 2012 Bonjour, Voici à nouveau les galères du DIESEL avec la gestion des GUILLEMETS un peu curieuse !!! Voici 2 MACROS qui fonctionnent parfaitement : ^c^cattreq;0;_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))""""; ^c^cattreq;0;_-insert;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))="""";0,0;^c En voulant en faire plus qu'une seule, ça ne fonctionne plus ! ^c^cattreq;0;_rename;B;Bloc000;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))"""";^c^cattreq;0;_-insert;"$m=$(substr,$(getvar,dwgname),5,$(-,$(strlen,$(getvar,dwgname)),8))="""";0,0;^c Quelle serait la subtilité dans les GUILLEMETS ? Sacré DIESEL !!!! :( Merci pour votre aide Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
bonuscad Posté(e) le 23 août 2012 Posté(e) le 23 août 2012 Salut Christian, Je ne pratique pas le diesel autant que toi (à vrai dire l'édition des boutons pendant les phases de test me gave un peu; l'ouverture du CUI est longue....) On avait eu déjà cette discussion ensemble. En regardant de nouveau les syntaxes incriminées (ici et dans mon lien), je me demande si cela ne viendrait pas de l'usage de $m=. J'ai l'impression que si celle ci est présente plusieurs fois dans la macro, seule la première est interprétée. Le problème avec le diesel, c'est que celui est un interpréteur de chaine de texte et non d'instructions littérales, cela fausse notre logique de conception. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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