DenisHen Posté(e) le 26 mai 2006 Posté(e) le 26 mai 2006 (defun c:_PhPile () ;pour lancer la commande, supprimer le "_" devant PhPile (setvar "cmdecho" 0) (setq p1 (getpoint "\nCoin de la pile : ")) (setq Ori (getorient p1 "\nDirection de la pile : ")) (setq Lo (getdist "\nLongeur de la pile : " p1)) (setq p3 (polar p1 Ori Lo)) (setq La (getdist "\nLargeur de la pile : " p1)) ; on peut taper au clavier la largeur de la pile, ; si la largeur est négative, la pile sera à gauche des deux premier points ; sinon, elle sera à droite (if (= La 0) (setq La Lo)) (cond ((< La 0) (setq p4 (polar p3 (+ Ori (/ pi 2)) (abs La))) (setq p5 (polar p1 (+ Ori (/ pi 2)) (abs La))) ) ((or (= La 0) (= La "")) (princ "\nLa=0") (setq p4 (polar p3 (- Ori (/ pi 2)) (abs Lo))) (setq p5 (polar p1 (- Ori (/ pi 2)) (abs Lo))) ) ((> La 0) (setq p4 (polar p3 (- Ori (/ pi 2)) (abs La))) (setq p5 (polar p1 (- Ori (/ pi 2)) (abs La))) ) ) (command "-calque" "e" "Limites (Mur)" "co" "2" "" "") (command "_.pline" "_non" p1 "_non" p3 "_non" p4 "_non" p5 "c") (initget "Oui Non") (if (= (getkword "\nDessiner un croisillon ? (Oui/Non): ") "Oui") (progn (command "-calque" "e" "Limites (Mur Hachure)" "co" "8" "" "") (command "_.line" "_non" p1 "_non" p4 "") (command "_.line" "_non" p3 "_non" p5 "") ) ) ) Voilà, si quelqu'un peut l'améliorer... Ca sert à çà.... Denis... 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)
(gile) Posté(e) le 27 mai 2006 Posté(e) le 27 mai 2006 Tout çà manque de finition ! Déclaration des variables locales (voir ici). Restauration de la variable CMDECHO (voir ici) Noms de commande en langage international (voir ici, ou ici, ou encore là). Vois aussi la fonction (initget ...) pour toutes les fonction (getXXX ...), afin d'éviter que l'utilisateur n'entre des données qui feraient échouer la routine. À ce propos, avec (getkword ...) si tu mets les options entre crochets au lieu de parenthèses elles apparaîtront dans le menu contextuel de la commande (clic droit) et si tu n'as pas mis le bit 1 au initget tu peux mettre une option par défaut (en cas de ENTER) : (initget "Oui Non") (if (= (getkword "\nDessiner un croisillon ? [Oui/Non] : ") "Oui" )(action si "Oui")(action si "Non" ou ENTER) ;_ Optionnel) [Edité le 27/5/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 27 mai 2006 Auteur Posté(e) le 27 mai 2006 Encore une fois, (gile) vient à mon secour... Je réécriraits cette routine... Merci des conseils... Denis... 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 28 mai 2006 Auteur Posté(e) le 28 mai 2006 Merci (gile), j'ai donc fais çà, en m'inspirant de tes raccourcis... (defun SAVE_VAR () (setq v1 (getvar "ATTDIA") v2 (getvar "AUNITS") v3 (getvar "AUTOSNAP") v4 (getvar "CLAYER") v5 (getvar "CMSECHO") v6 (getvar "EXPERT") v7 (getvar "FILEDIA") v8 (getvar "MENUECHO") v9 (getvar "PLINEWID") v10 (getvar "SNAPMOD") v11 (getvar "TILEMODE") v12 (getvar "OSMODE") ) ) et (defun RESTORE_VAR () (setvar "ATTDIA" v1) (setvar "AUNITS" v2) (setvar "AUTOSNAP" v3) (setvar "CLAYER" v4) (setvar "CMSECHO" v5) (setvar "EXPERT" v6) (setvar "FILEDIA" v7) (setvar "MENUECHO" v8) (setvar "PLINEWID" v9) (setvar "SNAPMOD" v10) (setvar "TILEMODE" v11) (setvar "OSMODE" v12) Car ce sont les principales variables AutoCAD que je midifie.... Bienvenu aux observations... J'ai lus les articles sur l'internationnalité des codes... Je suis entièrement d'accord, Mais vu qu'on ext sur un site francophone... Il faudrait au moins décrire le core en français... Non ? Denis... 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)
(gile) Posté(e) le 28 mai 2006 Posté(e) le 28 mai 2006 Salut, Pour les variables système, c'est une façon de faire, pas celle que préfère, mais çà marche et c'est l'essentiel ;) Mais vu qu'on ext sur un site francophone... Il faudrait au moins décrire le core en français... Non ? Je ne sais pas ce que tu entends par "core", dans mes LISP les invites et les commentaires sont en français (sauf quand, exeptionnellement, je poste sur un site anglo-saxon) mais les commandes et options sont toujours en langage internationnal. Il n'est pas beaucoup plus difficile de comprendre getkword que line ou layer.Voir ce sujet Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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