Aller au contenu

besoin d\'aide pour programmer!!


Messages recommandés

Posté(e)

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 ;)

Posté(e)

: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 commande

ex: 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
Posté(e)

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

Posté(e)

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

 

Posté(e)

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 +

 

 

Posté(e)
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 CAMPEDEL

Dans l'usage des raccourcis clavier repensés tu trouveras la voie.

Posté(e)

: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

 

 

 

Posté(e)

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.

 

 

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é