Aller au contenu

Peut-on créer sa propre variable Autocad?


rrobert

Messages recommandés

Bonjour,

J'utilise la macro suivante pour changer de niveau de plan avec ma souris (souris attribuée au raccourci clavier de la macro) :

^c^c-PAN 0,0 0,100

Sauf qu'évidemment, en fonction de mes plans, les niveaux seront tantôt espacés de 50m, tantôt de 100m...

Et quand je travaille sur 5 plans dans la journée, tous avec des niveaux d'espacements différents, ça devient long de changer à chaque fois la macro 😉

Je me demande donc s'il est possible de créer sa propre variable afin qu'à chaque ouverture de plan je renseigne l'espacement entre chaque niveau et que ma macro prenne en compte cette valeur de variable.

Par ailleurs, si c'est possible, quel serait le code de la macro pour prendre en compte la valeur stockée dans une variable?

Merci pour vos coups de mains,

Rémi

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @rrobert

C'est une chose de ne pas connaitre le lisp mais quand on a des demandes s'y référant, ce serait une bonne idée de s'y mettre.
Je ne travaille jamais avec ces "macros" mais je pense qu'on peut injecter une variable userr1, regardez l'aide à ce sujet et revenez poser des questions si le problème n'est pas résolu.

Autre chose : je comprends que vous faites des plans d'immeubles, c'est bien le cas ?

Je reste convaincu que c'est une fausse bonne idée de ne pas dessiner les étages en superposition absolue en gérant les calques par un préfixe pour les étages
Il est facile de les détacher en FMULT, mais par contre au dessin, c'est primordial de toujours avoir l'étage du dessous dans l'étage courant.

Ceci étant dit chacun fait comme il veut (ou comme il peut), on échange des idées, des conseils.

Amicalement
 

Lien vers le commentaire
Partager sur d’autres sites

Hello

YES il y 3 x 5 variables disponibles ...

USERI1 - USERI5 : pour des variables entieres

USERR1 - USERR5 : pour des variables reelles / flottantes

USERS1 - USERS5 : pour des variables chaines / caracteres

La Sante, Bye, lecrabe (triste & fatigue)

 

PS: par exemple COVADIS utilise USERI1 pour stocker "l'Echelle COVADIS" du DWG ...

Commande: MODIFVAR

Entrez le nom de la variable ou [?]: useri1

Entrez une nouvelle valeur pour USERI1 <200>:

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Je ne sais pas si cela peut t'aider mais...il y a la variable MODEMACRO (permet d'afficher une chaîne de caractère dans la ligne d'état, en bas à droite) et si besoin, les expressions DIESEL fonctionnent également.

