CADxp: macro qui ne va pas jusqu'au bout - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

macro qui ne va pas jusqu'au bout

#1 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 29 janvier 2019 - 18:13

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,
0

#2 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6995
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

Posté 29 janvier 2019 - 20:41

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 Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#3 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 30 janvier 2019 - 12:42

Voir le messagerebcao, le 29 janvier 2019 - 20:41 , dit :

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,
0

#4 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 31 janvier 2019 - 15:52

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...
0

#5 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11891
  • Inscrit(e) : 21-décembre 05

Posté 01 février 2019 - 10:46

Bonjour à toutes et tous,
J'ai testé vite fait et ma version répond :

Citation

Commande: clayer
Entrez une nouvelle valeur pour CLAYER <"0">: se
Impossible de mettre CLAYER à cette valeur.
*Incorrect*
Commande:


AutoCAD MAP 3D 2019 - Covadis 17.0c
Forum : http://genie-civil.bbactif.com/
0

#6 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 01 février 2019 - 14:03

Voir le messagelili2006, le 01 février 2019 - 10:46 , dit :

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 rectangle
USERi5 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é...
0

#7 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11891
  • Inscrit(e) : 21-décembre 05

Posté 03 février 2019 - 18:54

Bonsoir à toutes et tous,
Merci de ta réponse BaB,
J'ai compris l'idée,..

Citation

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

AutoCAD MAP 3D 2019 - Covadis 17.0c
Forum : http://genie-civil.bbactif.com/
0

#8 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6995
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

Posté 04 février 2019 - 10:23

Bonjour,

Tu as combien de ligne à ajouter dans ton texte ?


Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger des Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#9 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 04 février 2019 - 12:48

Voir le messagerebcao, le 04 février 2019 - 10:23 , dit :

Bonjour,

Tu as combien de ligne à ajouter dans ton texte ?


Christian



J'ai deux lignes à insérer de type :

lanterneau fixe
3000x2000

les dimensions étant données par les variables utilisateurs.
0

#10 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6995
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

Posté 05 février 2019 - 08:14

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 Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

#11 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 05 février 2019 - 17:47

Voir le messagerebcao, le 05 février 2019 - 08:14 , dit :

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

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,
0

#12 L'utilisateur est hors-ligne   BaB 

  • ceinture jaune
  • Groupe : Membres
  • Messages : 7
  • Inscrit(e) : 23-novembre 18

Posté 19 février 2019 - 16:55

Voir le messageBaB, le 05 février 2019 - 17:47 , dit :

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?
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)