rrobert Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 Citer
Curlygoth Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 ^^ Citer Mon site Web (en cours de construction) : Site DA-CODE de @didier
rrobert Posté(e) le 20 mai 2021 Auteur Posté(e) le 20 mai 2021 Sauf que je ne connais pas le lisp 😛 Citer
Curlygoth Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 va dans la section lisp ou VBA ^^ tu auras tout ce qu'il te faut 😉 Citer Mon site Web (en cours de construction) : Site DA-CODE de @didier
didier Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
lecrabe Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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>: Citer Autodesk Expert Elite Team
Luna Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 Citer
Olivier Eckmann Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 1 Citer
rrobert Posté(e) le 20 mai 2021 Auteur Posté(e) le 20 mai 2021 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 Citer
lecrabe Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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) Citer Autodesk Expert Elite Team
Olivier Eckmann Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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. 1 Citer
didier Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
rrobert Posté(e) le 20 mai 2021 Auteur Posté(e) le 20 mai 2021 @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... 😕 Citer
bonuscad Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 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 Citer Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 14 juin 2021 Posté(e) le 14 juin 2021 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... Citer 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)
DenisHen Posté(e) le 14 juin 2021 Posté(e) le 14 juin 2021 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 ! ! ! Citer 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)
Messages recommandés