Donc je pense que tu peux simplement enregistrer la valeur numérique de ton espacement dans cette variable (et elle sera affichée donc tu peux facilement savoir qu'elle valeur elle a) et récupérer la valeur de la variable dans ta macro :3

Mais en effet LeCrabe a la solution idéale xD

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, 

 

Merci pour toutes vos réponses !

 

Je sais qu'il faut vraiment que je m'intéresse au lisp de plus proche, mais pour l'instant mon temps ne me permet que de bricoler 😉

Promis je m'y colle bientôt, j'ai déjà récupéré des bases sur le forum.

 

Merci lecrabe, j'ai retenu votre solution et utiliser un getvar de USERI1 dans la macro correspond tout à fait à mon besoin, c'est génial !

 

@didier en effet c'est des plans d'immeubles.

Votre idée est intéressante mais j'ai peur que cela surcharge le plan et que mes collègues n'arrivent pas à s'y mettre si je change de méthode 😉

 

 

Rémi

Lien vers le commentaire
Partager sur d’autres sites

Hello Olivier

Merci je ne savais pas pour les variables USERS1-USERS5 qui ne sont pas conservees !?

Encore un Micro-Bug qui aurait pu etre corrige facilement depuis longtemps !!

La Sante, Bye, lecrabe (triste & fatigue)

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Hello Pat,

Ce n'est pas un bug, c'est volontaire, c'est clairement écrit dans l'aide

USERS1-5 (variable système)

Permet le stockage et la récupération des données de chaînes de texte.

Type: Chaîne
Enregistré dans: Pas enregistré
Valeur initiale : ""

Il existe cinq variables système : USERS1, USERS2, USERS3, USERS4 et USERS5.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Hello @rrobert

Assurément, changer les habitudes est un pensum
Sauf quand ce sont de bonnes habitudes
Demandez aux collègues comment ils faisaient à la main ? Ils travaillent sans doute en dessin sur calque et le gros intérêt de ce support est de faciliter la vérification de la géométrie par superposition, exactement ce que je propose.
La gestion des étages avec un préfixe permet d'isoler, de superposer deux niveaux avec un minimum d'appel de fonction.
On peut aisément créer des boutons pour assister les rétifs au clavier.

Quant à se mettre au lisp je ne fais que proposer là aussi...

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

@didier sur le principe je suis complètement d'accord avec vous et je vous rejoins sur l'efficacité de la chose.

En effet les anciens superposaient les calques et je le fais encore sur des impressions papier !

 

Le seul hic à ce jour est que si je veux accélérer et faciliter le traitement d'un tel fonctionnement il faudrait que je passe un minimum de temps à mettre ça en place, et cependant l'activité de mon entreprise à ce jour ne me permet pas d'investir ce temps... 😕

Lien vers le commentaire
Partager sur d’autres sites

5 hours ago, Olivier Eckmann said:

Hello Pat,

Ce n'est pas un bug, c'est volontaire, c'est clairement écrit dans l'aide

USERS1-5 (variable système)

Permet le stockage et la récupération des données de chaînes de texte.

Type: Chaîne
Enregistré dans: Pas enregistré
Valeur initiale : ""

Il existe cinq variables système : USERS1, USERS2, USERS3, USERS4 et USERS5.

Et oui et c'est pour ça que sous LT on ne peut qu'utiliser que ces variable userSx et pas userIx ou userRx dans les macros diesel.

Le diesel ne comprend que les chaines (String), ce qui je pense explique cette différence d'enregistrement dans le dessin

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
Le 20/05/2021 à 09:29, Curlygoth a dit :

oui tu peux créer des noms de command en lisp ou autre ^^

et ensuite appeler soit du coup le lisp en question ou tout autre code lu par autocad ^^

Même pas, tu fais une palette d'outils et tu est libre de tout...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Le 20/05/2021 à 12:11, Olivier Eckmann a dit :

Attention les variables USERSx ne sont conservées que durant le temps où le dessin est ouvert, mais perdues dès que l'on ferme/réouvre le dessin. 

Seules les USERIx et USERRx sont conservées dans le DWG.

 

Olivier

Exactement, c'est pour cette simple raison que j'utilise, pour tous mes dessins des 

Citation

(vlax-ldata-get "MonProg" "MaVar")

Et je les appelle depuis le Lisp, depuis l'AutoLisp et aussi depuis le VBA ! ! !

Ca reste dans le dessin et je ne connais aucune fonction ou commande qui pourras l'effacer... La place occupée est tellement petite que c'est inutile de chercher à la supprimer...
Et je m'en sers pour chacun de mes dessins, je suis géomètre, je travaille TOUJOURS avec deux échelles en même temps, une pour le PS (le plan de site ou de situation ou plan masse au /1/10000, 1/5000, 1/1500...) et une pour le plan de détail, le plan individuel (1/500, 1/250, 1/200...)... Et donc, quand je lance une de mes commandes, comme la création d'un texte par exemple, mon LiSP me créé deux texte, un au 10000 et un au 1/200, par exemple...  Et je n'ai plus qu'ç gérer les EP. je reste est fait tout seul...

J'ai donc créer des centaines de macros (en LiSP)  et je ne fais que travailler à deux échelles simultanément, sans m'en rendre compte...
Et sans les (vlax-ldata, je serais dans la mouise ! ! !

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é