Thomas59290 Posté(e) le 12 juillet 2004 Posté(e) le 12 juillet 2004 salut tout le monde, voici mon pb,je souhaite realiser une spire, a section non circulaire (comme un ressort)mais plutot avec des aretes vives... g telechargé le LISP 3dspiral sur ce site, merci bcp d'ailleurs... g donc crée une poly3D, de ce coté la, no soucy,g extrudé ma section sur le profil poly3D mais le pb c'est que la section ne garde pas la normale constante a ma poly3Ddu coup, je me retrouve avec un genre de ressort dont la section varie...au lieu que ma section tourne autour de mon profil, la section reste toujours horizontale, et de ce fait, ca ne repond pas vraiment a ce que je veux faire. voyez vous ce que je veux dire ?? merci de m'aider, je galere depuis 2 jours avec cette routine, mais j'y suis presqueMERCI !!!!Thomas
bonuscad Posté(e) le 13 juillet 2004 Posté(e) le 13 juillet 2004 Pas tout saisi :( Je te propose de regarder à l'adresse suivante (en anglais) voir si ca rejoint ton problème.http://cadtutorforum.net/forum/viewtopic.php?t=477 Si c'est bien cela, et que tu veux récuper le code, il faudra corriger quelques oublis d'othographe international (underscore) devant les options des commandes utilisées. Correction faite, il à l'air de fonctionner (j'ai fait un test rapide). Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Thomas59290 Posté(e) le 13 juillet 2004 Auteur Posté(e) le 13 juillet 2004 merci l'ami molette !!!!!c super, ca fonctionne, c mon chef qui va etre content de voir sa foutue extrusion, correctement dessinée ... Merci pour tout,a bientotThomas
mikL44 Posté(e) le 13 juillet 2004 Posté(e) le 13 juillet 2004 Salut, Je voudrais realiser une rampe d'escalier helicoidale, est ce que ce lisp peut le faire? Si oui,je viens de le charger, pourriez vous m'expliquer comment il fonctionne. Je le lance et la je suis un peu perdu sur son fonctionnement.J'ai mon profil de rampe rectangulaire, et mon chemin d'extrusion en spline.Par ou je commence.
bonuscad Posté(e) le 13 juillet 2004 Posté(e) le 13 juillet 2004 Bon déjà le code corrigé avec messages traduit, on ne sait jamais ;) ; SPIRAL EXTRUSION ; ; mfuccaro@hotmail.com ; ;;;;;;;;- 17.05.2003 -;;;;; (defun c:spirex( / m3 m4 plist pts nwpt nwpts rad ang dist i mm pln ax ang1 s ss h1 pt) (defun m3(a b c / p1 p2 p3 m1 m2 m3) (setq p1 (* (car a) (cadr b) (caddr c)) p2 (* (car b) (cadr c) (caddr a)) p3 (* (car c) (cadr a) (caddr b)) m1 (* (car c) (cadr b) (caddr a)) m2 (* (car a) (cadr c) (caddr b)) m3 (* (car b) (cadr a) (caddr c))) (- (+ p1 p2 p3) (+ m1 m2 m3))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun m4(x a b c / arg1 arg2 arg3) (setq arg1 (list (cadr a) (caddr a) 1) arg2 (list (cadr b) (caddr b) 1) arg3 (list (cadr c) (caddr c) 1) p (* (car x) (m3 arg1 arg2 arg3)) arg1 (list (car a) (caddr a) 1) arg2 (list (car b) (caddr b) 1) arg3 (list (car c) (caddr c) 1) p (- p (* (cadr x) (m3 arg1 arg2 arg3))) arg1 (list (car a) (cadr a) 1) arg2 (list (car b) (cadr b) 1) arg3 (list (car c) (cadr c) 1) p (+ p (* (caddr x) (m3 arg1 arg2 arg3))) p (- p (m3 a b c)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq pln (car (entsel "\n Sélectionner la forme à extruder: ")) ax (getpoint " Point origine des axes?") ang1 (/ (* pi (getreal "\nAngle de rotation (degrés): ")) 180.0) h1 (getdist " Hauteur: ") s (max 5 (getint " Nombre de segments: ")) ang1 (/ ang1 s) h1 (/ h1 s) ss (ssadd)) (setq plist (entget pln) pts nil nwpts nil i 0 rad 0) (repeat (length plist) (if (= (car (nth i plist)) 10) (setq pt (cdr (nth i plist)) pts (cons (list (car pt) (cadr pt) 0) pts) dist (distance pt ax) rad (max rad dist) ang (+ ang1 (atan (- (cadr pt) (cadr ax)) (- (car pt) (car ax)))) nwpt (polar ax ang dist) rad (max rad (distance ax nwpt)) nwpts (cons (list (car nwpt) (cadr nwpt) h1) nwpts))) (setq i (1+ i))) (setq rad (* 1.5 rad) old (getvar "osmode")) (setvar "cmdecho" 0) (setvar "osmode" 0) (command "._undo" "_begin") (command "._sphere" (list (car ax) (cadr ax) 0) rad) (command "._zoom" "_w" (list (+ (car ax) rad) (+ (cadr ax) rad)) (list (- (car ax) rad) (- (cadr ax) rad))) (command "._plan" "") (command "._slice" "_l" "" (car pts) (cadr pts) (caddr pts) (car nwpts)) (command "._slice" "_l" "" (car nwpts) (cadr nwpts) (caddr nwpts) (car pts)) (setq mm (1- (length pts)) i 0) (repeat (1+ mm) (setq j (1+ i)) (if (> j mm) (setq j 0)) (setq k (1- i)) (if (< k 0) (setq k mm)) (if (minusp (* (m4 (nth j nwpts) (nth i pts) (nth j pts) (nth i nwpts)) (m4 (nth k pts) (nth i pts) (nth j pts) (nth i nwpts)))) (progn (command "._slice" "_l" "" (nth i pts) (nth j pts) (nth j nwpts) (nth k pts)) (command "._slice" "_l" "" (nth i nwpts) (nth j nwpts) (nth i pts) (nth k pts))) (progn (command "._slice" "_l" "" (nth i pts) (nth j pts) (nth i nwpts) (nth k pts)) (command "._slice" "_l" "" (nth i nwpts) (nth j nwpts) (nth j pts) (nth k pts)))) (setq i (1+ i))) (setq ss (ssadd (entlast) ss)) (repeat (1- s) (command "._copy" "_l" "" (list 0 0 0) (list 0 0 h1)) (command "._rotate" "_l" "" ax (/ (* ang1 180.0) PI)) (setq ss (ssadd (entlast) ss))) (command "._union" ss "") (setvar "osmode" old) (command "._undo" "_end") (setvar "cmdecho" 1) (princ) ) (princ "\nProgramme EXTRUSION en SPIRALE chargé.") (princ "\tTaper SPIREX pour execution.") (princ) Une fois chargé et executé, tu auras le message Sélectionner la forme à extruder:Choisir alors la section de ta rampe (un rectangle par exemple)Point origine des axes?point de rotation de ton escalier en colimacon (devrait être a environ 1.0m de ta section) Angle de rotation (degrés):Donne la révolution de ta rampe (exemple 360° pour un tour completHauteur:Donne la hauteur verticale que va parcourir ta rampe (exemple 4.50)Nombre de segments:Donne le nombre facettes que tu veux obtenir en final (exemple 64)Plus ce nombre sera élevé, plus la représentation sera fine. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
mikL44 Posté(e) le 13 juillet 2004 Posté(e) le 13 juillet 2004 CA MARCHE merci bonuscad, :D :D nickel comme d'hab tchao
bonuscad Posté(e) le 13 juillet 2004 Posté(e) le 13 juillet 2004 Rendons a César ce qui est à César C'est nickel MFUCCARO Pour la traduc et les corrections mineures, c'était pas bien dur. :P Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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