DPB6804 Posté(e) le 10 septembre 2017 Posté(e) le 10 septembre 2017 Bonjour,Je voudrait créer un outil me permettant de décaler une ligne/polyligne d'une certaine distance et forcer le résultat dans un layer défini. J'ai facilement fait l'outil pour déplacer d'une certaine distance mais pour le reste je n'y arrive pas.Pourriez-vous m'aider.Merci.Alain Citer
didier Posté(e) le 10 septembre 2017 Posté(e) le 10 septembre 2017 Coucou de quoi parles-tu précisément ? tu souhaites un lisp ?un outil peut être du dotnet, du script, du lisp ou encore autre chose.en fonction de tes précisions tu trouveras certainement une réponse Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
DPB6804 Posté(e) le 10 septembre 2017 Auteur Posté(e) le 10 septembre 2017 Bonjour,je veux un outil que je mettrais dans la palette qui me décalerait une ligne/polyligne de 0.8 (par exemple) et me mettrait directement cette ligne décalée dans un layer prédéfini. J'ai ceci dans ma commande ^C^C_offset;0.8; et je change dans général le layer etc...Mais ça ne fonctionne pas.Grrrr. Citer
didier Posté(e) le 10 septembre 2017 Posté(e) le 10 septembre 2017 Coucou On parle donc de macro dont on parle, c'est bien ce que tu voudraisOn ne travaille pas tous le dimanche et donc la fréquentation baisse ce jour-làMais dès demain, les cadors de la macro viendront te donner la solution sans aucun doute Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
DPB6804 Posté(e) le 10 septembre 2017 Auteur Posté(e) le 10 septembre 2017 Coucou On parle donc de macro dont on parle, c'est bien ce que tu voudraisOn ne travaille pas tous le dimanche et donc la fréquentation baisse ce jour-làMais dès demain, les cadors de la macro viendront te donner la solution sans aucun doute C'est bien ça merci. Citer
(gile) Posté(e) le 10 septembre 2017 Posté(e) le 10 septembre 2017 Salut, Une macro avec un peu de LISP dedans (remplacer "calque_offset" par le nom du calque) :^C^C(setq *layer* (getvar 'clayer));(setvar 'clayer "calque_offset");_offset;_layer;_current;0.8;\\;(setvar 'clayer *layer*); Mais quitte à utiliser du LISP autant le faire directement en LISP :(defun c:BPB6804 (/ clay) ; <- changer le nom de la commande comme désiré (setq clay (getvar 'clayer)) (setvar 'clayer "CALQUE_OFFSET") ; <- changer le nom du calque comme désiré (command-s "_.offset" "_layer" "_current" 0.8) (setvar 'clayer clay) (princ) ) Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DPB6804 Posté(e) le 10 septembre 2017 Auteur Posté(e) le 10 septembre 2017 Salut, Une macro avec un peu de LISP dedans (remplacer "calque_offset" par le nom du calque) :^C^C(setq *layer* (getvar 'clayer));(setvar 'clayer "calque_offset");_offset;_layer;_current;0.8;\\;(setvar 'clayer *layer*); Mais quitte à utiliser du LISP autant le faire directement en LISP :(defun c:BPB6804 (/ clay) ; <- changer le nom de la commande comme désiré (setq clay (getvar 'clayer)) (setvar 'clayer "CALQUE_OFFSET") ; <- changer le nom du calque comme désiré (command-s "_.offset" "_layer" "_current" 0.8) (setvar 'clayer clay) (princ) )Un tout grand merci, je viens d'utiliser la macro qui fonctionne très bien. Il n'y a plus qu'a comprendre comment elle fonctionne. :-)Bonne soirée.Alain Citer
(gile) Posté(e) le 10 septembre 2017 Posté(e) le 10 septembre 2017 L'option "Calque" ("_Layer") de la commande "_OFFSET" permet de choisir le calque sur lequel sera placé l'entité décalée entre le calque de l'objet source et le calque courant.La macro, comme le LISP, change le calque courant, lance la commande "DECALER", force l'option "Calque" sur "Courant", puis restaure le calque courant précédent. Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
julienetu06 Posté(e) le 6 mai 2019 Posté(e) le 6 mai 2019 Bonjour, Quand vous dîtes qu'il y a du LISP, je peux faire un ce script sur Bloc-Note il fonctionne?Parce que mon Autocad (LT 2015) me dit qu' il ne comprend pas la fonction ^C^C, alors que c'est le début de toutes les macros que je rencontre. Citer
DenisHen Posté(e) le 6 mai 2019 Posté(e) le 6 mai 2019 Bonjour. Désolé Juliennetu06, mais les version LT d'AutoCAD n'ont pas d'interpréteur LISP, ils ne fonctionneront pas... 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)
didier Posté(e) le 6 mai 2019 Posté(e) le 6 mai 2019 Coucou Pourquoi passer par un éditeur de texte pour faire les macros ?REBCAO serait plus efficace que moi pour la réponse mais le ^C^C en début est pour simuler la commande "annuler" en "DOS"***Donc je ne vois pas pourquoi il est refusé par ton LT. Amicalement ***comme quoi sous "Ouine Dose" le "DOS" n'est pas bien loinà ce sujet je regrette ce temps du Ctrl+C opérationnel qui permettait d'avorter des commandes chronophages, de nos jours on devient intime avec le sablier quand on lance une commande qui dure qui dure qui dure... Citer Éternel débutant... Mon site perso : Programmer dans AutoCAD
julienetu06 Posté(e) le 6 mai 2019 Posté(e) le 6 mai 2019 Merci pour les réponses rapides et oui je suis sur de l'éditeur de texte mais je galère comme même. C'est pour ça que je demendais si ça marcherai.REBCAO m'a déjà donné un coup de main mais je vais le recontacter. Citer
Messages recommandés