kohen.g Posté(e) le 5 juin 2009 Posté(e) le 5 juin 2009 Bonjour,Comment je peux faire pour rajouter des profilés UPN Cornière ect... Ci joint le lisp d'origine (defun c:IPN ( / IPE_data IPEA_data HEA_data HEB_data HEM_data PA_datasv_mnu typ_ipn l_data l_str model_ipn l_val pt_ins h b a e rpo p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16)(setqIPE_data'((80 . (80 46.0 3.8 5.2 5))(100 . (100 55.0 4.1 5.7 7))(120 . (120 64.0 4.4 6.3 7))(140 . (140 73.0 4.7 6.9 7))(160 . (160 82.0 5.0 7.4 9))(180 . (180 91.0 5.3 8.0 9))(200 . (200 100.0 5.6 8.5 12))(220 . (220 110.0 5.9 9.2 12))(240 . (240 120.0 6.2 9.8 15))(270 . (270 135.0 6.6 10.2 15))(300 . (300 150.0 7.1 10.7 15))(330 . (330 160.0 7.5 11.5 18))(360 . (360 170.0 8.0 12.7 18))(400 . (400 180.0 8.6 13.5 21))(450 . (450 190.0 9.4 14.6 21))(500 . (500 200.0 10.2 16.0 21))(550 . (550 210.0 11.1 17.2 24))(600 . (600 220.0 12.0 19.0 24)))IPEA_data'((80 . (78.0 46 3.3 4.2 5))(100 . (98.0 55 3.6 4.7 7))(120 . (117.6 64 3.8 5.1 7))(140 . (137.4 73 3.8 5.6 7))(160 . (157.0 82 4.0 5.9 9))(180 . (177.0 91 4.3 6.5 9))(200 . (197.0 100 4.5 7.0 12))(220 . (217.0 110 5.0 7.7 12))(240 . (237.0 120 5.2 8.3 15))(270 . (267.0 135 5.5 8.7 15))(300 . (297.0 150 6.1 9.2 15))(330 . (327.0 160 6.5 10.0 18))(360 . (357.6 170 6.6 11.5 18))(400 . (397.0 180 7.0 12.0 21))(450 . (447.0 190 7.6 13.1 21))(500 . (497.0 200 8.4 14.5 21))(550 . (547.0 210 9.0 15.7 24))(600 . (597.0 220 9.8 17.5 24)))HEA_data'((100 . (96.0 100 5.0 8.0 12))(120 . (114.0 120 5.0 8.0 12))(140 . (133.0 140 5.5 8.5 12))(160 . (152.0 160 6.0 9.0 15))(180 . (171.0 180 6.0 9.5 15))(200 . (190.0 200 6.5 10.0 18))(220 . (210.0 220 7.0 11.0 18))(240 . (230.0 240 7.5 12.0 21))(260 . (250.0 260 7.5 12.5 24))(280 . (270.0 280 8.0 13.0 24))(300 . (290.0 300 8.5 14.0 27))(320 . (310.0 300 9.0 15.5 27))(340 . (330.0 300 9.5 16.5 27))(360 . (350.0 300 10.0 17.5 27))(400 . (390.0 300 11.0 19.0 27))(450 . (440.0 300 11.5 21.0 27))(500 . (490.0 300 12.0 23.0 27))(550 . (540.0 300 12.5 24.0 27))(600 . (590.0 300 13.0 25.0 27))(650 . (640.0 300 13.5 26.0 27))(700 . (690.0 300 14.5 27.0 27))(800 . (790.0 300 15.0 28.0 30))(900 . (890.0 300 16.0 30.0 30))(1000 . (990.0 300 16.5 31.0 30))(1100 . (1090.0 300 18.0 31.0 20)))HEB_data'((100 . (100 100 6.0 10.0 12))(120 . (120 120 6.5 11.0 12))(140 . (140 140 7.0 12.0 12))(160 . (160 160 8.0 13.0 15))(180 . (180 180 8.5 14.0 15))(200 . (200 200 9.0 15.0 18))(220 . (220 220 9.5 16.0 18))(240 . (240 240 10.0 17.0 21))(260 . (260 260 10.0 17.5 24))(280 . (280 280 10.5 18.0 24))(300 . (300 300 11.0 19.0 27))(320 . (320 300 11.5 20.5 27))(340 . (340 300 12.0 21.5 27))(360 . (360 300 12.5 22.5 27))(400 . (400 300 13.5 24.0 27))(450 . (450 300 14.0 26.0 27))(500 . (500 300 14.5 28.0 27))(550 . (550 300 15.0 29.0 27))(600 . (600 300 15.5 30.0 27))(650 . (650 300 16.0 31.0 27))(700 . (700 300 17.0 32.0 27))(800 . (800 300 17.5 33.0 30))(900 . (900 300 18.5 35.0 30))(1000 . (1000 300 19.0 36.0 30))(1100 . (1100 300 20.0 36.0 20)))HEM_data'((100 . (120 106 12.0 20.0 12))(120 . (140 126 12.5 21.0 12))(140 . (160 146 13.0 22.0 12))(160 . (180 166 14.0 23.0 15))(180 . (200 186 14.5 24.0 15))(200 . (220 206 15.0 25.0 18))(220 . (240 226 15.5 26.0 18))(240 . (270 248 18.0 32.0 21))(260 . (290 268 18.0 32.5 24))(280 . (310 288 18.5 33.0 24))(300 . (340 310 21.0 39.0 27))(320 . (359 309 21.0 40.0 27))(340 . (377 309 21.0 40.0 27))(360 . (395 308 21.0 40.0 27))(400 . (432 307 21.0 40.0 27))(450 . (478 307 21.0 40.0 27))(500 . (524 306 21.0 40.0 27))(550 . (572 306 21.0 40.0 27))(600 . (620 305 21.0 40.0 27))(650 . (668 305 21.0 40.0 27))(700 . (716 304 21.0 40.0 27))(800 . (814 303 21.0 40.0 30))(900 . (910 302 21.0 40.0 30))(1000 . (1008 302 21.0 40.0 30)))PA_data IPEA_data)(setq sv_mnu (getvar "SHORTCUTMENU"))(setvar "SHORTCUTMENU" 11)(initget 1 "IPE IPEA PA HEA HEB HEM")(setq typ_ipn (getkword "\nType de poutre [iPE/IPEA/PA/HEA/HEB/HEM]?: "))(setq l_data (eval (read (strcat typ_ipn "_data"))))(setq l_str nil)(initget 1 (apply 'strcat (mapcar 'strcat (repeat (length l_data) (setq l_str (cons "M" l_str))) (mapcar 'itoa (mapcar 'car l_data)) (repeat (length l_data) (setq l_str (cons " " l_str))))))(setq l_str nil)(setq model_ipn (getkword (strcat "\nModèle de poutre ["(apply 'strcat (mapcar 'strcat (repeat (length l_data) (setq l_str (cons "M" l_str))) (mapcar 'itoa (mapcar 'car l_data)) (repeat (length l_data) (setq l_str (cons "/" l_str)))))"]?: ")))(setvar "SHORTCUTMENU" sv_mnu)(setq l_val (cdr (assoc (atoi (substr model_ipn 2)) l_data)))(initget 1)(setq pt_ins (getpoint "\nPoint d'insertion?: "))(setq h (car l_val) b (cadr l_val) a (caddr l_val) e (cadddr l_val) r (last l_val))(setqpo (polar pt_ins (* pi 0.5) (* h -0.5))p1 (polar po 0.0 (* b 0.5))p2 (polar p1 (* pi 0.5) e)p3 (polar p2 pi (- (* b 0.5) (* a 0.5) r))p4 (polar (polar p3 (* pi 0.5) r) pi r)p5 (polar p4 (* pi 0.5) (- h (* 2.0 r) (* 2.0 e)))p6 (polar (polar p5 0.0 r) (* pi 0.5) r)p7 (polar p6 0.0 (- (* b 0.5) (* a 0.5) r))p8 (polar p7 (* pi 0.5) e)p9 (polar p8 pi b)p10 (polar p9 (- (* pi 0.5)) e)p11 (polar p10 0.0 (- (* b 0.5) (* a 0.5) r))p12 (polar (polar p11 (- (* pi 0.5)) r) 0.0 r)p13 (polar p12 (- (* pi 0.5)) (- h (* 2.0 r) (* 2.0 e)))p14 (polar (polar p13 pi r) (- (* pi 0.5)) r)p15 (polar p14 pi (- (* b 0.5) (* a 0.5) r))p16 (polar p15 (- (* pi 0.5)) e))(setvar "cmdecho" 0)(command "_.pline" "_none" p1 "_none" p2 "_none" p3 "_arc" "_none" p4 "_line" "_none" p5"_arc" "_none" p6 "_line" "_none" p7 "_none" p8 "_none" p9 "_none" p10 "_none" p11"_arc" "_none" p12 "_line" "_none" p13 "_arc" "_none" p14 "_line" "_none" p15 "_none" p16"_close")(setvar "cmdecho" 1)(command "_.extrude" (entlast) "")(prin1))
bonuscad Posté(e) le 5 juin 2009 Posté(e) le 5 juin 2009 Comment je peux faire pour rajouter des profilés UPN Cornière ect... Dans ce cas précis, vu que la séquence du dessin du profilé n'est plus la même, le rajout de ces profilés nécessitent du développement en plus si on veut l'associer. L'option la plus simple est de créer 2 fonctions similaire à IPN (UPN, Corniere) en modifiant la séquence de calcul des points avant de soumettre ceux-ci à la commande polyligne. Après les matrices de données pour les dimensions normalisées, je pense que tu auras plus de sources que moi pour les mettre en place. Ce lien lien te sera t-il utile? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
usegomme Posté(e) le 5 juin 2009 Posté(e) le 5 juin 2009 Salut Etude0, as-tu essayé FTD.lsp qui est associé à PROFIL.lsp Dans ce post
kohen.g Posté(e) le 5 juin 2009 Auteur Posté(e) le 5 juin 2009 Bonsoir ,Oui mais le probleme c'est que c'est pas pratique si tu veux modifier la longueur tu dois extruder les faces pour augmenter ou diminuer , Alors que le lips IPN tu modifie les longueurs en tirant dessus
didier Posté(e) le 6 juin 2009 Posté(e) le 6 juin 2009 Coucou ce que j'ai lu dans le lisp cité comme exempleme laisse dubitatif quant à la possibilité de faire ce que tu dis : Alors que le lisp IPN tu modifies les longueurs en tirant dessus (je me suis permis de corriger les fautes (de frappe)) puisqu'il est question d'EXTRUSION,je ne vois pas, comment l'étirer en tirant dessustu peux toujours éditer des faces mais jamais étirer amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
bonuscad Posté(e) le 6 juin 2009 Posté(e) le 6 juin 2009 Bonjour Didier, puisqu'il est question d'EXTRUSION,je ne vois pas, comment l'étirer en tirant dessustu peux toujours éditer des faces mais jamais étirer Par les grips tu peux étirer la hauteur; il y a une poignée spéciale pour la hauteur d'extrusion (se mettre en vue 3D, pour bien la différencier) Cela peut être fait aussi par le volet des propriétés (hauteur)Ceci bien sur pour des solides construit par extrusion. ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
didier Posté(e) le 7 juin 2009 Posté(e) le 7 juin 2009 Coucou comme quoi, on est toujours à un pas ...de la connaissance, je n'avais jamais testé et c'est pas mal du tout jusqu'ici je faisais comme en 2D la commande ETIRERce qui ne fonctionne pas comme je le citais... merci de m'avoir filé ce tuyau. amicalement. Éternel débutant... Mon site perso : Programmer dans AutoCAD
kohen.g Posté(e) le 7 juin 2009 Auteur Posté(e) le 7 juin 2009 BonsoirDite moi ca va faire un peu faignant mais y a personne qui voudrais essayer de modifier ce lisp en y rajouter les profilé manquant , ou alors y aurait-il quelqu'un qui aura des cours en francais de programmation en Lisp Merci
lili2006 Posté(e) le 7 juin 2009 Posté(e) le 7 juin 2009 Bonsoir à toutes et tous, francais de programmation en Lisp A plusieurs reprises (gile) et Patrick_35 ont donné des liens très intéressants,... une petite recherche de ta part s'impose donc,. ;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
usegomme Posté(e) le 8 juin 2009 Posté(e) le 8 juin 2009 Bonjour Oui mais le probleme c'est que c'est pas pratique si tu veux modifier la longueur tu dois extruder les faces pour augmenter ou diminuer ,Alors que le lips IPN tu modifie les longueurs en tirant dessus Je m'étonne de ta remarque, etude0 , car dans les deux lisp le profil métallique en 3d est généré par la commande "extrude" , il n'y a donc pas de différence et de plus je viens de le vérifier avec ma 2008 pour en être sûr. Ce ne serait pas un faux souvenir plutôt?
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