Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

j'ai suivi les étapes d'un livre pour me donner une routine qui permet de créer un profilé en acier (W)

par contre il se produit une erreur en cour et je ne comprend pas pourquoi.

 

Voici le code :

 

(defun c:test (/ O L H EA ES R)

  (setq O (getpoint "\nPoint un point : "))
  (setq H (getreal "\nDonnez la hauteur du profilé 'd' : "))
  (setq L (getreal "\nDonnez la largeur du profilé 'b' : "))
  (setq EA (getreal "\nDonnez l'épaisseur de l'âme 'w' : "))
  (setq ES (getreal "\nDonnez l'épaisseur de la semelle 't' : "))
  (setq R (getreal "\nDonnez le rayon du raccord 'k,k1' : "))
  (setq pt1 (polar O Pi (/ L 2)))
  (setq pt2 (polar pt1 (/ Pi 2) ES))
  (setq pt3 (polar pt2 0 (/(- L EA) 2)))
  (setq pt4 (list (car pt3) (+ (cadr o)(- H ES))))
  (setq pt5 (list (car pt1) (cadr pt4)))
  (setq pt6 (list (car pt1) (+(cadr pt5) ES)))
  (setq pt7 (polar pt6 0 L))
  (setq pt8 (list(car pt7) (cadr pt5)))
  (setq pt9 (list(+ (car pt4) EA) (cadr pt8)))
  (setq pt10 (list (car pt9) (cadr pt3)))
  (setq pt11 (list (car pt8) (cadr pt10)))
  (setq pt12 (list (car pt11) (cadr pt1)))
  
  (command "pline" O "w" 0 0 pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 O "")
  (command "fillet" "r" R)
  (command "fillet" pt3 pt4 pt4 pt5 pt9 pt10 pt10 pt11 "")

);defun

 

Merci de votre aide.

Posté(e)

Bonjour,

 

Cas classique d’exemples prévu pour tourner sur une version anglaise d’AutoCAD, pour les exemples de ton livre fait précéder les appels aux commandes AutoCAD par _. et les options de commande par _ ,ce qui internationalisera ces dernières.

 

Illustration sur ton code précédent :

(command "_.pline" O "_w" 0 0 pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 O "")
(command "_.fillet" "_r" R)
(command "_.fillet" pt3 pt4 pt4 pt5 pt9 pt10 pt10 pt11 "")

 

Cordialement,

Apprendre => Prendre => Rendre

Posté(e)

Personnellement je ne connais pas les caractéristiques du profil que tu cherches à obtenir, soit tu as fait une erreur de frappe, ou il y a une coquille dans ton livre.

 

Le mieux à faire dans ce cas c’est de « dérouler le programme à la main » pour trouver ou ça cloche.

 

A+

Apprendre => Prendre => Rendre

Posté(e)

Ce sont tes accrobjs mon ami ;)

 

Cherche la syntaxe SETVAR et GETVAR dans nos routines publiées ici, tu comprendras qu'on renregistre la valeur, on mets à zéro (aucun accrochage) et on restitue la valeur.

 

OSMODE est la variable à contrôler.

 

Ensuite tu apprendras à gérer les erreurs, c'est très utile.

 

