BaB Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Bonjour à tous, Je suis tous neuf dans la création de macro et je bug depuis un bout de temps sur un problème : j'ai créé un macro pour dessiner un rectangle (useri3 largeur, useri4 hauteur) que je voudrais hachurer et par la suite y mettre un texte, problème lors que je lance ma macro le rectangle se dessin mais l'action s'arrête là, peu-importe ce que je mets derrière, rien n'y fait la macro s'arrête après avoir dessin le rectangle, ci dessous ma macro : ^C^Ccal;p1=cur;\cal;p2=cur;@$m=$(getvar,useri3),$(-,0,$(getvar,useri4));rectangle;'cal;p1;'cal;p2;;-hachures;s;d;;p;solide;cou;bleu;;;^C Je dois avoir un problème de syntaxe que je ne trouve pas..J'utilise AUTOCAD LT2019. Merci d'avance pour votre aide. B,
rebcao Posté(e) le 29 janvier 2019 Posté(e) le 29 janvier 2019 Bonjour, Je ne vois pas ce que viennent faire les variables : USERi3 et USERi4 ? Sinon, ça pourrait donner ça : ^C^Crectangle;\\-hachures;s;d;;p;solide;cou;bleu;; 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 @)
BaB Posté(e) le 30 janvier 2019 Auteur Posté(e) le 30 janvier 2019 Bonjour, Je ne vois pas ce que viennent faire les variables : USERi3 et USERi4 ? Sinon, ça pourrait donner ça : ^C^Crectangle;\\-hachures;s;d;;p;solide;cou;bleu;; Christian Bonjour Christian, le but final est de hachurer le rectangle puis de placer un texte à l'intérieur de type "USERi3 x USERi4" (suite de la macro que je n'ai pas terminé), je renseignes aussi les points p1 et p2 pour me permettre de placer le texte.Je sais que la solution des pauses utilisateur permettent de rentrer les dimensions du rectangle mais je ne souhaite pas de pause dans la macro si possible. B,
BaB Posté(e) le 31 janvier 2019 Auteur Posté(e) le 31 janvier 2019 Bon j'ai modifié ma macro en suppriment les points p1 et p2. ci dessous la macro complète : ^C^Cclayer;se;cecolor;250;rectangle;\c;$m=$(getvar,useri3);$(getvar,useri4);@$(getvar,useri3),-$(getvar,useri4);$(if,$(=,$(getvar,useri5),1),clayer;ltx;-hachures;s;d;;p;solide;cou;bleu;;;^C,clayer;ltx;-hachures;s;d;;p;solide;cou;rouge;;;^C)^C$(if,$(=,$(getvar,useri5),1),-textmult;@;j;mc;h;250;s;calibri;\lanterneau fixe;$m=$(getvar,useri3)x$(getvar,useri4);;,-textmult;@;j;mc;h;250;s;calibri;\lanterneau CO2;$m=$(getvar,useri3)x$(getvar,useri4);;)^C^C par contre quand je remplace un "\" par "@-$(getvar,useri3),-$(getvar,useri4)" pour éviter une pause au niveau de l'insertion du texte, plus rien ne marche, y'a-t-il un nombre maximum d'utilisation de formule DIESEL dans une seul macro? Désoler pour le smiley a la fin de la macro, je ne sais pas l'enlever est il faut lire ";")"^"C" à la place...
lili2006 Posté(e) le 1 février 2019 Posté(e) le 1 février 2019 Bonjour à toutes et tous,J'ai testé vite fait et ma version répond :Commande: clayerEntrez une nouvelle valeur pour CLAYER : seImpossible de mettre CLAYER à cette valeur.*Incorrect*Commande: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
BaB Posté(e) le 1 février 2019 Auteur Posté(e) le 1 février 2019 Bonjour à toutes et tous,J'ai testé vite fait et ma version répond :Lili, clayer;SE permet de mettre le calque SE (support d'étanchéité) en calque courant, il faut donc un calque du nom de "SE", de même il faudra un calque "LTX" (lanterneaux).La macro que j'ai faite est en effet adaptée à mon gabarit avec ces calques déjà créés. ci dessous la macro sans les calque ni type de texte : ^C^Crectangle;\c;$m=$(getvar,useri3);$(getvar,useri4);@$(getvar,useri3),-$(getvar,useri4);$(if,$(=,$(getvar,useri5),1),-hachures;s;d;;p;solide;cou;bleu;;;^C,-hachures;s;d;;p;solide;cou;rouge;;;^C)^C$(if,$(=,$(getvar,useri5),1),-textmult;@;j;mc;h;250;\lanterneau fixe;$m=$(getvar,useri3)x$(getvar,useri4);;,-textmult;@;j;mc;h;250;\lanterneau CO2;$m=$(getvar,useri3)x$(getvar,useri4);;)^C^C il faudra quand même renseigner les variables : USERi3 : largeur rectangle USERi4 : hauteur rectangleUSERi5 si = 1 alors lanterneau fixe (modifie texte et couleur de hachures) sinon lanterneau CO2 toujours problème de SMILEY à la fin au lieu de ";"")" désolé...
lili2006 Posté(e) le 3 février 2019 Posté(e) le 3 février 2019 Bonsoir à toutes et tous,Merci de ta réponse BaB,J'ai compris l'idée,..toujours problème de SMILEY à la fin au lieu de ";"")" désolé... Rentre alors ton code avec le BBCode qui va bien, c'est à dire "insérer un extrait de code" de la barre ci dessus,Ce qui donne :^C^Crectangle;\c;$m=$(getvar,useri3);$(getvar,useri4);@$(getvar,useri3),-$(getvar,useri4);$(if,$(=,$(getvar,useri5),1),-hachures;s;d;;p;solide;cou;bleu;;;^C,-hachures;s;d;;p;solide;cou;rouge;;;^C)^C$(if,$(=,$(getvar,useri5),1),-textmult;@;j;mc;h;250;\lanterneau fixe;$m=$(getvar,useri3)x$(getvar,useri4);;,-textmult;@;j;mc;h;250;\lanterneau CO2;$m=$(getvar,useri3)x$(getvar,useri4);;)^C^C Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
rebcao Posté(e) le 4 février 2019 Posté(e) le 4 février 2019 Bonjour, Tu as combien de ligne à ajouter dans ton texte ? 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 @)
BaB Posté(e) le 4 février 2019 Auteur Posté(e) le 4 février 2019 Bonjour, Tu as combien de ligne à ajouter dans ton texte ? Christian J'ai deux lignes à insérer de type : lanterneau fixe3000x2000 les dimensions étant données par les variables utilisateurs.
rebcao Posté(e) le 5 février 2019 Posté(e) le 5 février 2019 Bonjour, Ok, voici la MACRO corrigé : ^C^Crectangle;\c;$m=$(getvar,useri3);$(getvar,useri4);@$(getvar,useri3),-$(getvar,useri4);$(if,$(=,$(getvar,useri5),1),-hachures;s;d;;p;solide;cou;bleu;;;^C,-hachures;s;d;;p;solide;cou;rouge;;;^C)^C$(if,$(=,$(getvar,useri5),1),_-textmult;@;j;mc;@;lanterneau fixe;$m=$(getvar,useri3)x$(getvar,useri4);,_-textmult;@;j;mc;@;lanterneau CO2;$m=$(getvar,useri3)x$(getvar,useri4);); 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 @)
BaB Posté(e) le 5 février 2019 Auteur Posté(e) le 5 février 2019 Bonjour, Ok, voici la MACRO corrigé : ^C^Crectangle;\c;$m=$(getvar,useri3);$(getvar,useri4);@$(getvar,useri3),-$(getvar,useri4);$(if,$(=,$(getvar,useri5),1),-hachures;s;d;;p;solide;cou;bleu;;;^C,-hachures;s;d;;p;solide;cou;rouge;;;^C)^C$(if,$(=,$(getvar,useri5),1),_-textmult;@;j;mc;@;lanterneau fixe;$m=$(getvar,useri3)x$(getvar,useri4);,_-textmult;@;j;mc;@;lanterneau CO2;$m=$(getvar,useri3)x$(getvar,useri4);); ChristianMerci Christian, plus de pause utilisateur pour l'insertion du texte mais j'ai encore un petit problème,avec ta macro le texte se place sur le coin droit bas du rectangle or je le souhaite au centre du rectangle,c'est pourquoi je voulais remplacer le deuxième @ au niveau de l'insertion texte par @-$(getvar,useri3),$(getvar,useri4) [= coin opposé du rectangle] pour centré le texte mais là, la macro s'arrête dès le démarrage... et là je ne comprends plus? autocad m'indique : Spécifiez la longueur des rectangles <2453.5053>: $m=fixe As-tu une idée? sinon j'utiliserai la macro avec deux pauses utilisateur.. B,
BaB Posté(e) le 19 février 2019 Auteur Posté(e) le 19 février 2019 Merci Christian, plus de pause utilisateur pour l'insertion du texte mais j'ai encore un petit problème,avec ta macro le texte se place sur le coin droit bas du rectangle or je le souhaite au centre du rectangle,c'est pourquoi je voulais remplacer le deuxième @ au niveau de l'insertion texte par @-$(getvar,useri3),$(getvar,useri4) [= coin opposé du rectangle] pour centré le texte mais là, la macro s'arrête dès le démarrage... et là je ne comprends plus? autocad m'indique : Spécifiez la longueur des rectangles <2453.5053>: $m=fixe As-tu une idée? sinon j'utiliserai la macro avec deux pauses utilisateur.. B, J'ai encore rencontré ce problème sur une autre macro.en réalité j’avais deux macro que je voulais réunir à l'aide d'un SI, séparément les deux macro fonctionnes mais ensemble autocad bloque et me remet un message du même type ($m=qq).Est-il possible d'être limité en nombre d'expression DIESEL?
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