aero49 Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Bonjour a tous,j'ai voulu essayer une lisp pour créer un escalier hélicoidal en saisissant le programmeparue dans un livre recent:Autocad 3D/Modelisation et Rendu chez Eyrolles.elle doit malgre qu'elle ne soit pas tres grande comporter des erreurs car elle ne fonctionne pas.quelqu'un a t'il deja testé cette lisp? Merci
(gile) Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Salut, Difficile de te répondre sans voir le code.Pour un escalier en colimaçon, tu peux voir ce sujet et ce tutoriel. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
aero49 Posté(e) le 22 janvier 2009 Auteur Posté(e) le 22 janvier 2009 Effectivement,Sur le site CADxp, j'ai essayé avec succes les lisp proposés et RES_HELICEen particuliercependant je trouve frustrant d'acheter un livre ou le programme proposépour s'intéresser au possibilités du lisp ne fonctionne pas;voila le lisp en question:il est evident qu'il y a des erreurs ne serait-ce que de syntaxemais cela n'est pas(encore) de ma compétance! (defun c:esca (/name insp rot rise ntrd c trd end dtr echg) (defun dtr (a) ;Conversion des degrés en radians(*pi(/a 180.0))) (defun echg (ent fdl val)(setq ent (subst'cons fdl val)(assoc fdl ent) ent))(entmod ent)) (setq name (getstring "Nom du bloc:")inspt (getpoint "Point de base:")rot(dtr(getreal "Angle de Rotation par marche:"))rise(getdist"Hauteur de marche:")ntrd(getint"Nombre de marche:")c0 )(command"_insert"name inspt110)(setq trd(entlast))(repeat(1-ntdr)(setq c(1+c))(entmake(entget trd))(setq ent(entget(entlast)))(setq ent(echg ent 50(*rot c)))(setq ent(echg ent 10(list(car inspt)(cadr inspt)(*rise c)))) Merci au volontaires Renaud ))
(gile) Posté(e) le 22 janvier 2009 Posté(e) le 22 janvier 2009 Salut, Voilà le LISP corrigé, il manquait des espaces, des parenthèses et un nom de variable était mal orthographié. (defun c:esca (/ name insp rot rise ntrd c trd end dtr echg) (defun dtr (a) ;Conversion des degrés en radians (* pi (/ a 180.0)) ) (defun echg (ent fdl val) (setq ent (subst (cons fdl val) (assoc fdl ent) ent ) ) (entmod ent) ) (setq name (getstring "Nom du bloc:") inspt (getpoint "Point de base:") rot (dtr (getreal "Angle de Rotation par marche:")) rise (getdist "Hauteur de marche:") ntrd (getint "Nombre de marche:") c 0 ) (command "_insert" name inspt 1 1 0) (setq trd (entlast)) (repeat (1- ntrd) (setq c (1+ c)) (entmake (entget trd)) (setq ent (entget (entlast))) (setq ent (echg ent 50 (* rot c))) (setq ent (echg ent 10 (list (car inspt) (cadr inspt) (* rise c)))) ) ) Ce LISP fait à peu près la même chose que Res_Hel mais en moins bien (et je ne dis pas ça parce que c'est moi qui ait écrit Res_Hel). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
aero49 Posté(e) le 26 janvier 2009 Auteur Posté(e) le 26 janvier 2009 Merci gile,je viens de tester le nouveau lisp apres correction et c'est okeffectivement ton res-heli est bien plus complet et pratique avec sa fenetre de parametrage A bientotRenaud
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