(j'ai modifié ce sujet en le déplacant dans le forum ad-hoc)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Mouais j'ai finalement trouvée l'erreur hehe!! mais merci quand même pour ton aide. Par contre ou est le forum ad-hoc ???

 

Maintenant J'aimerai transformer certain coin en rayon comment dois-je procéder.. ou plus tôt es-ce qui faudrais que je change la command pline pour ligne que je place chaque ligne en entlast et ensuite que je fasse un fillet pour chaque coin ou j'en ai besoin.

 

Voici une photo :

 

 

Posté(e)

Autre petite question!! pourquoi des fois le program terminer pas les fillets. il en fait que la moitier

 

y aurait-il une modification a faire dans ma routine, quelque chose a rajouter.

 

Voici le code encore hehe : "jcommence a me trouver fatiguant !!"

 

(defun c:pt (/ O L H EA ES R)
 
  (if (= H nil)(setq H 533))
  (if (= L nil)(setq L 209))
  (if (= EA nil)(setq EA 10.2))
  (if (= ES nil)(setq ES 15.6))
  (if (= R nil)(setq R 7.8))
 
  (initget 1 "O N")
  (setq rep(getkword"\n voulez vous changer les paramètres [O/N] : "))
     (if(= rep "O")
        (progn
           
        (setq H (getreal "\nDonnez la hauteur du profilé [d] : "))
        (setq L (getreal "\nDonnez la largeur du profilé [b] : "))
        (setq EA (getreal "\nDonnez l'épaisseur de l'âme [w] : "))
        (setq ES (getreal "\nDonnez l'épaisseur de la semelle [t] : "))
        (setq R (getreal "\nDonnez le rayon du raccord [k,k1] : "))
        
        );progn
               

     );if end


  (setq O (getpoint "\nPointez le point d'origine : "))
  (setq pt1 (polar O pi (/ L 2)))
  (setq pt2 (polar pt1 (/ pi 2)ES))
  (setq pt3 (polar pt2 0 (/(- L EA) 2)))
  (setq pt4 (list (car pt3)(+ (cadr O) (- H ES))))
  (setq pt5 (list (car pt1)(cadr pt4)))
  (setq pt6 (list (car pt1) (+ (cadr pt5) ES)))
  (setq pt7 (polar pt6 0 L))
  (setq pt8 (list(car pt7) (cadr pt5)))
  (setq pt9 (list(+ (car pt4) EA) (cadr pt8)))
  (setq pt10 (list (car pt9) (cadr pt3)))
  (setq pt11 (list (car pt8) (cadr pt10)))
  (setq pt12 (list (car pt11) (cadr pt1)))
 
  
  (setq os(setvar "OSMODE" 0))
 
  (command "_.pline" O pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 O "")
  (command "_.fillet" "_r" R)
  (command "_.fillet" pt2 pt3 "")
  (command "_.fillet" pt3 pt4 "")
  (command "_.fillet" pt4 pt5 "")
  (command "_.fillet" pt5 pt6 "")
  (command "_.fillet" pt8 pt9 "")
  (command "_.fillet" pt9 pt10 "")
  (command "_.fillet" pt10 pt11 "")
  (command "_.fillet" pt11 pt12 "")


  (setq ent1(entlast))
  (command "layer" "m" "-LU POUTRE" "c" "50" "" ""); pas capable de faire fonctionné
  (command "change" ent1 "" "P" "LA" "-LU POUTRE" ""); idem

  (setvar "OSMODE" os)

 (princ)

);defun c:

 

J'essaie aussi de créer un nouveau layer et donner un couleur et sa marche pas..

 

Quoi faire­.... Crier ne changera rien.. en plus jsuis au bureau

Posté(e)

Bonjour,

 

Je ne retrouve pas le post original que j'ai pu faire sur CadXp (la recherche me limite à une date),

néambois un sujet où il est repris

Le lien

 

Si tu veux être sur de l'original

 

Ca peut te donner des idées ...

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

(command "layer" "m" "-LU POUTRE" "c" "50" "" ""); pas capable de faire fonctionné 

 

Quand un "layer" a été "made", on ne peut le remake !

Moi je lance en Français : "calque" "Etablir" (je ne connais pas le raccourci en Anglais), beaucoup plus puissant.

 

 (command "change" ent1 "" "P" "LA" "-LU POUTRE" ""); idem 

 

Utilise la commande CHPROP, mieux, comme çi tu passais par CHANGE puis P, comme tu le fais.

Nécessite plusieurs ENTREE pour sortir.

 

A toi de jouer.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

 

Quand un "layer" a été "made", on ne peut le remake !

Moi je lance en Français : "calque" "Etablir" (je ne connais pas le raccourci en Anglais), beaucoup plus puissant.

 

Pour ton information "établier" c'est "set"

 

Utilise la commande CHPROP, mieux, comme çi tu passais par CHANGE puis P, comme tu le fais.

Nécessite plusieurs ENTREE pour sortir.

 

A toi de jouer.

 

En ce qui concerne CHPROP je le testerais avec le code puis je te redonnerai mon avis. Il semble être une bonne solution.

 

Merci!

 

En tant que nouveau sur la programmation lisp et le nombre d'idee qui me passe par la tête que souvent je ne sais pas trop par ou commencer. Donc je posse pas mal de question.

 

je cherche un répertoire de tout les fonctions lisp en francais mais je ne trouve rien. Surtout les VLA qui sont avec le ActiveX & VBA.

 

Mais bon en meme temps je me dit chaque chose en son temps.

 

Sur ce bonne soirée ou matiné ou journée.

Posté(e)

Mais bon en meme temps je me dit chaque chose en son temps.

 

Mais oui. On préférera largement celui qui progresse doucement et prend le temps de comprendre. Je te déconseille la doc sur VLA. D'abord, prends des routines simples,... en fouillant ici par exemple.

Tu passeras à VLA un jour...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Tu passeras à VLA un jour...

 

Bien qu'un jour j'y parviendrai, le plus vite le mieu.

 

Dans le domaine ou je travail je pense que j'ai besoin de plus grosse connaissance au lisp pour faire mes routine.

 

Je suis dessinateur en coffrage principalement pour l'étaiement de dalle de béton avec des étaiement en aluminium.

si tu veux connaitre l'équipement voici le site. www.echafaudage.ca

 

Le plus souvent je recoit les plans d'un batiment et je dois les nettoyer pour y installer mon équipement.

 

je fais aussi la conception de plan pour des grues a tour. Donc je dois trouver comment faire pour construire un lisp qui va m'aider a aller plus vite.

 

J'ai réussi a trouver une routine qui change mes pages automatiquement selon le nombre de layout se qui m'aide beaucoup.

 

Mais bon tout sa pour dire que jsuis impatient d'en découvrir de plus en plus sur le lisp.

Posté(e)

Si tu es motivé, tu vas t'éclater et apporter de la sureté à ton travail.

Mais prends ton temps car :

 

(/ 5 2) renvoie 2 !

 

L'expérience est importante. Autolisp d'abord, je trouve que c'est bien. Fouille dans les vieilles conversations de CADxp B)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é