maloul Posté(e) le 11 mars 2005 Posté(e) le 11 mars 2005 bonjour tout le monde!!je fais appel à vous car je dois créer un petit programme lisp ( la création d'un rectangle)cette programmation doit comprendre les paramètres suivants:-"donner le point d'insertion du rectangle (en bas à gauche):"-"donner la longueur en X:"-"donner la largeur en Y:"j'ai essayé d'en créer un à partir de ce que j'ai pu voir sur ce forum mais le problème c'est qu'à chaque fois il m'affiche un message "trop d'arguments"en vous remerciant d'avance, je compte sur votre aide. maloul ;)
Titifonky Posté(e) le 11 mars 2005 Posté(e) le 11 mars 2005 :P Tu peut faire comme ça(defun c:rect () (setq ptinsertion (getpoint "\nDonner le point d'insertion :")) (setq pt (list (+ (getreal "\nDonner la largeur :") (car ptinsertion)) (+ (getreal "\nDonner la hauteur :") (cadr ptinsertion)) ) ) (command "rectangle" ptinsertion pt))je sais pas si c'est la meilleur façon mais ça marche Sinon tu peut utiliser la fonction @ en ligne de commandeex: tu pointe le premier point du rectangle, quand AutoCAD te demande le deuxième point tu entre au clavier @X,Y et il prend le dernier point entré comme reference. :D www.le-metal.net, sur la métallerie
PONTIAC95-2 Posté(e) le 11 mars 2005 Posté(e) le 11 mars 2005 Cela devrait fonctionner. ;rect-essai.LSP ;rectangle par 1point et 2longueurs (defun c:rect ();(setq acro (getvar "osmode"))(setq p1 (getpoint "\n POINT bas GAUCHE:"))(setq lgx (getdist "\n Longueur x:"))(setq lgy (getdist "\n Longueur Y:"))(setq p2 (polar p1 pi lgx))(setq p3 (polar p2 (/ pi 2) lgy))(setq p4 (polar p1 (/ pi 2) lgy));(setvar "osmode" 0)(command "_.pline" p1 p2 p3 p4 "c");(setvar "osmode" acro)(princ) ) Bon week-end
didier Posté(e) le 11 mars 2005 Posté(e) le 11 mars 2005 bonsoir Maloul SI tu veux qu'on corrige,donne l'exemple de ce que tu as fait,et à ce moment, il sera aisé de te mettre sur la bonne direction,car te donner des codes qui fonctionnent, n'est pas utile,dans l'optique d'une amélioration de tes possibiltés.sauf si tu veux un truc tout fait et là il faut l'assumer. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
PONTIAC95-2 Posté(e) le 12 mars 2005 Posté(e) le 12 mars 2005 Pour ma part j'utilise bcp les déplacements relatifs ainsi que les reperobjet pour des accrochages projetés et le petit prog que je t'ai donné est un exemple pour apprendre à programmer ayant appris comme ça moi-même tout seul. C'est un peu basique car chaque étape est bien décrite individuellement mais cela m'a permis d'évolué et d'en faire de plus complexes.A +
Laurent_CAMPEDEL Posté(e) le 12 mars 2005 Posté(e) le 12 mars 2005 bonjour tout le monde!!je fais appel à vous car je dois créer un petit programme lisp ( la création d'un rectangle)cette programmation doit comprendre les paramètres suivants:-"donner le point d'insertion du rectangle (en bas à gauche):"-"donner la longueur en X:"-"donner la largeur en Y:"j'ai essayé d'en créer un à partir de ce que j'ai pu voir sur ce forum mais le problème c'est qu'à chaque fois il m'affiche un message "trop d'arguments"en vous remerciant d'avance, je compte sur votre aide. maloul ;) Si je répond qu'il n'y a pas besoin de programme pour créer un tel rectangle, je suis hors jeu ? Pour créer un rectangle comme celui-ci, il suffit d'utiliser la commande "rectangle" d'AutoCAD, de donner un coin du rectangle, puis de donner les coordonnées relatives du coin oposé, soit @x,y (au clavier)..... Laurent CAMPEDELDans l'usage des raccourcis clavier repensés tu trouveras la voie.
maloul Posté(e) le 14 mars 2005 Auteur Posté(e) le 14 mars 2005 :exclam: BONJOUR TOUT LE MONDE ! Tout d'abord merci beaucoup pour votre aide, je m'attendais pas à ce qu'il autant de personnes pour me répondre.En fait j'ai trouvé d'où venait l'erreur dans ce que j'ai programmer.Vous allez vous moquez de moi, mais j'avais oublié des parenthèses. Il faut dire que je viens tout juste de commencer donc j'espère que ce sera pardonnable.Titifonky et PONTIAC95-2, merci pour vos exemples ils m'ont aidé à corriger mes erreurs.Laurent_CAMPEDEL, merci de me rappeler qu'il existe la commande rectangle dans autocad (même si je le savais parfaitement!), mais le truc c'est que je dois m'initié à la programmation maintenant. merci quand même d'avoir répondu!! Didier t'a raison la meilleure des façons c'est de corriger ses fautes au lieu de prendre un exemple déjà tout fait où là j'apprendrais rien! je te donne ma petite prog mais corrigée cette fois-ci. J'ai rajouté le paramètre de surface dedans. ;programme pour le rectangle(defun c:rect()(command "-calque" "e" "rectangle" "co" 110 "" "")(command "-calque" "tl" "continuous" "" "")(setvar "cmdecho" 0)(setvar "attdia" 1)(prompt "\nDessiner votre rectangle...")(terpri)(setq pt0 (getpoint "\npoint d'insertion du rectangle:"))(setq long (getdist "\nlongueur en X du rectangle:"))(setq larg (getdist "\nlargeur en Y du rectangle:"))(setq pt1 (polar pt0 0 long))(setq pt2 (polar pt1 (/ pi 2) larg))(setq pt3 (polar pt0 (/ pi 2) larg))(command "polylign" pt0 pt1 pt2 pt3 "c") ;programme pour donner la surface du rectangle(setq txt (getstring "\nEntrer le nom de votre rectangle:"))(command "aire" "O" (entlast))(setq surface (getvar "area"))(command "texte" "m" pt1 1 0 txt)(command "texte" "" "surface:")(command "texte" "" (fix surface))(command "redess")(command "attecran" "ac" "")(setvar "osmode" 2)(princ)) merci à vous tous
PONTIAC95-2 Posté(e) le 14 mars 2005 Posté(e) le 14 mars 2005 Bon début concernant mon avis perso.En commencant seul de mon côté, j'ai bcp appris en prenant des petits exemples basiques de prog existants, apprenant par la même les commandes et les définitions.Quand tu fais du texte , tu peux aussi concatener au préalable -(strcat pretext (itoa nompt)) par exemple - et cela te permet d'avoir un texte entier au lieu de plusieurs morceaux.Bonne continuation et bon courage.
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