1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| (defun c:POUTRE()
(setvar "osmode" 0)
(command "ortho actif")
(setvar "cmdecho" 0)
(setq P1 (getpoint "\n Cliquer sur le point d'insertion de la poutre"))
(setq d1 (getdist "\n Donner la largeur en cm de l'appui gauche"))
(setq d2 (getdist "\n Donner la largeur en cm de l'appui droit"))
(setq d3 (getdist "\n Donner la hauteur en cm de la poutre"))
(setq d4 (getdist "\n Donner la portée de la poutre"))
(setq d5 (getdist "\n Donner l'enrobage des aciers "))
;Place les points du contour extérieur de la poutre
(setq P2 (polar P1 (/ pi 2) (+ d3 150)))
(setq P3 (polar P2 0 (+ d1 (+ d2 d4))))
(setq P4 (polar P3 (- (/ pi 2)) (+ d3 150)))
;Place les points du contour intérieur de la poutre
(setq P5 (polar P1 0 d1))
(setq P6 (polar P5 (/ pi 2) 150))
(setq P7 (polar P6 0 d4))
(setq P8 (polar p7 (- (/ pi 2)) 150))
;Dessine les barres
(command "calque" "E" "01 BA Coupe" "CO" "U" "255, 0, 255" "" "TL" "Continuous" "" "")
(command "_pline" P1 P2 P3 P4 "")
(command "_pline" P5 P6 P7 P8 "")
(command "calque" "E" "01 BA Fer" "CO" "U" "255, 255, 255" "" "TL" "Continuous" "" "")
(setq d6 (getdist "\n Donner l'espacement au nu de l'appui gauche "))
(setq P9 (polar P6 (/ pi 2) d5))
(setq P10 (polar P9 0 d6 ))
(setq P11 (polar P10 (/ pi 2) (- d3 (+ d5 d5))))
(setq Pb (polar P10 0 1))
(setq b1 (command "_pline" P10 P11 ""))
(while (or (= rep "O")(= rep "OUI"))
(setq e1 (getdist "\n Donner l'espacement "))
(command "_copy" "d" "" 0 e1 ""))
) |
Partager