Aller au contenu

Bibli Lisp 2D en 3D?


kohen.g

Messages recommandés

Bonjour,

J'aimerais savoir si cela était possible de rendre ce lisp ci joint 2D le rendre en 3D si oui ,j'en ai d'autres merci au Lispeur:

 

 

;;;impac ingenierie 


(defun erpoutre ()
(setvar "osmode" osm)
(setq p1 nil p2 nil p3 nil p4 nil p5 nil p6 nil
 h nil b nil a nil e nil r nil 
 pola1 nil pola2 nil polb1 nil polb2 nil axe1 nil axe2 nil
 polc1 nil polc2 nil pold1 nil pold2 nil a nil osm nil dim nil)
(setvar "cmdecho" 1)
(setq *error* m:err m:err nil)
(princ)
)


;;   convertir des angle de degre en radian
(defun conv (a)
(* pi (/ a 180.0))
)


(defun ipe (h1)
(cond
((= h1 80)  (progn (setq h h1 b 46.0  a 3.8   e 5.2  r 5)))
((= h1 100) (progn (setq h h1 b 55.0  a 4.10  e 5.7  r 7)))
((= h1 120) (progn (setq h h1 b 64.0  a 4.4   e 6.3  r 7)))
((= h1 140) (progn (setq h h1 b 73.0  a 4.70  e 6.9  r 7)))
((= h1 160) (progn (setq h h1 b 82.0  a 5.0   e 7.4  r 9)))
((= h1 180) (progn (setq h h1 b 91.0  a 5.30  e 8.0  r 9)))
((= h1 200) (progn (setq h h1 b 100.0 a 5.6   e 8.5  r 12)))
((= h1 220) (progn (setq h h1 b 110.0 a 5.90  e 9.2  r 12)))
((= h1 240) (progn (setq h h1 b 120.0 a 6.2   e 9.8  r 15)))
((= h1 270) (progn (setq h h1 b 135.0 a 6.6   e 10.2 r 15)))
((= h1 300) (progn (setq h h1 b 150.0 a 7.10  e 10.7 r 15)))
((= h1 330) (progn (setq h h1 b 160.0 a 7.50  e 11.5 r 18)))
((= h1 360) (progn (setq h h1 b 170.0 a 8.0   e 12.7 r 18)))
((= h1 400) (progn (setq h h1 b 180.0 a 8.6   e 13.5 r 21)))
((= h1 450) (progn (setq h h1 b 190.0 a 9.4   e 14.6 r 21)))
((= h1 500) (progn (setq h h1 b 200.0 a 10.2  e 16.0 r 21)))
((= h1 550) (progn (setq h h1 b 210.0 a 11.10 e 17.2 r 24)))
((= h1 600) (progn (setq h h1 b 220.0 a 12.0  e 19.0 r 24)))
))

(defun ipea/pa (h1)
(cond
((= h1 80)  (progn (setq h 78.0	 b 46  a 3.3 e 4.2  r 5)))
((= h1 100) (progn (setq h 98.0	 b 55  a 3.6 e 4.7  r 7)))
((= h1 120) (progn (setq h 117.6 b 64  a 3.8 e 5.1  r 7)))
((= h1 140) (progn (setq h 137.4 b 73  a 3.8 e 5.6  r 7)))
((= h1 160) (progn (setq h 157.0 b 82  a 4.0 e 5.9  r 9)))

((= h1 180) (progn (setq h 177.0 b 91  a 4.3 e 6.5  r 9)))
((= h1 200) (progn (setq h 197.0 b 100 a 4.5 e 7.0  r 12)))
((= h1 220) (progn (setq h 217.0 b 110 a 5.0 e 7.7  r 12)))
((= h1 240) (progn (setq h 237.0 b 120 a 5.2 e 8.3  r 15)))
((= h1 270) (progn (setq h 267.0 b 135 a 5.5 e 8.7  r 15)))
((= h1 300) (progn (setq h 297.0 b 150 a 6.1 e 9.2  r 15)))
((= h1 330) (progn (setq h 327.0 b 160 a 6.5 e 10.0 r 18)))
((= h1 360) (progn (setq h 357.6 b 170 a 6.6 e 11.5 r 18)))
((= h1 400) (progn (setq h 397.0 b 180 a 7.0 e 12.0 r 21)))
((= h1 450) (progn (setq h 447.0 b 190 a 7.6 e 13.1 r 21)))
((= h1 500) (progn (setq h 497.0 b 200 a 8.4 e 14.5 r 21)))
((= h1 550) (progn (setq h 547.0 b 210 a 9.0 e 15.7 r 24)))
((= h1 600) (progn (setq h 597.0 b 220 a 9.8 e 17.5 r 24)))
))


(defun hea (h1)
(cond
((= h1 100)  (progn (setq h 96.0  b 100 a 5.00  e 8    r 12)))
((= h1 120)  (progn (setq h 114.0 b 120 a 5.00  e 8    r 12)))
((= h1 140)  (progn (setq h 133.0 b 140 a 5.50  e 8.5  r 12)))
((= h1 160)  (progn (setq h 152.0 b 160 a 6.00  e 9    r 15)))
((= h1 180)  (progn (setq h 171.0 b 180 a 6.00  e 9.5  r 15)))
((= h1 200)  (progn (setq h 190.0 b 200 a 6.50  e 10   r 18)))
((= h1 220)  (progn (setq h 210.0 b 220 a 7.00  e 11   r 18)))
((= h1 240)  (progn (setq h 230.0 b 240 a 7.50  e 12   r 21)))
((= h1 260)  (progn (setq h 250.0 b 260 a 7.50  e 12.5 r 24)))
((= h1 280)  (progn (setq h 270.0 b 280 a 8.00  e 13   r 24)))
((= h1 300)  (progn (setq h 290.0 b 300 a 8.50  e 14   r 27)))
((= h1 320)  (progn (setq h 310.0 b 300 a 9.00  e 15.5 r 27)))
((= h1 340)  (progn (setq h 330.0 b 300 a 9.50  e 16.5 r 27)))
((= h1 360)  (progn (setq h 350.0 b 300 a 10.00 e 17.5 r 27)))
((= h1 400)  (progn (setq h 390.0 b 300 a 11.00 e 19   r 27)))
((= h1 450)  (progn (setq h 440.0 b 300 a 11.50 e 21   r 27)))
((= h1 500)  (progn (setq h 490.0 b 300 a 12.00 e 23   r 27)))
((= h1 550)  (progn (setq h 540.0 b 300 a 12.50 e 24   r 27)))
((= h1 600)  (progn (setq h 590.0 b 300 a 13.00 e 25   r 27)))
((= h1 650)  (progn (setq h 640.0 b 300 a 13.50 e 26   r 27)))
((= h1 700)  (progn (setq h 690.0 b 300 a 14.50 e 27   r 27)))
((= h1 800)  (progn (setq h 790.0 b 300 a 15.00 e 28   r 30)))
((= h1 900)  (progn (setq h 890.0 b 300 a 16.00 e 30   r 30)))
((= h1 1000) (progn (setq h 990.0 b 300 a 16.50 e 31   r 30)))
((= h1 1100) (progn (setq h 1090  b 300 a 18.00 e 31   r 20)))
))


(defun heb (h1)
(cond
((= h1 100)  (progn (setq h h1 b 100 a 6.00  e 10   r 12)))
((= h1 120)  (progn (setq h h1 b 120 a 6.50  e 11   r 12)))
((= h1 140)  (progn (setq h h1 b 140 a 7.00  e 12   r 12)))
((= h1 160)  (progn (setq h h1 b 160 a 8.00  e 13   r 15)))
((= h1 180)  (progn (setq h h1 b 180 a 8.50  e 14   r 15)))
((= h1 200)  (progn (setq h h1 b 200 a 9.00  e 15   r 18)))
((= h1 220)  (progn (setq h h1 b 220 a 9.50  e 16   r 18)))
((= h1 240)  (progn (setq h h1 b 240 a 10.0  e 17   r 21)))
((= h1 260)  (progn (setq h h1 b 260 a 10.0  e 17.5 r 24)))
((= h1 280)  (progn (setq h h1 b 280 a 10.50 e 18   r 24)))
((= h1 300)  (progn (setq h h1 b 300 a 11.0  e 19   r 27)))
((= h1 320)  (progn (setq h h1 b 300 a 11.50 e 20.5 r 27)))
((= h1 340)  (progn (setq h h1 b 300 a 12.0  e 21.5 r 27)))
((= h1 360)  (progn (setq h h1 b 300 a 12.50 e 22.5 r 27)))
((= h1 400)  (progn (setq h h1 b 300 a 13.50 e 24   r 27)))
((= h1 450)  (progn (setq h h1 b 300 a 14.0  e 26   r 27)))
((= h1 500)  (progn (setq h h1 b 300 a 14.50 e 28   r 27)))
((= h1 550)  (progn (setq h h1 b 300 a 15.0  e 29   r 27)))
((= h1 600)  (progn (setq h h1 b 300 a 15.50 e 30   r 27)))
((= h1 650)  (progn (setq h h1 b 300 a 16.0  e 31   r 27)))
((= h1 700)  (progn (setq h h1 b 300 a 17.0  e 32   r 27)))
((= h1 800)  (progn (setq h h1 b 300 a 17.50 e 33   r 30)))
((= h1 900)  (progn (setq h h1 b 300 a 18.50 e 35   r 30)))
((= h1 1000) (progn (setq h h1 b 300 a 19.0  e 36   r 30)))
((= h1 1100) (progn (setq h h1 b 300 a 20.0  e 36   r 20)))
))





(defun hem (h1)
(cond
((= h1 100)  (progn (setq h 120 b 106 a 12.0  e 20 r 12)))
((= h1 120)  (progn (setq h 140 b 126 a 12.50 e 21 r 12)))
((= h1 140)  (progn (setq h 160 b 146 a 13.0  e 22 r 12)))
((= h1 160)  (progn (setq h 180 b 166 a 14.0  e 23 r 15)))
((= h1 180)  (progn (setq h 200 b 186 a 14.50 e 24 r 15)))
((= h1 200)  (progn (setq h 220 b 206 a 15.0  e 25 r 18)))
((= h1 220)  (progn (setq h 240 b 226 a 15.50 e 26 r 18)))
((= h1 240)  (progn (setq h 270 b 248 a 18.0  e 32 r 21)))
((= h1 260)  (progn (setq h 290 b 268 a 18.0  e 32.5 r 24)))
((= h1 280)  (progn (setq h 310 b 288 a 18.50 e 33 r 24)))
((= h1 300)  (progn (setq h 340 b 310 a 21.0  e 39 r 27)))
((= h1 320)  (progn (setq h 359 b 309 a 21.0  e 40 r 27)))
((= h1 340)  (progn (setq h 377 b 309 a 21.0  e 40 r 27)))
((= h1 360)  (progn (setq h 395 b 308 a 21.0  e 40 r 27)))
((= h1 400)  (progn (setq h 432 b 307 a 21.0  e 40 r 27)))
((= h1 450)  (progn (setq h 478 b 307 a 21.0  e 40 r 27)))
((= h1 500)  (progn (setq h 524 b 306 a 21.0  e 40 r 27)))
((= h1 550)  (progn (setq h 572 b 306 a 21.0  e 40 r 27)))
((= h1 600)  (progn (setq h 620 b 305 a 21.0  e 40 r 27)))
((= h1 650)  (progn (setq h 668 b 305 a 21.0  e 40 r 27)))
((= h1 700)  (progn (setq h 716 b 304 a 21.0  e 40 r 27)))
((= h1 800)  (progn (setq h 814 b 303 a 21.0  e 40 r 30)))
((= h1 900)  (progn (setq h 910 b 302 a 21.0  e 40 r 30)))
((= h1 1000) (progn (setq h 1008 b 302 a 21.0 e 40 r 30)))

))





(defun c:inspoutre ()
(setq osm (getvar "osmode" ))
(setvar "cmdecho" 1)
(setq 	type (getstring))

(cond 
((= type "ipe") (progn
	(menucmd "p0=charpente.p0ipe")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(ipe h1)
))
((= type "ipea") (progn
	(menucmd "p0=charpente.p0ipea")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(ipea/pa h1)
))
((= type "pa") (progn
	(menucmd "p0=charpente.p0pa")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(ipea/pa h1)
))
((= type "hea") (progn
	(menucmd "p0=charpente.p0hea")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(hea h1)
))
((= type "heb") (progn
	(menucmd "p0=charpente.p0heb")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(heb h1)
))
((= type "hem") (progn
	(menucmd "p0=charpente.p0hem")
	(menucmd "P0=*")
	(setq h1 (getdist))
	(hem h1)
))
)


(menucmd "p0=charpente.p0coupe-longueur")
(menucmd "P0=*")
(setq s (getstring))


(cond
((= s "coupe") (progn

(setvar "osmode" 35)
(setq	p (getpoint "n\      POINT D'INSERTION : "))
(setvar "osmode" 35)
(setq	h (/ h 2)
	b (/ b 2)
	a (/ a 2)
	pid (/ pi 2)
	p1 (polar p pid h)
	p2 (polar p1 0 b)
	p3 (polar p2 pid (- 0 e))
	p4 (polar p3 pi (- b a))
	p5 (polar p 0 a)
)
(setvar "osmode" 0)

(command "ligne" p p1"")
(setq axe1 (entlast))
(command "changer" axe1 "" "pr" "t" "axes" "co" "4" "")

(command "polylign" p1 p2 p3 "")
(setq pola1 (entlast))
(command "polylign" p3 p4 p5 "")
(setq pola2 (entnext pola1))
(command "raccord" "r" r
	 "raccord" "p" pola2
	 "miroir" pola1 pola2 axe1 ""p p5 "")
(setq 	polb1 (entnext pola2)
	polb2 (entnext polb1)
	axe2 (entnext polb2 )
)
(command "miroir" pola1 pola2 polb1 polb2 ""p p1 "")
(setq 	polc1 (entnext axe2)
	polc2 (entnext polc1)
	pold1 (entnext polc2)
	pold2 (entnext pold1)
)

(setvar "osmode" 35)
(command "rotation" axe1 axe2 pola1 pola2 polb1 polb2 polc1 polc2 pold1 pold2 ""p pause) 
))


((= s "longueur") (progn

(setq 	s1 (getstring))
(if (= s1 "dessus") (progn (setq h b e (/ a 2) e (- (/ b 2) e))))

(setvar "osmode" 35)
(setq	p1 (getpoint "n\     premier POINT  : "))
(setq	p2 (getpoint p1 "n\     deuxieme POINT  : "))
(setvar "osmode" 0)

(setq ang (angle p1 p2))

(setq 	h (/ h 2)
	pid (/ pi 2)
	p3 (polar p1 (+ ang pid) h)
	p4 (polar p3 (- ang pid) e)
	p5 (polar p2 (+ ang pid) h)
	p6 (polar p5 (- ang pid) e)
)

(command	"ligne" p1 p2""	 
		"changer" "d""" "pr" "t" "axes" "co" "4" ""
		"polylign" p1 p3 p5 p2""
		"miroir" "d""" p1 p2"""n"
		"ligne" p4 p6"")
(setq lig1 (entlast))
(command	"miroir" lig1"" p1 p2"""n")

(if (= s1 "dessus") (progn (command "changer" lig1 "d""" "pr" "t" "cache""")))

))
)


(erpoutre)
)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 58
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Salut,

 

Une autre alternative que le lien proposé par (gile) qui demande l'installation de plusieurs fichiers

 

Je te propose un lisp unique (reprenant tes données ci-dessus).

Celui ci génère automatiquement les choix des types et dimensions valide par rapport à ta base de donnée dans le clic-droit (cela évite de monter un DCL)

 

(defun c:IPN ( / IPE_data IPEA_data HEA_data HEB_data HEM_data PA_data
               sv_mnu typ_ipn l_data l_str model_ipn unit_key unit_draw l_val pt_ins h b a e r
               po p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16)
(setq
 IPE_data
   '(
      (80 . (80.0 46.0 3.8 5.2 5.0))
     (100 . (100.0 55.0 4.1 5.7 7.0))
     (120 . (120.0 64.0 4.4 6.3 7.0))
     (140 . (140.0 73.0 4.7 6.9 7.0))
     (160 . (160.0 82.0 5.0 7.4 9.0))
     (180 . (180.0 91.0 5.3 8.0 9.0))
     (200 . (200.0 100.0 5.6 8.5 12.0))
     (220 . (220.0 110.0 5.9 9.2 12.0))
     (240 . (240.0 120.0 6.2 9.8 15.0))
     (270 . (270.0 135.0 6.6 10.2 15.0))
     (300 . (300.0 150.0 7.1 10.7 15.0))
     (330 . (330.0 160.0 7.5 11.5 18.0))
     (360 . (360.0 170.0 8.0 12.7 18.0))
     (400 . (400.0 180.0 8.6 13.5 21.0))
     (450 . (450.0 190.0 9.4 14.6 21.0))
     (500 . (500.0 200.0 10.2 16.0 21.0))
     (550 . (550.0 210.0 11.1 17.2 24.0))
     (600 . (600.0 220.0 12.0 19.0 24.0))
   )
 IPEA_data
   '(
      (80 . (78.0 46.0 3.3 4.2 5.0))
     (100 . (98.0 55.0 3.6 4.7 7.0))
     (120 . (117.6 64.0 3.8 5.1 7.0))
     (140 . (137.4 73.0 3.8 5.6 7.0))
     (160 . (157.0 82.0 4.0 5.9 9.0))
     (180 . (177.0 91.0 4.3 6.5 9.0))
     (200 . (197.0 100.0 4.5 7.0 12.0))
     (220 . (217.0 110.0 5.0 7.7 12.0))
     (240 . (237.0 120.0 5.2 8.3 15.0))
     (270 . (267.0 135.0 5.5 8.7 15.0))
     (300 . (297.0 150.0 6.1 9.2 15.0))
     (330 . (327.0 160.0 6.5 10.0 18.0))
     (360 . (357.6 170.0 6.6 11.5 18.0))
     (400 . (397.0 180.0 7.0 12.0 21.0))
     (450 . (447.0 190.0 7.6 13.1 21.0))
     (500 . (497.0 200.0 8.4 14.5 21.0))
     (550 . (547.0 210.0 9.0 15.7 24.0))
     (600 . (597.0 220.0 9.8 17.5 24.0))
   )
 HEA_data
   '(
     (100 . (96.0 100.0 5.0 8.0 12.0))
     (120 . (114.0 120.0 5.0 8.0 12.0))
     (140 . (133.0 140.0 5.5 8.5 12.0))
     (160 . (152.0 160.0 6.0 9.0 15.0))
     (180 . (171.0 180.0 6.0 9.5 15.0))
     (200 . (190.0 200.0 6.5 10.0 18.0))
     (220 . (210.0 220.0 7.0 11.0 18.0))
     (240 . (230.0 240.0 7.5 12.0 21.0))
     (260 . (250.0 260.0 7.5 12.5 24.0))
     (280 . (270.0 280.0 8.0 13.0 24.0))
     (300 . (290.0 300.0 8.5 14.0 27.0))
     (320 . (310.0 300.0 9.0 15.5 27.0))
     (340 . (330.0 300.0 9.5 16.5 27.0))
     (360 . (350.0 300.0 10.0 17.5 27.0))
     (400 . (390.0 300.0 11.0 19.0 27.0))
     (450 . (440.0 300.0 11.5 21.0 27.0))
     (500 . (490.0 300.0 12.0 23.0 27.0))
     (550 . (540.0 300.0 12.5 24.0 27.0))
     (600 . (590.0 300.0 13.0 25.0 27.0))
     (650 . (640.0 300.0 13.5 26.0 27.0))
     (700 . (690.0 300.0 14.5 27.0 27.0))
     (800 . (790.0 300.0 15.0 28.0 30.0))
     (900 . (890.0 300.0 16.0 30.0 30.0))
    (1000 . (990.0 300.0 16.5 31.0 30.0))
    (1100 . (1090.0 300.0 18.0 31.0 20.0))
   )
 HEB_data
   '(
     (100 . (100.0 100.0 6.0 10.0 12.0))
     (120 . (120.0 120.0 6.5 11.0 12.0))
     (140 . (140.0 140.0 7.0 12.0 12.0))
     (160 . (160.0 160.0 8.0 13.0 15.0))
     (180 . (180.0 180.0 8.5 14.0 15.0))
     (200 . (200.0 200.0 9.0 15.0 18.0))
     (220 . (220.0 220.0 9.5 16.0 18.0))
     (240 . (240.0 240.0 10.0 17.0 21.0))
     (260 . (260.0 260.0 10.0 17.5 24.0))
     (280 . (280.0 280.0 10.5 18.0 24.0))
     (300 . (300.0 300.0 11.0 19.0 27.0))
     (320 . (320.0 300.0 11.5 20.5 27.0))
     (340 . (340.0 300.0 12.0 21.5 27.0))
     (360 . (360.0 300.0 12.5 22.5 27.0))
     (400 . (400.0 300.0 13.5 24.0 27.0))
     (450 . (450.0 300.0 14.0 26.0 27.0))
     (500 . (500.0 300.0 14.5 28.0 27.0))
     (550 . (550.0 300.0 15.0 29.0 27.0))
     (600 . (600.0 300.0 15.5 30.0 27.0))
     (650 . (650.0 300.0 16.0 31.0 27.0))
     (700 . (700.0 300.0 17.0 32.0 27.0))
     (800 . (800.0 300.0 17.5 33.0 30.0))
     (900 . (900.0 300.0 18.5 35.0 30.0))
    (1000 . (1000.0 300.0 19.0 36.0 30.0))
    (1100 . (1100.0 300.0 20.0 36.0 20.0))
   )
 HEM_data
   '(
     (100 . (120.0 106.0 12.0 20.0 12.0))
     (120 . (140.0 126.0 12.5 21.0 12.0))
     (140 . (160.0 146.0 13.0 22.0 12.0))
     (160 . (180.0 166.0 14.0 23.0 15.0))
     (180 . (200.0 186.0 14.5 24.0 15.0))
     (200 . (220.0 206.0 15.0 25.0 18.0))
     (220 . (240.0 226.0 15.5 26.0 18.0))
     (240 . (270.0 248.0 18.0 32.0 21.0))
     (260 . (290.0 268.0 18.0 32.5 24.0))
     (280 . (310.0 288.0 18.5 33.0 24.0))
     (300 . (340.0 310.0 21.0 39.0 27.0))
     (320 . (359.0 309.0 21.0 40.0 27.0))
     (340 . (377.0 309.0 21.0 40.0 27.0))
     (360 . (395.0 308.0 21.0 40.0 27.0))
     (400 . (432.0 307.0 21.0 40.0 27.0))
     (450 . (478.0 307.0 21.0 40.0 27.0))
     (500 . (524.0 306.0 21.0 40.0 27.0))
     (550 . (572.0 306.0 21.0 40.0 27.0))
     (600 . (620.0 305.0 21.0 40.0 27.0))
     (650 . (668.0 305.0 21.0 40.0 27.0))
     (700 . (716.0 304.0 21.0 40.0 27.0))
     (800 . (814.0 303.0 21.0 40.0 30.0))
     (900 . (910.0 302.0 21.0 40.0 30.0))
    (1000 . (1008.0 302.0 21.0 40.0 30.0))
   )
 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)
 (if (or (eq (getvar "USERS5") "") (not (eq (substr (getvar "USERS5") 1 2) "qz")))
	(progn
		(initget "ME CM MM")
		(if (not (setq unit_key (getkword "\nDessin réalisé en [ME/CM/MM] [b]<[/b]MM[b]>[/b]: ")))
			(setq unit_key "MM")
		)
		(cond
			((eq unit_key "ME")
				(setq unit_draw 1000)
			)
			((eq unit_key "CM")
				(setq unit_draw 10)
			)
			((eq unit_key "MM")
				(setq unit_draw 1 unit_key "MM")
			)
		)
		(setvar "USERS5" (strcat "qz" (itoa unit_draw)))
	)
	(progn
		(setq unit_draw (atoi (substr (getvar "USERS5") 3)))
		(cond
			((eq unit_draw 1000)
				(setq unit_key "M")
			)
			((eq unit_draw 10)
				(setq unit_key "CM")
			)
			((eq unit_draw 1)
				(setq unit_key "MM")
			)
		)
	)
)
 (setq l_val (mapcar '/ (cdr (assoc (atoi (substr model_ipn 2)) l_data)) (list unit_draw unit_draw unit_draw unit_draw unit_draw)))
 (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))
 (setq
   po (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 "_.rotate" (entlast) "" "_none" pt_ins pause)
 (command "_.extrude" (entlast) "")
 (prin1)
)

 

[Edité le 20/12/2008 par bonuscad]

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Super aussi ce lisp bonuscad :P

 

Une question : Si je veux les profilés dessinés en "cm" dans l'EO, comment puis-je modifier le lisp ?

 

Dois-je reprendre toutes les dimensions et enlever un zéro dans le lisp, ou existe t-il une méthode plus simple ,

 

Merci d'avance,

 

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Joili coup bonuscad, ta routine est incomparablement plus agréable à lire que celle donnée par etude0

 

Une question : Si je veux les profilés dessinés en "cm" dans l'EO, comment puis-je modifier le lisp ?

 

Tu peux remplacer :

(setq h (car l_val) b (cadr l_val) a (caddr l_val) e (cadddr l_val) r (last l_val))

par :

(setq	h (/ (car l_val) 10.0)
b (/ (cadr l_val) 10.0)
a (/ (caddr l_val) 10.0)
e (/ (cadddr l_val) 10.0)
r (/ (last l_val) 10.0)
 )

 

Tu peux aussi ajouter cette ligne entre le (command "_.pline" ...) et le (setvar "cmdecho" 1) :

(command "_.scale" (entlast) "" pt_ins 0.1)

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

J'ai choisi la seconde expression, et le comportement est "étrange" =>

 

A la première insertion, le profil arrive en "mm",

A la seconde en "cm" et déplace le 1er inséré en "mm" proche de lui,..

 

Et le point d'insertion reste le grand !!!

 

Comme si il faisait une copie décalée en "cm",...

 

En plus, il me décale un texte et change son facteur échelle (en bas à gauche au début de la vidéo) !!

 

Une vidéo pour mieux comprendre,...

 

PS: Je n'ai pas testé la seconde solution parce que je voudrais comprendre pourquoi ce phénomène,.. (je le ferai après)

 

Merci d'avance,

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Merci

Ci joint un autre lisp est ce possible de le faire en 3D

 

 

;;;impac ingenierie 


(defun erbride ()
(setvar "osmode" osm)
(setq  p1 niL p2 niL p3 niL p4 niL p5 niL p6 niL p7 niL p8 nil p9 niL p10 niL p11 niL p12 niL p13 niL p14 niL p15 niL p16 niL
	pt1 niL pt2 niL pt3 niL pt4 niL pt5 niL pt6 niL pt7 niL pt8 niL
	D nil K nil L nil nb nil A1 nil c1 nil c2 nil c3 nil c4 nil c5 nil c6 nil h1 nil h2 nil h3 nil N1 nil N2 nil N3 nil B nil B1 nil B6 nil d1 nil f1 nil 
	brideA niL brideA1 nil brideA2 nil brideB niL brideB1 nil brideB2 nil axe niL  axe1 niL axe2 niL axe3 niL axe4 niL ligne1 niL ligne2 niL ligne3 niL ligne4 niL 
	ligne5 niL ligne6 niL ligne7 niL ligne8 niL)
	types nil PN nil dn nil s1 nil oms niL 
(setvar "cmdecho" 1)
(setq *error* m:err m:err nil)
(princ)
)

(defun diametrePN6 ()
(cond
( (= dn 10) (progn (setq  D 75.0  K 50.0  L 11.0 nb 4  A1 17.20  B1 18.00  c1 12 c5 8  c6 10 h2 28 d1 35.0  f1 2 )))
( (= dn 15) (progn (setq  D 80.0  K 55.0  L 11.0 nb 4  A1 21.30  B1 22.00  c1 12 c5 8  c6 10 h2 30 d1 40.0  f1 2 )))
( (= dn 20) (progn (setq  D 90.0  K 65.0  L 11.0 nb 4  A1 26.90  B1 27.50  c1 14 c5 10 c6 10 h2 32 d1 50.0  f1 2 )))
( (= dn 25) (progn (setq  D 100.0 K 75.0  L 11.0 nb 4  A1 33.70  B1 34.50  c1 14 c5 10 c6 12 h2 35 d1 60.0  f1 2 )))
( (= dn 32) (progn (setq  D 120.0 K 90.0  L 14.0 nb 4  A1 42.40  B1 43.50  c1 16 c5 10 c6 12 h2 35 d1 70.0  f1 2 )))
( (= dn 40) (progn (setq  D 130.0 K 100.0 L 14.0 nb 4  A1 48.30  B1 49.00  c1 16 c5 10 c6 12 h2 38 d1 80.0  f1 3 )))
( (= dn 50) (progn (setq  D 140.0 K 110.0 L 14.0 nb 4  A1 60.30  B1 61.50  c1 16 c5 12 c6 12 h2 38 d1 90.0  f1 3 )))
( (= dn 65) (progn (setq  D 160.0 K 130.0 L 14.0 nb 4  A1 76.10  B1 77.50  c1 16 c5 12 c6 12 h2 38 d1 110.0 f1 3 )))
( (= dn 80) (progn (setq  D 190.0 K 150.0 L 18.0 nb 4  A1 88.90  B1 90.50  c1 18 c5 14 c6 14 h2 42 d1 128.0 f1 3 )))
( (= dn 100) (progn (setq D 210.0 K 170.0 L 18.0 nb 4  A1 114.30 B1 116.00 c1 18 c5 14 c6 14 h2 45 d1 148.0 f1 3 )))
( (= dn 125) (progn (setq D 240.0 K 200.0 L 18.0 nb 8  A1 139.70 B1 141.50 c1 20 c5 14 c6 14 h2 48 d1 178.0 f1 3 )))
( (= dn 150) (progn (setq D 265.0 K 225.0 L 18.0 nb 8  A1 168.30 B1 170.50 c1 20 c5 14 c6 14 h2 48 d1 202.0 f1 3 )))
( (= dn 200) (progn (setq D 320.0 K 280.0 L 18.0 nb 8  A1 219.10 B1 222.00 c1 22 c5 16 c6 16 h2 55 d1 258.0 f1 3 )))
( (= dn 250) (progn (setq D 375.0 K 335.0 L 18.0 nb 12 A1 273.00 B1 276.50 c1 24 c5 18 c6 20 h2 60 d1 312.0 f1 3 )))
( (= dn 300) (progn (setq D 440.0 K 395.0 L 22.0 nb 12 A1 323.90 B1 327.50 c1 24 c5 18 c6 24 h2 62 d1 365.0 f1 4 )))
( (= dn 350) (progn (setq D 490.0 K 445.0 L 22.0 nb 12 A1 355.60 B1 359.50 c1 26 c5 18 c6 26 h2 62 d1 415.0 f1 4 )))
( (= dn 400) (progn (setq D 540.0 K 495.0 L 22.0 nb 16 A1 406.40 B1 411.00 c1 28 c5 20 c6 28 h2 65 d1 465.0 f1 4 )))
( (= dn 450) (progn (setq D 595.0 K 550.0 L 22.0 nb 16 A1 457.00 B1 462.50 c1 30 c5 20 c6 30 h2 65 d1 520.0 f1 4 )))
( (= dn 500) (progn (setq D 645.0 K 600.0 L 22.0 nb 20 A1 508.00 B1 513.50 c1 30 c5 22 c6 32 h2 68 d1 570.0 f1 4 )))
( (= dn 600) (progn (setq D 755.0 K 705.0 L 26.0 nb 20 A1 610.00 B1 616.50 c1 30 c5 22 c6 36 h2 70 d1 670.0 f1 5 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	c4 (+ c1 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	d1 (/ d1 2))
)


(defun diametrePN10 ()
(cond
( (= dn 10) (progn (setq  D 90.0  K 60.0  L 14.0 nb 4  A1 17.20  B1 18.00  c1 14 c2 14 c3 16 c4 14 c5 10 c6 14 h1 20 h2 35 h3 6  N1 28.0  N2 30.0  N3 30.0  B6 6.10   d1 40.0  f1 2 )))
( (= dn 15) (progn (setq  D 95.0  K 65.0  L 14.0 nb 4  A1 21.30  B1 22.00  c1 14 c2 14 c3 16 c4 14 c5 10 c6 14 h1 20 h2 35 h3 6  N1 32.0  N2 35.0  N3 37.0  B6 12.70  d1 45.0  f1 2 )))
( (= dn 20) (progn (setq  D 105.0 K 75.0  L 14.0 nb 4  A1 26.90  B1 27.50  c1 16 c2 16 c3 18 c4 16 c5 12 c6 16 h1 24 h2 38 h3 6  N1 40.0  N2 45.0  N3 44.0  B6 19.00  d1 58.0  f1 2 )))
( (= dn 25) (progn (setq  D 115.0 K 85.0  L 14.0 nb 4  A1 33.70  B1 34.50  c1 16 c2 16 c3 18 c4 16 c5 12 c6 16 h1 24 h2 38 h3 6  N1 45.0  N2 52.0  N3 53.0  B6 25.40  d1 68.0  f1 2 )))
( (= dn 32) (progn (setq  D 140.0 K 100.0 L 18.0 nb 4  A1 42.40  B1 43.50  c1 16 c2 16 c3 18 c4 18 c5 12 c6 16 h1 26 h2 40 h3 6  N1 56.0  N2 60.0  N3 60.0  B6 31.80  d1 78.0  f1 2 )))
( (= dn 40) (progn (setq  D 150.0 K 110.0 L 18.0 nb 4  A1 48.30  B1 49.00  c1 16 c2 16 c3 18 c4 18 c5 12 c6 16 h1 26 h2 42 h3 7  N1 64.0  N2 70.0  N3 68.0  B6 38.00  d1 88.0  f1 3 )))
( (= dn 50) (progn (setq  D 165.0 K 125.0 L 18.0 nb 4  A1 60.30  B1 61.50  c1 18 c2 18 c3 18 c4 18 c5 14 c6 16 h1 28 h2 45 h3 8  N1 75.0  N2 85.0  N3 80.0  B6 50.80  d1 102.0 f1 3 )))
( (= dn 65) (progn (setq  D 185.0 K 145.0 L 18.0 nb 4  A1 76.10  B1 77.50  c1 18 c2 18 c3 18 c4 20 c5 14 c6 18 h1 32 h2 45 h3 10 N1 90.0  N2 105.0 N3 93.0  B6 63.50  d1 122.0 f1 3 )))
( (= dn 80) (progn (setq  D 200.0 K 160.0 L 18.0 nb 8  A1 88.90  B1 90.50  c1 22 c2 20 c3 20 c4 20 c5 16 c6 18 h1 34 h2 50 h3 10 N1 105.0 N2 118.0 N3 110.0 B6 76.20  d1 138.0 f1 3 )))
( (= dn 100) (progn (setq D 220.0 K 180.0 L 18.0 nb 8  A1 114.30 B1 116.00 c1 22 c2 20 c3 20 c4 22 c5 16 c6 18 h1 38 h2 52 h3 12 N1 131.0 N2 140.0 N3 130.0 B6 101.60 d1 158.0 f1 3 )))
( (= dn 125) (progn (setq D 250.0 K 210.0 L 18.0 nb 8  A1 139.70 B1 141.50 c1 24 c2 22 c3 22 c4 22 c5 18 c6 18 h1 44 h2 55 h3 12 N1 156.0 N2 168.0 N3 159.0 B6 127.00 d1 188.0 f1 3 )))
( (= dn 150) (progn (setq D 285.0 K 240.0 L 22.0 nb 8  A1 168.30 B1 170.50 c1 24 c2 22 c3 22 c4 24 c5 18 c6 18 h1 44 h2 55 h3 12 N1 184.0 N2 195.0 N3 184.0 B6 152.40 d1 212.0 f1 3 )))
( (= dn 200) (progn (setq D 340.0 K 295.0 L 22.0 nb 8  A1 219.10 B1 222.00 c1 24 c2 24 c3 24 c4 24 c5 20 c6 20 h1 44 h2 62 h3 16 N1 235.0 N2 247.0 N3 236.0 B6 203.20 d1 268.0 f1 3 )))
( (= dn 250) (progn (setq D 395.0 K 350.0 L 22.0 nb 12 A1 273.00 B1 276.50 c1 26 c2 26 c3 26 c4 26 c5 22 c6 22 h1 46 h2 68 h3 16 N1 292.0 N2 300.0 N3 290.0 B6 254.00 d1 320.0 f1 3 )))
( (= dn 300) (progn (setq D 445.0 K 400.0 L 22.0 nb 12 A1 323.90 B1 327.50 c1 26 c2 26 c3 26 c4 26 c5 22 c6 26 h1 46 h2 68 h3 16 N1 344.0 N2 352.0 N3 342.0 B6 304.80 d1 370.0 f1 4 )))
( (= dn 350) (progn (setq D 505.0 K 460.0 L 22.0 nb 16 A1 355.60 B1 359.50 c1 28 c2 26 c3 26 c4 26 c5 22 c6 28 h1 53 h2 68 h3 16 N1 385.0 N2 398.0 N3 396.0 B6 355.60 d1 430.0 f1 4 )))
( (= dn 400) (progn (setq D 565.0 K 515.0 L 26.0 nb 16 A1 406.40 B1 411.00 c1 32 c2 26 c3 26 c4 28 c5 24 c6 32 h1 57 h2 72 h3 16 N1 440.0 N2 448.0 N3 448.0 B6 406.40 d1 482.0 f1 4 )))
( (= dn 450) (progn (setq D 615.0 K 565.0 L 26.0 nb 20 A1 457.00 B1 462.50 c1 38 c2 28 c3 28 c4 28 c5 24 c6 34 h1 62 h2 72 h3 16 N1 488.0 N2 502.0 N3 498.0 B6 457.20 d1 532.0 f1 4 )))
( (= dn 500) (progn (setq D 670.0 K 620.0 L 26.0 nb 20 A1 508.00 B1 513.50 c1 38 c2 28 c3 28 c4 30 c5 26 c6 38 h1 67 h2 75 h3 16 N1 542.0 N2 552.0 N3 552.0 B6 508.00 d1 585.0 f1 4 )))
( (= dn 600) (progn (setq D 780.0 K 725.0 L 30.0 nb 20 A1 610.00 B1 616.50 c1 40 c2 28 c3 30 c4 34 c5 26 c6 44 h1 75 h2 80 h3 18 N1 642.0 N2 658.0 N3 652.0 B6 609.60 d1 685.0 f1 5 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (/ N2 2)
	N3 (/ N3 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	d1 (/ d1 2))
)

(defun diametrePN16 ()
(cond
( (= dn 10) (progn (setq  D 90.0  K 60.0  L 14.0 nb 4  A1 17.20  B1 18.00  c1 14 c2 14 c3 16 c4 14 c5 10 c6 14 h1 20 h2 35 h3 6  N1 28.0  N2 30.0  N3 30.0  B6 6.10   d1 40.0  f1 2 )))
( (= dn 15) (progn (setq  D 95.0  K 65.0  L 14.0 nb 4  A1 21.30  B1 22.00  c1 14 c2 14 c3 16 c4 14 c5 10 c6 14 h1 20 h2 35 h3 6  N1 32.0  N2 35.0  N3 37.0  B6 12.70  d1 45.0  f1 2 )))
( (= dn 20) (progn (setq  D 105.0 K 75.0  L 14.0 nb 4  A1 26.90  B1 27.50  c1 16 c2 16 c3 18 c4 16 c5 12 c6 16 h1 24 h2 38 h3 6  N1 40.0  N2 45.0  N3 44.0  B6 19.00  d1 58.0  f1 2 )))
( (= dn 25) (progn (setq  D 115.0 K 85.0  L 14.0 nb 4  A1 33.70  B1 34.50  c1 16 c2 16 c3 18 c4 16 c5 12 c6 16 h1 24 h2 38 h3 6  N1 45.0  N2 52.0  N3 53.0  B6 25.40  d1 68.0  f1 2 )))
( (= dn 32) (progn (setq  D 140.0 K 100.0 L 18.0 nb 4  A1 42.40  B1 43.50  c1 16 c2 16 c3 18 c4 18 c5 12 c6 16 h1 26 h2 40 h3 6  N1 56.0  N2 60.0  N3 60.0  B6 31.80  d1 78.0  f1 2 )))
( (= dn 40) (progn (setq  D 150.0 K 110.0 L 18.0 nb 4  A1 48.30  B1 49.00  c1 16 c2 16 c3 18 c4 18 c5 12 c6 16 h1 26 h2 42 h3 7  N1 64.0  N2 70.0  N3 68.0  B6 38.00  d1 88.0  f1 3 )))
( (= dn 50) (progn (setq  D 165.0 K 125.0 L 18.0 nb 4  A1 60.30  B1 61.50  c1 18 c2 18 c3 18 c4 18 c5 14 c6 16 h1 28 h2 45 h3 8  N1 75.0  N2 85.0  N3 80.0  B6 50.80  d1 102.0 f1 3 )))
( (= dn 65) (progn (setq  D 185.0 K 145.0 L 18.0 nb 4  A1 76.10  B1 77.50  c1 18 c2 18 c3 18 c4 20 c5 14 c6 18 h1 32 h2 45 h3 10 N1 90.0  N2 105.0 N3 93.0  B6 63.50  d1 122.0 f1 3 )))
( (= dn 80) (progn (setq  D 200.0 K 160.0 L 18.0 nb 8  A1 88.90  B1 90.50  c1 22 c2 20 c3 20 c4 20 c5 16 c6 18 h1 34 h2 50 h3 10 N1 105.0 N2 118.0 N3 110.0 B6 76.20  d1 138.0 f1 3 )))
( (= dn 100) (progn (setq D 220.0 K 180.0 L 18.0 nb 8  A1 114.30 B1 116.00 c1 22 c2 20 c3 20 c4 22 c5 16 c6 18 h1 38 h2 52 h3 12 N1 131.0 N2 140.0 N3 130.0 B6 101.60 d1 158.0 f1 3 )))
( (= dn 125) (progn (setq D 250.0 K 210.0 L 18.0 nb 8  A1 139.70 B1 141.50 c1 24 c2 22 c3 22 c4 22 c5 18 c6 18 h1 44 h2 55 h3 12 N1 156.0 N2 168.0 N3 159.0 B6 127.00 d1 188.0 f1 3 )))
( (= dn 150) (progn (setq D 285.0 K 240.0 L 22.0 nb 8  A1 168.30 B1 170.50 c1 24 c2 22 c3 22 c4 24 c5 18 c6 18 h1 44 h2 55 h3 12 N1 184.0 N2 195.0 N3 184.0 B6 152.40 d1 212.0 f1 3 )))
( (= dn 200) (progn (setq D 340.0 K 295.0 L 22.0 nb 12 A1 219.10 B1 222.00 c1 26 c2 24 c3 24 c4 26 c5 20 c6 20 h1 44 h2 62 h3 16 N1 235.0 N2 247.0 N3 236.0 B6 203.20 d1 268.0 f1 3 )))
( (= dn 250) (progn (setq D 405.0 K 355.0 L 26.0 nb 12 A1 273.00 B1 276.50 c1 32 c2 26 c3 26 c4 26 c5 22 c6 24 h1 46 h2 70 h3 16 N1 292.0 N2 300.0 N3 290.0 B6 254.00 d1 320.0 f1 3 )))
( (= dn 300) (progn (setq D 460.0 K 410.0 L 26.0 nb 12 A1 323.90 B1 327.50 c1 32 c2 28 c3 28 c4 28 c5 24 c6 28 h1 46 h2 78 h3 16 N1 344.0 N2 355.0 N3 348.0 B6 304.80 d1 378.0 f1 4 )))
( (= dn 350) (progn (setq D 520.0 K 470.0 L 26.0 nb 16 A1 355.60 B1 359.50 c1 36 c2 30 c3 30 c4 30 c5 26 c6 32 h1 57 h2 82 h3 16 N1 390.0 N2 400.0 N3 396.0 B6 355.60 d1 438.0 f1 4 )))
( (= dn 400) (progn (setq D 580.0 K 525.0 L 30.0 nb 16 A1 406.40 B1 411.00 c1 38 c2 32 c3 32 c4 32 c5 28 c6 36 h1 63 h2 85 h3 16 N1 445.0 N2 456.0 N3 448.0 B6 406.40 d1 490.0 f1 4 )))
( (= dn 450) (progn (setq D 640.0 K 585.0 L 30.0 nb 20 A1 457.00 B1 462.50 c1 42 c2 34 c3 36 c4 36 c5 30 c6 40 h1 68 h2 85 h3 16 N1 490.0 N2 502.0 N3 516.0 B6 457.20 d1 550.0 f1 4 )))
( (= dn 500) (progn (setq D 715.0 K 650.0 L 33.0 nb 20 A1 508.00 B1 513.50 c1 44 c2 34 c3 36 c4 40 c5 32 c6 44 h1 73 h2 90 h3 16 N1 548.0 N2 559.0 N3 554.0 B6 508.00 d1 610.0 f1 4 )))
( (= dn 600) (progn (setq D 840.0 K 770.0 L 36.0 nb 20 A1 610.00 B1 616.50 c1 48 c2 36 c3 40 c4 44 c5 0  c6 0  h1 83 h2 95 h3 18 N1 652.0 N2 658.0 N3 660.0 B6 609.60 d1 725.0 f1 5 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (/ N2 2)
	N3 (/ N3 2)
	B6 (/ B6 2)
	d1 (/ d1 2))
)

(defun diametrePN20 ()
(cond
( (= dn 15)  (progn (setq D 89.0  K 60.30  L 15.80 nb 4  A1 21.30  B1 22.40  c1 12 c2 11.2 c3 11.5 h1 16 h2 48  h3 6.4 N1 30.0  B6 12.70  d1 34.90  f1 1.6 )))
( (= dn 20)  (progn (setq D 99.0  K 69.80  L 15.80 nb 4  A1 26.90  B1 27.70  c1 14 c2 12.7 c3 13.0 h1 16 h2 52  h3 6.4 N1 38.0  B6 19.00  d1 42.90  f1 1.6 )))
( (= dn 25)  (progn (setq D 108.0 K 79.40  L 15.80 nb 4  A1 33.70  B1 34.50  c1 16 c2 14.3 c3 14.5 h1 17 h2 56  h3 6.4 N1 49.0  B6 25.40  d1 50.80  f1 1.6 )))
( (= dn 32)  (progn (setq D 117.0 K 88.90  L 15.80 nb 4  A1 42.40  B1 43.20  c1 18 c2 15.9 c3 16.0 h1 21 h2 57  h3 6.4 N1 59.0  B6 31.80  d1 63.50  f1 1.6 )))
( (= dn 40)  (progn (setq D 127.0 K 98.40  L 15.80 nb 4  A1 48.30  B1 49.50  c1 19 c2 17.5 c3 17.5 h1 22 h2 62  h3 6.4 N1 65.0  B6 38.00  d1 73.00  f1 1.6 )))
( (= dn 50)  (progn (setq D 152.0 K 120.60 L 19.00 nb 4  A1 60.30  B1 62.00  c1 21 c2 19.1 c3 15.9 h1 25 h2 63  h3 6.4 N1 78.0  B6 50.80  d1 92.10  f1 1.6 )))
( (= dn 65)  (progn (setq D 178.0 K 139.70 L 19.00 nb 4  A1 76.10  B1 77.80  c1 24 c2 22.3 c3 17.5 h1 29 h2 70  h3 6.4 N1 90.0  B6 63.50  d1 104.80 f1 1.6 )))
( (= dn 80)  (progn (setq D 190.0 K 152.40 L 19.00 nb 4  A1 88.90  B1 90.70  c1 26 c2 23.9 c3 19.1 h1 30 h2 70  h3 6.4 N1 108.0 B6 76.20  d1 127.00 f1 1.6 )))
( (= dn 100) (progn (setq D 229.0 K 190.50 L 19.00 nb 8  A1 114.30 B1 116.10 c1 27 c2 23.9 c3 23.9 h1 33 h2 76  h3 6.4 N1 135.0 B6 101.60 d1 157.20 f1 1.6 )))
( (= dn 125) (progn (setq D 254.0 K 215.90 L 22.20 nb 8  A1 139.70 B1 142.20 c1 28 c2 23.9 c3 23.9 h1 37 h2 89  h3 6.4 N1 164.0 B6 127.00 d1 185.70 f1 1.6 )))
( (= dn 150) (progn (setq D 279.0 K 241.30 L 22.20 nb 8  A1 168.30 B1 170.70 c1 31 c2 25.4 c3 25.4 h1 40 h2 89  h3 6.4 N1 192.0 B6 152.40 d1 215.90 f1 1.6 )))
( (= dn 200) (progn (setq D 343.0 K 298.40 L 22.20 nb 8  A1 219.10 B1 221.50 c1 34 c2 28.6 c3 28.6 h1 44 h2 102 h3 6.4 N1 246.0 B6 203.20 d1 269.90 f1 1.6 )))
( (= dn 250) (progn (setq D 406.0 K 362.00 L 25.40 nb 12 A1 273.00 B1 276.40 c1 38 c2 30.2 c3 30.2 h1 49 h2 102 h3 6.4 N1 305.0 B6 254.00 d1 323.80 f1 1.6 )))
( (= dn 300) (progn (setq D 483.0 K 431.80 L 25.40 nb 12 A1 323.90 B1 327.20 c1 42 c2 31.8 c3 31.8 h1 56 h2 114 h3 6.4 N1 365.0 B6 304.80 d1 381.00 f1 1.6 )))
( (= dn 350) (progn (setq D 533.0 K 476.20 L 28.50 nb 12 A1 355.60 B1 359.20 c1 43 c2 35.0 c3 35.0 h1 57 h2 127 h3 6.4 N1 400.0 B6 355.60 d1 412.80 f1 1.6 )))
( (= dn 400) (progn (setq D 597.0 K 539.80 L 28.50 nb 16 A1 406.40 B1 410.50 c1 48 c2 36.6 c3 36.6 h1 63 h2 127 h3 6.4 N1 457.0 B6 406.40 d1 469.90 f1 1.6 )))
( (= dn 450) (progn (setq D 635.0 K 577.80 L 31.80 nb 16 A1 457.00 B1 461.80 c1 52 c2 39.7 c3 39.7 h1 68 h2 140 h3 6.4 N1 505.0 B6 457.20 d1 533.40 f1 1.6 )))
( (= dn 500) (progn (setq D 698.0 K 635.00 L 31.80 nb 20 A1 508.00 B1 513.10 c1 56 c2 42.9 c3 42.9 h1 73 h2 144 h3 6.4 N1 559.0 B6 508.00 d1 584.20 f1 1.6 )))
( (= dn 600) (progn (setq D 813.0 K 749.30 L 35.00 nb 20 A1 610.00 B1 616.00 c1 62 c2 47.7 c3 47.7 h1 83 h2 152 h3 6.4 N1 664.0 B6 609.60 d1 692.20 f1 1.6 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c4 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (+ N1 0)
	N3 (+ N1 0)
	d1 (/ d1 2))
)

(defun diametrePN25 ()
(cond
( (= dn 10) (progn (setq  D 90.0  K 60.0  L 14.0 nb 4  A1 17.20  B1 18.20  c3 16 c4 14 c5 12 c6 16 h1 22  h2 35  h3 6  N1 28.0  N2 30.0  N3 30.0  B6 6.10   d1 40.0  f1 2 )))
( (= dn 15) (progn (setq  D 95.0  K 65.0  L 14.0 nb 4  A1 21.30  B1 22.00  c3 16 c4 14 c5 12 c6 16 h1 22  h2 38  h3 6  N1 32.0  N2 35.0  N3 37.0  B6 12.70  d1 45.0  f1 2 )))
( (= dn 20) (progn (setq  D 105.0 K 75.0  L 14.0 nb 4  A1 26.90  B1 27.50  c3 18 c4 16 c5 14 c6 16 h1 26  h2 40  h3 6  N1 40.0  N2 45.0  N3 44.0  B6 19.00  d1 58.0  f1 2 )))
( (= dn 25) (progn (setq  D 115.0 K 85.0  L 14.0 nb 4  A1 33.70  B1 34.50  c3 18 c4 16 c5 14 c6 18 h1 28  h2 40  h3 6  N1 46.0  N2 52.0  N3 53.0  B6 25.40  d1 68.0  f1 2 )))
( (= dn 32) (progn (setq  D 140.0 K 100.0 L 18.0 nb 4  A1 42.40  B1 43.50  c3 18 c4 18 c5 14 c6 18 h1 30  h2 42  h3 6  N1 56.0  N2 60.0  N3 60.0  B6 31.80  d1 78.0  f1 2 )))
( (= dn 40) (progn (setq  D 150.0 K 110.0 L 18.0 nb 4  A1 48.30  B1 49.00  c3 18 c4 18 c5 14 c6 18 h1 32  h2 45  h3 7  N1 64.0  N2 70.0  N3 68.0  B6 38.00  d1 88.0  f1 3 )))
( (= dn 50) (progn (setq  D 165.0 K 125.0 L 18.0 nb 4  A1 60.30  B1 61.50  c3 20 c4 20 c5 16 c6 20 h1 34  h2 48  h3 8  N1 75.0  N2 85.0  N3 80.0  B6 50.80  d1 102.0 f1 3 )))
( (= dn 65) (progn (setq  D 185.0 K 145.0 L 18.0 nb 8  A1 76.10  B1 77.50  c3 22 c4 22 c5 16 c6 20 h1 38  h2 52  h3 10 N1 90.0  N2 105.0 N3 99.0  B6 63.50  d1 122.0 f1 3 )))
( (= dn 80) (progn (setq  D 200.0 K 160.0 L 18.0 nb 8  A1 88.90  B1 90.50  c3 24 c4 24 c5 18 c6 22 h1 40  h2 58  h3 12 N1 105.0 N2 118.0 N3 116.0 B6 76.20  d1 138.0 f1 3 )))
( (= dn 100) (progn (setq D 235.0 K 190.0 L 22.0 nb 8  A1 114.30 B1 116.00 c3 24 c4 26 c5 20 c6 22 h1 44  h2 65  h3 12 N1 134.0 N2 145.0 N3 136.0 B6 101.60 d1 162.0 f1 3 )))
( (= dn 125) (progn (setq D 270.0 K 220.0 L 26.0 nb 8  A1 139.70 B1 141.50 c3 26 c4 28 c5 22 c6 24 h1 48  h2 68  h3 12 N1 162.0 N2 170.0 N3 165.0 B6 127.00 d1 188.0 f1 3 )))
( (= dn 150) (progn (setq D 300.0 K 250.0 L 26.0 nb 8  A1 168.30 B1 170.50 c3 28 c4 30 c5 22 c6 24 h1 52  h2 75  h3 12 N1 192.0 N2 200.0 N3 192.0 B6 152.40 d1 218.0 f1 3 )))
( (= dn 200) (progn (setq D 360.0 K 310.0 L 26.0 nb 12 A1 219.10 B1 222.00 c3 30 c4 32 c5 24 c6 26 h1 52  h2 80  h3 16 N1 244.0 N2 256.0 N3 246.0 B6 203.20 d1 278.0 f1 3 )))
( (= dn 250) (progn (setq D 425.0 K 370.0 L 30.0 nb 12 A1 273.00 B1 276.50 c3 32 c4 32 c5 26 c6 30 h1 60  h2 88  h3 18 N1 298.0 N2 310.0 N3 298.0 B6 254.00 d1 335.0 f1 3 )))
( (= dn 300) (progn (setq D 485.0 K 430.0 L 30.0 nb 16 A1 323.90 B1 327.50 c3 34 c4 34 c5 28 c6 34 h1 67  h2 92  h3 18 N1 352.0 N2 364.0 N3 352.0 B6 304.80 d1 395.0 f1 4 )))
( (= dn 350) (progn (setq D 555.0 K 490.0 L 33.0 nb 16 A1 355.60 B1 359.50 c3 38 c4 38 c5 32 c6 38 h1 72  h2 100 h3 20 N1 398.0 N2 418.0 N3 408.0 B6 355.60 d1 450.0 f1 4 )))
( (= dn 400) (progn (setq D 620.0 K 550.0 L 36.0 nb 16 A1 406.40 B1 411.00 c3 40 c4 40 c5 34 c6 42 h1 78  h2 110 h3 20 N1 452.0 N2 472.0 N3 460.0 B6 406.40 d1 505.0 f1 4 )))
( (= dn 450) (progn (setq D 670.0 K 600.0 L 36.0 nb 20 A1 457.00 B1 462.50 c3 42 c4 44 c5 0  c6 0  h1 84  h2 110 h3 20 N1 500.0 N2 520.0 N3 520.0 B6 457.20 d1 550.0 f1 4 )))
( (= dn 500) (progn (setq D 730.0 K 660.0 L 36.0 nb 20 A1 508.00 B1 513.50 c3 44 c4 48 c5 38 c6 50 h1 90  h2 125 h3 20 N1 558.0 N2 580.0 N3 566.0 B6 508.00 d1 615.0 f1 4 )))
( (= dn 600) (progn (setq D 845.0 K 770.0 L 39.0 nb 20 A1 610.00 B1 616.50 c3 46 c4 54 c5 0  c6 0  h1 100 h2 125 h3 20 N1 660.0 N2 684.0 N3 670.0 B6 609.60 d1 720.0 f1 5 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c2 (+ c3 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (/ N2 2)
	N3 (/ N3 2)
	d1 (/ d1 2))
)

(defun diametrePN40 ()
(cond
( (= dn 10) (progn (setq  D 90.0  K 60.0  L 14.0 nb 4  A1 17.20  B1 18.20  c3 16 c4 14 c5 12 c6 16 h1 22  h2 35  h3 6  N1 28.0  N2 30.0  N3 30.0  B6 6.10   d1 40.0  f1 2 )))
( (= dn 15) (progn (setq  D 95.0  K 65.0  L 14.0 nb 4  A1 21.30  B1 22.00  c3 16 c4 14 c5 12 c6 16 h1 22  h2 38  h3 6  N1 32.0  N2 35.0  N3 37.0  B6 12.70  d1 45.0  f1 2 )))
( (= dn 20) (progn (setq  D 105.0 K 75.0  L 14.0 nb 4  A1 26.90  B1 27.50  c3 18 c4 16 c5 14 c6 16 h1 26  h2 40  h3 6  N1 40.0  N2 45.0  N3 44.0  B6 19.00  d1 58.0  f1 2 )))
( (= dn 25) (progn (setq  D 115.0 K 85.0  L 14.0 nb 4  A1 33.70  B1 34.50  c3 18 c4 16 c5 14 c6 18 h1 28  h2 40  h3 6  N1 46.0  N2 52.0  N3 53.0  B6 25.40  d1 68.0  f1 2 )))
( (= dn 32) (progn (setq  D 140.0 K 100.0 L 18.0 nb 4  A1 42.40  B1 43.50  c3 18 c4 18 c5 14 c6 18 h1 30  h2 42  h3 6  N1 56.0  N2 60.0  N3 60.0  B6 31.80  d1 78.0  f1 2 )))
( (= dn 40) (progn (setq  D 150.0 K 110.0 L 18.0 nb 4  A1 48.30  B1 49.00  c3 18 c4 18 c5 14 c6 18 h1 32  h2 45  h3 7  N1 64.0  N2 70.0  N3 68.0  B6 38.00  d1 88.0  f1 3 )))
( (= dn 50) (progn (setq  D 165.0 K 125.0 L 18.0 nb 4  A1 60.30  B1 61.50  c3 20 c4 20 c5 16 c6 20 h1 34  h2 48  h3 8  N1 75.0  N2 85.0  N3 80.0  B6 50.80  d1 102.0 f1 3 )))
( (= dn 65) (progn (setq  D 185.0 K 145.0 L 18.0 nb 8  A1 76.10  B1 77.50  c3 22 c4 22 c5 16 c6 20 h1 38  h2 52  h3 10 N1 90.0  N2 105.0 N3 99.0  B6 63.50  d1 122.0 f1 3 )))
( (= dn 80) (progn (setq  D 200.0 K 160.0 L 18.0 nb 8  A1 88.90  B1 90.50  c3 24 c4 24 c5 18 c6 22 h1 40  h2 58  h3 12 N1 105.0 N2 118.0 N3 116.0 B6 76.20  d1 138.0 f1 3 )))
( (= dn 100) (progn (setq D 235.0 K 190.0 L 22.0 nb 8  A1 114.30 B1 116.00 c3 24 c4 26 c5 20 c6 22 h1 44  h2 65  h3 12 N1 134.0 N2 145.0 N3 136.0 B6 101.60 d1 162.0 f1 3 )))
( (= dn 125) (progn (setq D 270.0 K 220.0 L 26.0 nb 8  A1 139.70 B1 141.50 c3 26 c4 28 c5 22 c6 24 h1 48  h2 68  h3 12 N1 162.0 N2 170.0 N3 165.0 B6 127.00 d1 188.0 f1 3 )))
( (= dn 150) (progn (setq D 300.0 K 250.0 L 26.0 nb 8  A1 168.30 B1 170.50 c3 28 c4 30 c5 22 c6 24 h1 52  h2 75  h3 12 N1 192.0 N2 200.0 N3 192.0 B6 152.40 d1 218.0 f1 3 )))
( (= dn 200) (progn (setq D 375.0 K 320.0 L 30.0 nb 12 A1 219.10 B1 222.00 c3 32 c4 36 c5 26 c6 30 h1 52  h2 88  h3 16 N1 244.0 N2 260.0 N3 252.0 B6 203.20 d1 285.0 f1 3 )))
( (= dn 250) (progn (setq D 450.0 K 385.0 L 33.0 nb 12 A1 273.00 B1 276.50 c3 38 c4 38 c5 30 c6 36 h1 60  h2 105 h3 18 N1 306.0 N2 320.0 N3 308.0 B6 254.00 d1 345.0 f1 3 )))
( (= dn 300) (progn (setq D 515.0 K 450.0 L 33.0 nb 16 A1 323.90 B1 327.50 c3 42 c4 42 c5 34 c6 40 h1 67  h2 115 h3 18 N1 362.0 N2 380.0 N3 364.0 B6 304.80 d1 410.0 f1 4 )))
( (= dn 350) (progn (setq D 580.0 K 510.0 L 36.0 nb 16 A1 355.60 B1 359.50 c3 46 c4 46 c5 38 c6 46 h1 72  h2 125 h3 20 N1 408.0 N2 424.0 N3 420.0 B6 355.60 d1 465.0 f1 4 )))
( (= dn 400) (progn (setq D 660.0 K 585.0 L 39.0 nb 16 A1 406.40 B1 411.00 c3 50 c4 50 c5 42 c6 50 h1 78  h2 135 h3 20 N1 462.0 N2 478.0 N3 476.0 B6 406.40 d1 535.0 f1 4 )))
( (= dn 450) (progn (setq D 685.0 K 610.0 L 39.0 nb 20 A1 457.00 B1 462.50 c3 50 c4 54 c5 46 c6 50 h1 84  h2 135 h3 20 N1 500.0 N2 522.0 N3 526.0 B6 457.20 d1 560.0 f1 4 )))
( (= dn 500) (progn (setq D 755.0 K 670.0 L 42.0 nb 20 A1 508.00 B1 513.50 c3 52 c4 60 c5 50 c6 60 h1 90  h2 140 h3 20 N1 562.0 N2 576.0 N3 578.0 B6 508.00 d1 615.0 f1 4 )))
( (= dn 600) (progn (setq D 890.0 K 795.0 L 48.0 nb 20 A1 610.00 B1 616.50 c3 60 c4 70 c5 0  c6 0  h1 100 h2 150 h3 20 N1 666.0 N2 686.0 N3 690.0 B6 609.60 d1 735.0 f1 5 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c2 (+ c3 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (/ N2 2)
	N3 (/ N3 2)
	d1 (/ d1 2))
)

(defun diametrePN50 ()
(cond
       ( (= dn 15)  (progn (setq  D 95.0   K 66.70  L 15.80 nb 4  A1 21.30  B1 22.40  c2 14.2 h2 52  h1 22  h3 6.4 N1 38.0  B6 12.70  d1 34.90  f1 1.6 )))
       ( (= dn 20)  (progn (setq  D 117.0  K 82.60  L 19.00 nb 4  A1 26.90  B1 27.70  c2 15.7 h2 57  h1 25  h3 6.4 N1 48.0  B6 19.00  d1 42.90  f1 1.6 )))  
       ( (= dn 25)  (progn (setq  D 124.0  K 88.90  L 19.00 nb 4  A1 33.70  B1 34.50  c2 17.5 h2 62  h1 27  h3 6.4 N1 54.0  B6 25.40  d1 50.80  f1 1.6 )))
       ( (= dn 32)  (progn (setq  D 133.0  K 98.40  L 19.00 nb 4  A1 42.40  B1 43.20  c2 19.0 h2 65  h1 27  h3 6.4 N1 63.0  B6 31.80  d1 63.50  f1 1.6 )))
       ( (= dn 40)  (progn (setq  D 156.0  K 114.30 L 22.20 nb 4  A1 48.30  B1 49.50  c2 20.6 h2 68  h1 30  h3 6.4 N1 70.0  B6 38.00  d1 73.00  f1 1.6 )))
       ( (= dn 50)  (progn (setq  D 165.0  K 127.00 L 19.00 nb 8  A1 60.30  B1 62.00  c2 22.4 h2 70  h1 33  h3 6.4 N1 84.0  B6 50.80  d1 92.10  f1 1.6 )))
       ( (= dn 65)  (progn (setq  D 190.0  K 149.20 L 22.20 nb 8  A1 76.10  B1 77.80  c2 25.4 h2 76  h1 38  h3 6.4 N1 100.0 B6 63.50  d1 104.80 f1 1.6 )))
       ( (= dn 80)  (progn (setq  D 210.0  K 168.30 L 22.20 nb 8  A1 88.90  B1 90.70  c2 28.4 h2 79  h1 43  h3 6.4 N1 117.0 B6 76.20  d1 127.00 f1 1.6 )))
       ( (= dn 100) (progn (setq  D 254.0  K 200.00 L 22.20 nb 8  A1 114.30 B1 116.10 c2 31.8 h2 86  h1 48  h3 6.4 N1 146.0 B6 101.60 d1 157.20 f1 1.6 )))
       ( (= dn 125) (progn (setq  D 279.0  K 235.00 L 22.20 nb 8  A1 139.70 B1 142.20 c2 35.0 h2 98  h1 51  h3 6.4 N1 178.0 B6 127.00 d1 185.70 f1 1.6 )))
       ( (= dn 150) (progn (setq  D 318.0  K 269.90 L 22.20 nb 12 A1 168.30 B1 170.70 c2 36.6 h2 98  h1 52  h3 6.4 N1 206.0 B6 152.40 d1 215.90 f1 1.6 )))
       ( (= dn 200) (progn (setq  D 381.0  K 330.20 L 25.40 nb 12 A1 219.10 B1 221.50 c2 41.1 h2 111 h1 62  h3 6.4 N1 260.0 B6 203.20 d1 269.90 f1 1.6 )))
       ( (= dn 250) (progn (setq  D 444.0  K 387.40 L 28.50 nb 16 A1 273.00 B1 276.40 c2 47.8 h2 117 h1 66  h3 6.4 N1 320.0 B6 254.00 d1 323.80 f1 1.6 )))
       ( (= dn 300) (progn (setq  D 521.0  K 450.80 L 31.80 nb 16 A1 323.90 B1 327.20 c2 50.8 h2 130 h1 73  h3 6.4 N1 375.0 B6 304.80 d1 381.00 f1 1.6 )))
       ( (= dn 350) (progn (setq  D 584.0  K 514.40 L 31.80 nb 20 A1 355.60 B1 359.20 c2 53.8 h2 143 h1 76  h3 6.4 N1 425.0 B6 355.60 d1 412.80 f1 1.6 )))
       ( (= dn 400) (progn (setq  D 648.0  K 571.50 L 35.00 nb 20 A1 406.40 B1 410.50 c2 57.2 h2 146 h1 83  h3 6.4 N1 483.0 B6 406.40 d1 469.90 f1 1.6 )))
( (= dn 450) (progn (setq  D 711.0  K 628.60 L 35.00 nb 24 A1 457.00 B1 461.80 c2 60.5 h2 159 h1 89  h3 6.4 N1 533.0 B6 457.20 d1 533.40 f1 1.6 )))
	( (= dn 500) (progn (setq  D 775.0  K 685.80 L 35.00 nb 24 A1 508.00 B1 513.10 c2 63.5 h2 162 h1 95  h3 6.4 N1 587.0 B6 508.00 d1 584.20 f1 1.6 )))
( (= dn 600) (progn (setq  D 914.0  K 812.80 L 41.10 nb 24 A1 610.00 B1 616.00 c2 69.9 h2 168 h1 106 h3 6.4 N1 701.0 B6 609.60 d1 692.20 f1 1.6 )))	
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c3 (+ c2 0)
	c4 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (+ N1 0)
	N3 (+ N1 0)
	d1 (/ d1 2))
)

(defun diametrePN100 ()
(cond
( (= dn 15)  (progn (setq  D 95.0   K 66.70  L 15.80 nb 4  A1 21.30  B1 22.40  c2 14.2  h1 22  h2 58.40  h3 6.4 N1 38.0  B6 12.70  d1 34.90  f1 6.4 )))
       ( (= dn 20)  (progn (setq  D 117.0  K 82.60  L 19.00 nb 4  A1 26.90  B1 27.70  c2 15.7  h1 25  h2 63.40  h3 6.4 N1 48.0  B6 19.00  d1 42.90  f1 6.4 )))  
       ( (= dn 25)  (progn (setq  D 124.0  K 88.90  L 19.00 nb 4  A1 33.70  B1 34.50  c2 17.5  h1 27  h2 68.40  h3 6.4 N1 54.0  B6 25.40  d1 50.80  f1 6.4 )))
       ( (= dn 32)  (progn (setq  D 133.0  K 98.40  L 19.00 nb 4  A1 42.40  B1 43.20  c2 20.6  h1 29  h2 73.40  h3 6.4 N1 64.0  B6 31.80  d1 63.50  f1 6.4 )))
       ( (= dn 40)  (progn (setq  D 156.0  K 114.30 L 22.20 nb 4  A1 48.30  B1 49.50  c2 22.4  h1 32  h2 76.40  h3 6.4 N1 70.0  B6 38.00  d1 73.00  f1 6.4 )))
       ( (= dn 50)  (progn (setq  D 165.0  K 127.00 L 19.00 nb 8  A1 60.30  B1 62.00  c2 25.4  h1 37  h2 79.40  h3 6.4 N1 84.0  B6 50.80  d1 92.10  f1 6.4 )))
       ( (= dn 65)  (progn (setq  D 190.0  K 149.20 L 22.20 nb 8  A1 76.10  B1 77.80  c2 28.4  h1 41  h2 85.40  h3 6.4 N1 100.0 B6 63.50  d1 104.80 f1 6.4 )))
       ( (= dn 80)  (progn (setq  D 210.0  K 168.30 L 22.20 nb 8  A1 88.90  B1 90.70  c2 31.8  h1 46  h2 89.40  h3 6.4 N1 118.0 B6 76.20  d1 127.00 f1 6.4 )))
       ( (= dn 100) (progn (setq  D 273.0  K 215.90 L 25.40 nb 8  A1 114.30 B1 116.10 c2 38.1  h1 54  h2 108.40 h3 6.4 N1 152.0 B6 101.60 d1 157.20 f1 6.4 )))
       ( (= dn 125) (progn (setq  D 330.0  K 266.70 L 28.50 nb 8  A1 139.70 B1 142.20 c2 44.5  h1 60  h2 120.40 h3 6.4 N1 189.0 B6 127.00 d1 185.70 f1 6.4 )))
       ( (= dn 150) (progn (setq  D 356.0  K 292.10 L 28.50 nb 12 A1 168.30 B1 170.70 c2 47.8  h1 67  h2 123.40 h3 6.4 N1 222.0 B6 152.40 d1 215.90 f1 6.4 )))
       ( (= dn 200) (progn (setq  D 419.0  K 349.20 L 31.80 nb 12 A1 219.10 B1 221.50 c2 55.6  h1 76  h2 139.40 h3 6.4 N1 273.0 B6 203.20 d1 269.90 f1 6.4 )))
       ( (= dn 250) (progn (setq  D 508.0  K 431.80 L 35.00 nb 16 A1 273.00 B1 276.40 c2 63.5  h1 86  h2 158.40 h3 6.4 N1 343.0 B6 254.00 d1 323.80 f1 6.4 )))
       ( (= dn 300) (progn (setq  D 559.0  K 489.00 L 35.00 nb 20 A1 323.90 B1 327.20 c2 66.5  h1 92  h2 162.40 h3 6.4 N1 400.0 B6 304.80 d1 381.00 f1 6.4 )))
       ( (= dn 350) (progn (setq  D 603.0  K 527.00 L 38.10 nb 20 A1 355.60 B1 359.20 c2 69.9  h1 94  h2 171.40 h3 6.4 N1 432.0 B6 355.60 d1 412.80 f1 6.4 )))
       ( (= dn 400) (progn (setq  D 686.0  K 603.20 L 41.10 nb 20 A1 406.40 B1 410.50 c2 76.2  h1 106 h2 184.40 h3 6.4 N1 495.0 B6 406.40 d1 469.90 f1 6.4 )))
( (= dn 450) (progn (setq  D 743.0  K 654.00 L 44.50 nb 20 A1 457.00 B1 461.80 c2 82.6  h1 117 h2 190.40 h3 6.4 N1 546.0 B6 457.20 d1 533.40 f1 6.4 )))
	( (= dn 500) (progn (setq  D 813.0  K 723.90 L 44.50 nb 24 A1 508.00 B1 513.10 c2 88.9  h1 127 h2 196.40 h3 6.4 N1 610.0 B6 508.00 d1 584.20 f1 6.4 )))
( (= dn 600) (progn (setq  D 940.0  K 838.20 L 50.80 nb 24 A1 610.00 B1 616.00 c2 101.6 h1 140 h2 209.40 h3 6.4 N1 718.0 B6 609.60 d1 692.20 f1 6.4 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c2 (+ c2 f1)
	c3 (+ c2 0)
	c4 (+ c2 0)
	c2 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (+ N1 0)
	N3 (+ N1 0)
	d1 (/ d1 2))
)

(defun diametrePN150 ()
(cond
( (= dn 15)  (progn (setq  D 121.0  K 82.60  L 22.20 nb 4  A1 21.30  B1 22.40  c2 22.4  h1 32  h2 66.40  h3 6.4 N1 38.0  B6 12.70  d1 34.90  f1 6.4 )))
       ( (= dn 20)  (progn (setq  D 130.0  K 88.90  L 22.20 nb 4  A1 26.90  B1 27.70  c2 25.4  h1 35  h2 76.40  h3 6.4 N1 44.0  B6 19.00  d1 42.90  f1 6.4 )))
       ( (= dn 25)  (progn (setq  D 149.0  K 101.60 L 25.40 nb 4  A1 33.70  B1 34.50  c2 28.4  h1 41  h2 79.40  h3 6.4 N1 52.0  B6 25.40  d1 50.80  f1 6.4 )))
       ( (= dn 32)  (progn (setq  D 159.0  K 111.10 L 25.40 nb 4  A1 42.40  B1 43.20  c2 28.4  h1 41  h2 79.40  h3 6.4 N1 63.0  B6 31.80  d1 63.50  f1 6.4 )))
       ( (= dn 40)  (progn (setq  D 178.0  K 123.80 L 28.50 nb 4  A1 48.30  B1 49.50  c2 31.8  h1 44  h2 89.40  h3 6.4 N1 70.0  B6 38.00  d1 73.00  f1 6.4 )))
       ( (= dn 50)  (progn (setq  D 216.0  K 165.10 L 25.40 nb 8  A1 60.30  B1 62.00  c2 38.1  h1 57  h2 108.40 h3 6.4 N1 105.0 B6 50.80  d1 92.10  f1 6.4 )))
       ( (= dn 65)  (progn (setq  D 244.0  K 190.50 L 28.50 nb 8  A1 76.10  B1 77.80  c2 41.1  h1 63  h2 111.40 h3 6.4 N1 124.0 B6 63.50  d1 104.80 f1 6.4 )))
( (= dn 80)  (progn (setq  D 241.0  K 190.50 L 25.40 nb 8  A1 88.90  B1 90.70  c2 38.1  h1 54  h2 108.40 h3 6.4 N1 127.0 B6 76.20  d1 127.00 f1 6.4 )))      
       ( (= dn 100) (progn (setq  D 292.0  K 235.00 L 31.80 nb 8  A1 114.30 B1 116.10 c2 44.5  h1 70  h2 120.40 h3 6.4 N1 159.0 B6 101.60 d1 157.20 f1 6.4 )))
       ( (= dn 125) (progn (setq  D 349.0  K 279.40 L 35.00 nb 8  A1 139.70 B1 142.20 c2 50.8  h1 79  h2 133.40 h3 6.4 N1 190.0 B6 127.00 d1 185.70 f1 6.4 )))
       ( (= dn 150) (progn (setq  D 381.0  K 317.50 L 31.80 nb 12 A1 168.30 B1 170.70 c2 55.6  h1 86  h2 146.40 h3 6.4 N1 235.0 B6 152.40 d1 215.90 f1 6.4 )))
       ( (= dn 200) (progn (setq  D 470.0  K 393.70 L 38.10 nb 12 A1 219.10 B1 221.50 c2 63.5  h1 102 h2 168.40 h3 6.4 N1 298.0 B6 203.20 d1 269.90 f1 6.4 )))
       ( (= dn 250) (progn (setq  D 546.0  K 469.90 L 38.10 nb 16 A1 273.00 B1 276.40 c2 69.9  h1 108 h2 190.40 h3 6.4 N1 368.0 B6 254.00 d1 323.80 f1 6.4 )))
       ( (= dn 300) (progn (setq  D 610.0  K 533.40 L 38.10 nb 20 A1 323.90 B1 327.20 c2 79.2  h1 117 h2 206.40 h3 6.4 N1 419.0 B6 304.80 d1 381.00 f1 6.4 )))
       ( (= dn 350) (progn (setq  D 641.0  K 558.80 L 41.10 nb 20 A1 355.60 B1 359.20 c2 85.9  h1 130 h2 219.40 h3 6.4 N1 451.0 B6 355.60 d1 412.80 f1 6.4 )))
       ( (= dn 400) (progn (setq  D 705.0  K 616.00 L 44.50 nb 20 A1 406.40 B1 410.50 c2 88.9  h1 133 h2 222.40 h3 6.4 N1 508.0 B6 406.40 d1 469.90 f1 6.4 )))
( (= dn 450) (progn (setq  D 787.0  K 685.80 L 50.80 nb 20 A1 457.00 B1 461.80 c2 101.6 h1 152 h2 235.40 h3 6.4 N1 565.0 B6 457.20 d1 533.40 f1 6.4 )))
	( (= dn 500) (progn (setq  D 857.0  K 749.30 L 53.80 nb 20 A1 508.00 B1 513.10 c2 108.0 h1 159 h2 254.40 h3 6.4 N1 622.0 B6 508.00 d1 584.20 f1 6.4 )))
( (= dn 600) (progn (setq  D 1041.0 K 901.70 L 66.50 nb 20 A1 610.00 B1 616.00 c2 139.7 h1 203 h2 298.40 h3 6.4 N1 749.0 B6 609.60 d1 692.20 f1 6.4 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c2 (+ c2 f1)
	c3 (+ c2 0)
	c4 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (+ N1 0)
	N3 (+ N1 0)
	d1 (/ d1 2))
)

(defun diametrePN250 ()
(cond
( (= dn 15)  (progn (setq  D 121.0  K 82.60  L 22.20 nb 4  A1 21.30  B1 22.40  c2 22.4  h1 32 h2 66.40  h3 6.4 N1 38.0  B6 12.70  d1 34.90  f1 6.4 )))
       ( (= dn 20)  (progn (setq  D 130.0  K 88.90  L 22.20 nb 4  A1 26.90  B1 27.70  c2 25.4  h1 35 h2 76.40  h3 6.4 N1 44.0  B6 19.00  d1 42.90  f1 6.4 )))
       ( (= dn 25)  (progn (setq  D 149.0  K 101.60 L 25.40 nb 4  A1 33.70  B1 34.50  c2 28.4  h1 41 h2 79.40  h3 6.4 N1 52.0  B6 25.40  d1 50.80  f1 6.4 )))
       ( (= dn 32)  (progn (setq  D 159.0  K 111.10 L 25.40 nb 4  A1 42.40  B1 43.20  c2 28.4  h1 41 h2 79.40  h3 6.4 N1 63.0  B6 31.80  d1 63.50  f1 6.4 )))
       ( (= dn 40)  (progn (setq  D 178.0  K 123.80 L 28.50 nb 4  A1 48.30  B1 49.50  c2 31.8  h1 44 h2 89.40  h3 6.4 N1 70.0  B6 38.00  d1 73.00  f1 6.4 )))
       ( (= dn 50)  (progn (setq  D 216.0  K 165.10 L 25.40 nb 8  A1 60.30  B1 62.00  c2 38.1  h1 57 h2 108.40 h3 6.4 N1 105.0 B6 50.80  d1 92.10  f1 6.4 )))
       ( (= dn 65)  (progn (setq  D 244.0  K 190.50 L 28.50 nb 8  A1 76.10  B1 77.80  c2 41.1  h1 63 h2 111.40 h3 6.4 N1 124.0 B6 63.50  d1 104.80 f1 6.4 )))
( (= dn 80)  (progn (setq  D 267.0  K 203.20 L 31.80 nb 8  A1 88.90  B1  0     c2 47.8  h1 0  h2 124.40 h3 6.4 N1 133.0 B6 76.20  d1 127.00 f1 6.4 )))      
       ( (= dn 100) (progn (setq  D 311.0  K 241.30 L 35.00 nb 8  A1 114.30 B1  0     c2 53.8  h1 0  h2 130.40 h3 6.4 N1 162.0 B6 101.60 d1 157.20 f1 6.4 )))
       ( (= dn 125) (progn (setq  D 375.0  K 292.10 L 41.10 nb 8  A1 139.70 B1  0     c2 73.2  h1 0  h2 161.40 h3 6.4 N1 197.0 B6 127.00 d1 185.70 f1 6.4 )))
       ( (= dn 150) (progn (setq  D 394.0  K 317.50 L 38.10 nb 12 A1 168.30 B1  0     c2 82.6  h1 0  h2 177.40 h3 6.4 N1 229.0 B6 152.40 d1 215.90 f1 6.4 )))
       ( (= dn 200) (progn (setq  D 483.0  K 393.70 L 44.50 nb 12 A1 219.10 B1  0     c2 91.9  h1 0  h2 219.40 h3 6.4 N1 292.0 B6 203.20 d1 269.90 f1 6.4 )))
       ( (= dn 250) (progn (setq  D 584.0  K 482.60 L 50.80 nb 12 A1 273.00 B1  0     c2 108.0 h1 0  h2 260.40 h3 6.4 N1 368.0 B6 254.00 d1 323.80 f1 6.4 )))
       ( (= dn 300) (progn (setq  D 673.0  K 571.50 L 53.80 nb 16 A1 323.90 B1  0     c2 124.0 h1 0  h2 289.40 h3 6.4 N1 451.0 B6 304.80 d1 381.00 f1 6.4 )))
       ( (= dn 350) (progn (setq  D 749.0  K 635.00 L 60.50 nb 16 A1 355.60 B1  0     c2 133.4 h1 0  h2 304.40 h3 6.4 N1 495.0 B6 355.60 d1 412.80 f1 6.4 )))
       ( (= dn 400) (progn (setq  D 826.0  K 704.80 L 66.50 nb 16 A1 406.40 B1  0     c2 146.0 h1 0  h2 317.40 h3 6.4 N1 552.0 B6 406.40 d1 469.90 f1 6.4 )))
( (= dn 450) (progn (setq  D 914.0  K 774.70 L 73.20 nb 16 A1 457.00 B1  0     c2 162.0 h1 0  h2 333.40 h3 6.4 N1 597.0 B6 457.20 d1 533.40 f1 6.4 )))
	( (= dn 500) (progn (setq  D 984.0  K 831.80 L 79.20 nb 16 A1 508.00 B1  0     c2 177.6 h1 0  h2 362.40 h3 6.4 N1 641.0 B6 508.00 d1 584.20 f1 6.4 )))
( (= dn 600) (progn (setq  D 1168.0 K 990.60 L 91.90 nb 16 A1 610.00 B1  0     c2 203.2 h1 0  h2 412.40 h3 6.4 N1 762.0 B6 609.60 d1 692.20 f1 6.4 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B1 (/ B1 2)
	B6 (/ B6 2)
	c2 (+ c2 f1)
	c3 (+ c2 0)
	c4 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N2 (+ N1 0)
	N3 (+ N1 0)
	d1 (/ d1 2))
)

(defun diametrePN420 ()
(cond
( (= dn 15)  (progn (setq  D 133.0  K 88.90  L 22.20 nb 4  A1 21.30  c2 30.2  h2 79.40  h3 6.4 N1 43.0  B6 12.70  d1 34.90  f1 6.4 )))
       ( (= dn 20)  (progn (setq  D 140.0  K 95.30  L 22.20 nb 4  A1 26.90  c2 31.8  h2 85.40  h3 6.4 N1 51.0  B6 19.00  d1 42.90  f1 6.4 )))  
       ( (= dn 25)  (progn (setq  D 159.0  K 108.00 L 25.40 nb 4  A1 33.70  c2 35.0  h2 95.40  h3 6.4 N1 57.0  B6 25.40  d1 50.80  f1 6.4 )))
       ( (= dn 32)  (progn (setq  D 184.0  K 130.00 L 28.50 nb 4  A1 42.40  c2 38.1  h2 101.40 h3 6.4 N1 73.0  B6 31.80  d1 63.50  f1 6.4 )))
       ( (= dn 40)  (progn (setq  D 203.0  K 146.00 L 31.80 nb 4  A1 48.30  c2 44.5  h2 117.40 h3 6.4 N1 79.0  B6 38.00  d1 73.00  f1 6.4 )))
       ( (= dn 50)  (progn (setq  D 235.0  K 171.50 L 28.50 nb 8  A1 60.30  c2 50.8  h2 133.40 h3 6.4 N1 95.0  B6 50.80  d1 92.10  f1 6.4 )))
       ( (= dn 65)  (progn (setq  D 267.0  K 196.90 L 31.80 nb 8  A1 76.10  c2 57.2  h2 149.60 h3 6.4 N1 114.0 B6 63.50  d1 104.80 f1 6.4 )))    
       ( (= dn 80)  (progn (setq  D 305.0  K 228.60 L 35.00 nb 8  A1 88.90  c2 66.5  h2 174.40 h3 6.4 N1 133.0 B6 76.20  d1 127.00 f1 6.4 )))      
       ( (= dn 100) (progn (setq  D 356.0  K 273.00 L 41.10 nb 8  A1 114.30 c2 76.2  h2 196.40 h3 6.4 N1 165.0 B6 101.60 d1 157.20 f1 6.4 )))
       ( (= dn 125) (progn (setq  D 419.0  K 323.90 L 47.80 nb 8  A1 139.70 c2 91.9  h2 235.40 h3 6.4 N1 203.0 B6 127.00 d1 185.70 f1 6.4 )))
       ( (= dn 150) (progn (setq  D 483.0  K 368.30 L 53.80 nb 8  A1 168.30 c2 108.0 h2 279.40 h3 6.4 N1 235.0 B6 152.40 d1 215.90 f1 6.4 )))
       ( (= dn 200) (progn (setq  D 552.0  K 438.20 L 53.80 nb 12 A1 219.10 c2 127.0 h2 323.40 h3 6.4 N1 305.0 B6 203.20 d1 269.90 f1 6.4 )))
       ( (= dn 250) (progn (setq  D 673.0  K 539.80 L 66.50 nb 12 A1 273.00 c2 165.1 h2 425.40 h3 6.4 N1 375.0 B6 254.00 d1 323.80 f1 6.4 )))
       ( (= dn 300) (progn (setq  D 762.0  K 619.30 L 73.20 nb 12 A1 323.90 c2 184.2 h2 470.40 h3 6.4 N1 441.0 B6 304.80 d1 381.00 f1 6.4 )))
	)
	(setq	pid (/ pi 2)
	A1 (/ A1 2)
	B6 (/ B6 2)
	c2 (+ c2 f1)
	c3 (+ c2 0)
	c4 (+ c2 0)
	D (/ D 2)
	K (/ K 2)
	L (/ L 2)
	N1 (/ N1 2)
	N3 (+ N1 0)
	d1 (/ d1 2))
)


(defun bride01 (p)
(setq p1 (polar p 0 c1)
	p2 (polar p1 (- 0 pid) D)
	p3 (polar p1 pid D)
	p4 (polar p (- 0 pid) d1)
	p5 (polar p pid d1)
	p6 (polar p4 0 f1)
	p7 (polar p5 0 f1)
	p8 (polar p6 pid (- d1 D))
	p9 (polar p7 pid (- D d1))
)
(setvar "osmode" 0)
(command "polylign" p7 p8 p2 p3 p9 p7 p5 p4 p6"")
(setq	brideA (entlast)
	brideB "0,0,0")
)

(defun bride01c (p)
(setq p1 (polar p 0 c1)
	p2 (polar p1 pid B1)
	p3 (polar p1 pid (- K L))
	p4 (polar p1 pid  K )
	p5 (polar p1 pid (+ K L))
	p6 (polar p1 pid D)
	p7 (polar p6 0 (- f1 c1))
	p8 (polar p5 0 (- f1 c1))
	p9 (polar p4 0 (- f1 c1))
	p10 (polar p3 0 (- f1 c1))
	p11 (polar p pid d1)
	p12 (polar p11 0 f1)
	p13 (polar p pid B1)
)
(setvar "osmode" 0)
(command "polylign" p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p12 p11 p13 p"")
(setq ligne1 (entlast))
 	(command "polylign" p5 p8"")
 	(setq ligne2 (entlast))
(command "polylign" p3 p10"")
(setq ligne3 (entlast))
(command "polylign" p2 p13"")
(setq ligne4 (entlast))
(command "polylign" p4 p9"")
(setq axe3 (entlast))
(command "changer" axe3 "" "pr" "t" "axesx2" "co" "1" "")
(command "miroir" ligne1 ligne2 ligne3 ligne4 axe3""p p1 "")
(setq 	ligne5 (entnext ligne1)
	ligne6 (entnext ligne2)
	ligne7 (entnext ligne3)
	ligne8 (entnext ligne4)
	axe4 (entnext axe3))
;        (command "select" ligne1 ligne2 ligne3 ligne4 axe3 ligne5 ligne6 ligne7 ligne8 axe4 "")
 	(setq	brideA (entlast)
	brideB "0,0,0"
)
)

(defun bride04-02 (p)
(setq	p1 (polar p 0 h2)
	p2 (polar p1 (- 0 pid) A1)
	p3 (polar p1 pid A1)
	p4 (polar p (- 0 pid) d1)
	p5 (polar p pid d1)
	p6 (polar p4 0 c5)
	p7 (polar p5 0 c5)
	p8 (polar p6 pid (- d1 d))
	p9 (polar p7 pid (- d d1))
	p10 (polar p8 0 c6)
	p11 (polar p9 0 c6)
	p12 (polar p10 pid (- D A1))
	p13 (polar p11 pid (- A1 D))
)
(setvar "osmode" 0)
(cond
	((= s1 "2") (progn 
			(command "polylign" p7 p8 p10 p11 p9 p7 p5 p4 p6"")
			(setq brideA (entlast) brideB "0,0,0")
 				)
	)
	((= s1 "4") (progn
			(command "polylign" p7 p8 p10 p11 p9 p7 p5 p4 p6"")
			(setq brideA (entlast))
			(command "polylign" p12 p2 p3 p13"")
			(setq brideB (entlast))
			)
	)
)
)


(defun bride11 (p)
(setq	p1 (polar p 0 h2)
	p2 (polar p1 (- 0 pid) A1)
	p3 (polar p1 pid A1)
	p4 (polar p (- 0 pid) d1)
	p5 (polar p pid d1)
	p6 (polar p4 0 f1)
	p7 (polar p5 0 f1)
	p8 (polar p6 pid (- d1 D))
	p9 (polar p7 pid (- D d1))
	p10 (polar p8 0 (- c2 f1))
	p11 (polar p9 0 (- c2 f1))
	p12 (polar p10 pid (- D N1))
	p13 (polar p11 pid (- N1 D))
	p14 (polar p2 pi h3)
	p15 (polar p3 pi h3)
)
(setvar "osmode" 0)
(command "polylign" p7 p8 p10 p11 p9 p7 p5 p4 p6"")
(setq brideA (entlast))
(command "polylign" p12 p14 p2 p3 p15 p13"")
(setq brideB (entlast))
)

(defun bride11c (p)
(setq j (getdist "\n      Entrer l'épaisseur du talon :"))
 	(setq   p1 (polar p 0 h2)
	p2 (polar p1  pid (- A1 j))
	p3 (polar p1 pid A1)
	p4 (polar p3 pi  h3)
	p5 (polar p pid d1)
	p6 (polar p5 0 f1)
	p7 (polar p6 pid (- K d1))
	p8 (polar p7 pid (- 0 L))		
	p9 (polar p7 pid L)
	p10 (polar p6 pid (- D d1))
	p11 (polar p10 0 (- c2 f1))
	p12 (polar p11 pid (- N1 D))
	p13 (polar p11 pid (- K D))
	p14 (polar p13 pid L)
	p15 (polar p13 pid (- 0 L))
	p16 (polar p2 pi  h2)
)
 (command "polylign" p1 p3 p4 p12 p15 p13 p14 p11 p10 p9 p7 p8 p6 p5 p"")
(setq ligne1 (entlast))
(command "polylign" p2 p16"")
(setq ligne2 (entlast))
(command "polylign" p15 p8"")
(setq ligne3 (entlast))
(command "polylign" p14 p9"")
(setq ligne4 (entlast))
(command "polylign" p13 p7"")
(setq axe3 (entlast))
(command "changer" axe3 "" "pr" "t" "axesx2" "co" "1" "")
(command "miroir" ligne1 ligne2 ligne3 ligne4 axe3""p p1 "")
(setq 	ligne5 (entnext ligne1)
	ligne6 (entnext ligne2)
	ligne7 (entnext ligne3)
	ligne8 (entnext ligne4)
	axe4 (entnext axe3))
;       (command "select" ligne1 ligne2 ligne3 ligne4 axe3 ligne5 ligne6 ligne7 ligne8 axe4 "")
 	(setq	brideA (entlast))
)


(defun bride12 (p)
(setq	p1 (polar p 0 h1)
	p2 (polar p1 (- 0 pid) N2)
	p3 (polar p1 pid N2)
	p4 (polar p (- 0 pid) d1)
	p5 (polar p pid d1)
	p6 (polar p4 0 f1)
	p7 (polar p5 0 f1)
	p8 (polar p6 pid (- d1 D))
	p9 (polar p7 pid (- D d1))
	p10 (polar p8 0 (- c2 f1))
	p11 (polar p9 0 (- c2 f1))
	p12 (polar p10 pid (- D N2))
	p13 (polar p11 pid (- N2 D))
)
(setvar "osmode" 0)
(command "polylign" p7 p8 p10 p11 p9 p7 p5 p4 p6"")
(setq brideA (entlast))
(command "polylign" p12 p2 p3 p13"")
(setq brideB (entlast)
)
)

(defun bride12c (p)
(setq	p1 (polar p 0 h1)
	p2 (polar p1 pid B1)
	p3 (polar p1 pid N2)
	p4 (polar p pid d1)
	p5 (polar p pid B1)
	p6 (polar p4 0 f1)
	p7 (polar p6 pid (- D d1))
	p8 (polar p6 pid (- K d1))
	p9 (polar p8 pid L)
	p10 (polar p8 pid (- 0 L))
	p11 (polar p7 0 (- c2 f1))
	p12 (polar p9 0 (- c2 f1))
	p13 (polar p8 0 (- c2 f1))
	p14 (polar p10 0 (- c2 f1))
	p15 (polar p11 pid (- N2 D))
)
(setvar "osmode" 0)
(command "polylign" p1 p2 p3 p15 p14 p13 p12 p11 p7 p9 p8 p10 p6 p4 p5 p"")
(setq ligne1 (entlast))
(command "polylign" p9 p12"")
(setq ligne2 (entlast))
(command "polylign" p14 p10"")
(setq ligne3 (entlast))
(command "polylign" p2 p5"")
(setq ligne4 (entlast))
(command "polylign" p13 p8"")
(setq axe3 (entlast))
(command "changer" axe3 "" "pr" "t" "axesx2" "co" "1" "")
(command "miroir" ligne1 ligne2 ligne3 ligne4 axe3""p p1 "")
(setq 	ligne5 (entnext ligne1)
	ligne6 (entnext ligne2)
	ligne7 (entnext ligne3)
	ligne8 (entnext ligne4)
	axe4 (entnext axe3)
)
;        (command "select" ligne1 ligne2 ligne3 ligne4 axe3 ligne5 ligne6 ligne7 ligne8 axe4)
	(setq	brideA (entlast)
)
)


(defun bride21 (p)
(setq	p1 (polar p 0 h2)
	p2 (polar p1 (- 0 pid) N3)
	p3 (polar p1 pid N3)
	p4 (polar p (- 0 pid) d1)
	p5 (polar p pid d1)
	p6 (polar p4 0 f1)
	p7 (polar p5 0 f1)
	p8 (polar p6 pid (- d1 D))
	p9 (polar p7 pid (- D d1))
	p10 (polar p8 0 (- c3 f1))
	p11 (polar p9 0 (- c3 f1))
	p12 (polar p10 pid (- D N3))
	p13 (polar p11 pid (- N3 D))
)
(setvar "osmode" 0)
(command "polylign" p7 p8 p10 p11 p9 p7 p5 p4 p6"")
(setq brideA (entlast))
(command "polylign" p12 p2 p3 p13"")
(setq brideB (entlast))
)

(defun bride21c (p)
(setq	p1 (polar p 0 h2)
	p3 (polar p1 pid N3)
	p2 (polar p pid d1)
	p4 (polar p2 0 f1)
	p5 (polar p4 pid (- D d1))
	p6 (polar p5 0 (- c3 f1))
	p7 (polar p6 pid (- N3 D))
	p8 (polar p pid B6)
	p9 (polar p1 pid B6)
	p10 (polar p4 pid (- K d1 ))
	p11 (polar p10 pid L)
	p12 (polar p10 pid (- 0 L))
	p13 (polar p11 0 (- c3 f1))
	p14 (polar p10 0 (- c3 f1))
	p15 (polar p12 0 (- c3 f1))
)
(setvar "osmode" 0)
(command "polylign" p1 p9 p3 p7 p15 p14 p13 p6 p5 p11 p10 p12 p4 p2 p8 p"")
(setq ligne1 (entlast))
(command "polylign" p8 p9"")
(setq ligne2 (entlast))
(command "polylign" p12 p15"")
(setq ligne3 (entlast))
(command "polylign" p11 p13"")
(setq ligne4 (entlast))
(command "polylign" p10 p14"")
(setq axe3 (entlast))
(command "changer" axe3 "" "pr" "t" "axesx2" "co" "1" "")
(command "miroir" ligne1 ligne2 ligne3 ligne4 axe3""p p1 "")
(setq 	ligne5 (entnext ligne1)
	ligne6 (entnext ligne2)
	ligne7 (entnext ligne3)
	ligne8 (entnext ligne4)
	axe4 (entnext ax3e))
;        (command "select" ligne1 ligne2 ligne3 ligne4 axe3 ligne5 ligne6 ligne7 ligne8 axe4)
(setq brideA (entlast)
	brideB "0,0,0"
)
)



(defun c:insbride ()

(setq osm (getvar "osmode" ))
(setvar "cmdecho" 1)

(setq	types (getstring)
PN (getdist))

(menucmd "p0=tuyauterieI.p0bride")
(menucmd "P0=*")
(setq	dn (getdist)) 

(cond 
(( = PN 6) (progn (diametrePN6))
	)
(( = PN 10) (progn (diametrePN10))
	)
(( = PN 16) (progn (diametrePN16))
	)	
(( = PN 20) (progn (diametrePN20))
	)
(( = PN 25) (progn (diametrePN25))
	)
(( = PN 40) (progn (diametrePN40))
	)
(( = PN 50) (progn (diametrePN50))
	)
(( = PN 100) (progn (diametrePN100))
	)
(( = PN 150) (progn (diametrePN150))
	)
(( = PN 250) (progn (diametrePN250))
	)
(( = PN 420) (progn (diametrePN420))
	)
)



(if (= types "face")
(progn
  (setvar "osmode" 35)
(setq p (getpoint "\n             POINT D'INSERTION   :"))
(setvar "osmode" 0)

(command "cercle" p D "cercle" p d1)
(command "cercle" p K )
(setq axe (entlast))
(command "changer" axe "" "pr" "t" "axesx2" "co" "1" "")
(command "cercle" p A1 )
(setq cache (entlast))
(command "changer" cache "" "pr" "t" "cache2" "co" "2" "")
(setq pt (polar p (/ pi 4) K))
(command "cercle" pt L) 
(setq c1 (entlast))
(command "_array" c1"" "p" p nb 360 "o")
	)
(progn 

(menucmd "p0=tuyauterieI.p0stylebride")
(menucmd "P0=*")
(setq s (getstring))

(if (= types "tournante") 
(progn
(menucmd "p0=tuyauterieI.p0collet")
(menucmd "P0=*")
(setq s1 (getstring))
)
)


(setvar "osmode" 35)
(setq p (getpoint "\n             POINT D'INSERTION    :"))
(setvar "osmode" 0)

(cond
((= types "plate") (progn (bride01 p)))
((= types "platec") (progn (bride01c p)))
((= types "collerette") (progn (bride11 p)))
((= types "collerettec") (progn (bride11c p)))
((= types "tournante") (progn (bride04-02 p)))
((= types "slip-on") (progn (bride12 p)))
((= types "slip-onc") (progn (bride12c p)))
((= types "LWN") (progn (bride21 p)))
((= types "LWNc") (progn (bride21c p)))	
)
(setq brideA1 brideA brideB1 brideB axe1 axe)  


(cond
((= s "s")
    (progn
	(setvar "osmode" osm)
	(command "rotation" brideA1 brideB1 axe1 ""p pause)

    )
)
((= s "d") 
   (progn
	(setq j (getdist "\n      Entrer l'épaisseur de joint :"))
	(setq pt (polar p pi j)) 

	(cond
	((= types "plate") (progn (bride01 pt)))
	((= types "platec") (progn (bride01c pt)))
	((= types "collerette") (progn (bride11 pt)))
	((= types "collerettec") (progn (bride11c pt)))
	((= types "tournante") (progn (bride04-02 pt)))
	((= types "slip-on") (progn (bride12 pt)))
	((= types "slip-onc") (progn (bride12c pt)))
	((= types "LWN") (progn (bride21 pt)))
	((= types "LWNc") (progn (bride21c pt)))
	)

	(setq brideA2 brideA brideB2 brideB axe2 axe)  
	(command "rotation" brideA2 brideB2 axe2""pt 180"")
	(setvar "osmode" osm)
	(command "rotation" brideA1 brideB1 axe1 brideA2 brideB2 axe2 ""p pause)

   )
)
((= s "t")
   (progn
	(setq j (getdist "\n      Entrer l'épaisseur de joint :"))
	(setq	pt (polar p pi j)
		pt1 (polar pt pid  d1)
		pt2 (polar pt  (- 0  pid)  d1)
		pt3 (polar pt1 0 (- 0 f1))
		pt4 (polar pt2 0 (- 0 f1))
		pt5 (polar pt3 pid (- D d1))
		pt6 (polar pt4 pid (- d1 D))
		pt7 (polar pt5 0 (- f1 c4))
		pt8 (polar pt6 0 (- f1 c4))
)
	(setvar "osmode" 0)
	(command "polylign" pt3 pt5 pt7 pt8 pt6 pt3 pt1 pt2 pt4"")  
	(setq tape (entlast))
	(setvar "osmode" osm)
	(command "rotation" brideA1 brideA2 brideB1 brideB2 axe tape ""p pause)

		)
)
)
))
(erbride)
)

 

 

 

Merci au lispeur

Lien vers le commentaire
Partager sur d’autres sites

lili2006,

 

Es-tu sûr d'avoir collé la ligne de code au bon endroit ?

 

(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"
  )
  [surligneur](command "_.scale" (entlast) "" pt_ins 0.1)[/surligneur] 
 (setvar "cmdecho" 1)
 (command "_.extrude" (entlast) "")
 (prin1)

 

La ligne utilise la fonction entlast qui retourne la dernière entité créée, il faut donc qu'elle soit placée après la création de la polyligne (command "_.pline" ...).

D'après ce que tu dis, ce serait plutôt l'entité créée avant la polyligne qui est mise à l'échelle

 

une video

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Rere,

 

Le lisp "insbride" ne fonctionne pas chez moi,..

 

(gile),

 

Heu, non, j''lavais mis là =>

 

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" 1)

[surligneur](command "_.scale" (entlast) "" pt_ins 0.1) [/surligneur]

(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"

)

(command "_.scale" (entlast) "" pt_ins 0.1)

 

 

C'est curieux tout de même cette réaction, non ?

 

En tous cas merci, cela va tout de suite mieux,...

Civil 3D 2025 - COVADIS_18.3a

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Suite aux remarques, j'ai modifié le lisp.

J'ai passé la liste des dimensions entièrement en réels (pour éviter la division d'entier)

Mis une option pour choisir l'unité de travail.

Pouvoir orienter l'objet avant extrusion.

 

Etude0, ton code est imbuvable, je regarderais à mon temps libre.... :casstet:

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

Lien vers le commentaire
Partager sur d’autres sites

C'est curieux tout de même cette réaction, non ?

 

Absolument pas.

L'expression (command "_.scale" (entlast) "" pt_ins 0.1) appelle la commande ECHELLE (_SCALE) et répond aux invites de la commande :

 

Choix des objets: (entlast) ce qui correspond à "d" ou "_l" pour dernière entité créée

1 trouvé(s)

Choix des objets: "" ce qui correspond à Enter (validation)

Spécifiez le point de base: pt_ins qui est le point d'insertion précédemment spécifié

Spécifiez le facteur d'échelle ou [Copier/Référence] : 0.1

 

donc si cette instruction est exécutée avant la création de la polyligne, c'est la dernière entité créée qui subit la mise à l'échelle mais avec comme point de base celui qui vient d'être spécifié, d'où l'impression de "déplacement".

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

lili2006,

 

En programmation (comme quand on dessine) la chronologie des instructions est déterminante.

 

bonuscad,

 

Etude0, ton code est imbuvable, je regarderais à mon temps libre....

C'est pour ça que j'ai préféré donner le lien vers le message de usegomme et son programme qui fonctionne avec la plupart des profils que de me lancer dans des modifications, d'autant que, connaissant le personnage, je savais que des demandes supplémentaires suivraient...

 

etude0,

 

S'il te plait, quand tu postes du code, utilise les balises bbcode (accesibles par le bouton dièse [#]) :

[code] le code ici [/code]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas bien compris ta demande , mais bon

 

je pense que sur le lisp que j'ai fais partager à tout le monde pour le rendre possible en 3D il faudrait je pense ajouter une révolution autour de l'axe et le tour et jouer , par contre je ne suis pas capable de faire ce genre de manip en Lisp chacun ses atouts

 

J'en ai encore quelques autres , mais j'atend d'abord de voir si cela est possible de répondre à la demande, je sais que beaucoup attentent ladessus

 

merci à +

Lien vers le commentaire
Partager sur d’autres sites

Salut etude0.

 

J'ai commencé à regarder les brides, mais je ne suis pas de la partie (dans la tuyauterie) et le programme que tu as donné ne fonctionne pas pleinement.

Donc j'ai du mal à me rendre compte du résultat final désiré.

 

Si tu veux que j'essaye de continuer, il me faudrait les schémas ou seraient représenté les valeurs utilisées dans ton programme. (D K L nb A1 B1 c1 c2 c3 c4 c5 c6 h1 h2 h3 N1 N2 N3 B6 d1 f1)

 

Je te donne déjà ce que j'ai pu faire quand la variable c1 existe dans les données (j'ai supposé que c'est l'épaisseur de la bride)

 

(defun c:bride ( / PN6 PN10 PN20 PN25 PN40 PN50 PN100 PN150 PN250 PN420
                 sv_mnu typ_brd l_data l_str model_brd unit_key unit_draw l_val pt_ins js_add js_remove e1 j d1 d2 nb_collet)
(setq PN6
'(
(10 . (75.0 50.0 11.0 4 17.20 18.00 12 nil nil nil 8 10 nil 28 nil nil nil nil nil 35.0 2))
(15 . (80.0 55.0 11.0 4 21.30 22.00 12 nil nil nil 8 10 nil 30 nil nil nil nil nil 40.0 2))
(20 . (90.0 65.0 11.0 4 26.90 27.50 14 nil nil nil 10 10 nil 32 nil nil nil nil nil 50.0 2))
(25 . (100.0 75.0 11.0 4 33.70 34.50 14 nil nil nil 10 12 nil 35 nil nil nil nil nil 60.0 2))
(32 . (120.0 90.0 14.0 4 42.40 43.50 16 nil nil nil 10 12 nil 35 nil nil nil nil nil 70.0 2))
(40 . (130.0 100.0 14.0 4 48.30 49.00 16 nil nil nil 10 12 nil 38 nil nil nil nil nil 80.0 3))
(50 . (140.0 110.0 14.0 4 60.30 61.50 16 nil nil nil 12 12 nil 38 nil nil nil nil nil 90.0 3))
(65 . (160.0 130.0 14.0 4 76.10 77.50 16 nil nil nil 12 12 nil 38 nil nil nil nil nil 110.0 3))
(80 . (190.0 150.0 18.0 4 88.90 90.50 18 nil nil nil 14 14 nil 42 nil nil nil nil nil 128.0 3))
(100 . (210.0 170.0 18.0 4 114.30 116.00 18 nil nil nil 14 14 nil 45 nil nil nil nil nil 148.0 3))
(125 . (240.0 200.0 18.0 8 139.70 141.50 20 nil nil nil 14 14 nil 48 nil nil nil nil nil 178.0 3))
(150 . (265.0 225.0 18.0 8 168.30 170.50 20 nil nil nil 14 14 nil 48 nil nil nil nil nil 202.0 3))
(200 . (320.0 280.0 18.0 8 219.10 222.00 22 nil nil nil 16 16 nil 55 nil nil nil nil nil 258.0 3))
(250 . (375.0 335.0 18.0 12 273.00 276.50 24 nil nil nil 18 20 nil 60 nil nil nil nil nil 312.0 3))
(300 . (440.0 395.0 22.0 12 323.90 327.50 24 nil nil nil 18 24 nil 62 nil nil nil nil nil 365.0 4))
(350 . (490.0 445.0 22.0 12 355.60 359.50 26 nil nil nil 18 26 nil 62 nil nil nil nil nil 415.0 4))
(400 . (540.0 495.0 22.0 16 406.40 411.00 28 nil nil nil 20 28 nil 65 nil nil nil nil nil 465.0 4))
(450 . (595.0 550.0 22.0 16 457.00 462.50 30 nil nil nil 20 30 nil 65 nil nil nil nil nil 520.0 4))
(500 . (645.0 600.0 22.0 20 508.00 513.50 30 nil nil nil 22 32 nil 68 nil nil nil nil nil 570.0 4))
(600 . (755.0 705.0 26.0 20 610.00 616.50 30 nil nil nil 22 36 nil 70 nil nil nil nil nil 670.0 5))
)
)
(setq PN10
'(
(10 . (90.0 60.0 14.0 4 17.20 18.00 14 14 16 14 10 14 20 35 6 28.0 30.0 30.0 6.10 40.0 2))
(15 . (95.0 65.0 14.0 4 21.30 22.00 14 14 16 14 10 14 20 35 6 32.0 35.0 37.0 12.70 45.0 2))
(20 . (105.0 75.0 14.0 4 26.90 27.50 16 16 18 16 12 16 24 38 6 40.0 45.0 44.0 19.00 58.0 2))
(25 . (115.0 85.0 14.0 4 33.70 34.50 16 16 18 16 12 16 24 38 6 45.0 52.0 53.0 25.40 68.0 2))
(32 . (140.0 100.0 18.0 4 42.40 43.50 16 16 18 18 12 16 26 40 6 56.0 60.0 60.0 31.80 78.0 2))
(40 . (150.0 110.0 18.0 4 48.30 49.00 16 16 18 18 12 16 26 42 7 64.0 70.0 68.0 38.00 88.0 3))
(50 . (165.0 125.0 18.0 4 60.30 61.50 18 18 18 18 14 16 28 45 8 75.0 85.0 80.0 50.80 102.0 3))
(65 . (185.0 145.0 18.0 4 76.10 77.50 18 18 18 20 14 18 32 45 10 90.0 105.0 93.0 63.50 122.0 3))
(80 . (200.0 160.0 18.0 8 88.90 90.50 22 20 20 20 16 18 34 50 10 105.0 118.0 110.0 76.20 138.0 3))
(100 . (220.0 180.0 18.0 8 114.30 116.00 22 20 20 22 16 18 38 52 12 131.0 140.0 130.0 101.60 158.0 3))
(125 . (250.0 210.0 18.0 8 139.70 141.50 24 22 22 22 18 18 44 55 12 156.0 168.0 159.0 127.00 188.0 3))
(150 . (285.0 240.0 22.0 8 168.30 170.50 24 22 22 24 18 18 44 55 12 184.0 195.0 184.0 152.40 212.0 3))
(200 . (340.0 295.0 22.0 8 219.10 222.00 24 24 24 24 20 20 44 62 16 235.0 247.0 236.0 203.20 268.0 3))
(250 . (395.0 350.0 22.0 12 273.00 276.50 26 26 26 26 22 22 46 68 16 292.0 300.0 290.0 254.00 320.0 3))
(300 . (445.0 400.0 22.0 12 323.90 327.50 26 26 26 26 22 26 46 68 16 344.0 352.0 342.0 304.80 370.0 4))
(350 . (505.0 460.0 22.0 16 355.60 359.50 28 26 26 26 22 28 53 68 16 385.0 398.0 396.0 355.60 430.0 4))
(400 . (565.0 515.0 26.0 16 406.40 411.00 32 26 26 28 24 32 57 72 16 440.0 448.0 448.0 406.40 482.0 4))
(450 . (615.0 565.0 26.0 20 457.00 462.50 38 28 28 28 24 34 62 72 16 488.0 502.0 498.0 457.20 532.0 4))
(500 . (670.0 620.0 26.0 20 508.00 513.50 38 28 28 30 26 38 67 75 16 542.0 552.0 552.0 508.00 585.0 4))
(600 . (780.0 725.0 30.0 20 610.00 616.50 40 28 30 34 26 44 75 80 18 642.0 658.0 652.0 609.60 685.0 5))
)
)
(setq PN16
'(
(10 . (90.0 60.0 14.0 4 17.20 18.00 14 14 16 14 10 14 20 35 6 28.0 30.0 30.0 6.10 40.0 2))
(15 . (95.0 65.0 14.0 4 21.30 22.00 14 14 16 14 10 14 20 35 6 32.0 35.0 37.0 12.70 45.0 2))
(20 . (105.0 75.0 14.0 4 26.90 27.50 16 16 18 16 12 16 24 38 6 40.0 45.0 44.0 19.00 58.0 2))
(25 . (115.0 85.0 14.0 4 33.70 34.50 16 16 18 16 12 16 24 38 6 45.0 52.0 53.0 25.40 68.0 2))
(32 . (140.0 100.0 18.0 4 42.40 43.50 16 16 18 18 12 16 26 40 6 56.0 60.0 60.0 31.80 78.0 2))
(40 . (150.0 110.0 18.0 4 48.30 49.00 16 16 18 18 12 16 26 42 7 64.0 70.0 68.0 38.00 88.0 3))
(50 . (165.0 125.0 18.0 4 60.30 61.50 18 18 18 18 14 16 28 45 8 75.0 85.0 80.0 50.80 102.0 3))
(65 . (185.0 145.0 18.0 4 76.10 77.50 18 18 18 20 14 18 32 45 10 90.0 105.0 93.0 63.50 122.0 3))
(80 . (200.0 160.0 18.0 8 88.90 90.50 22 20 20 20 16 18 34 50 10 105.0 118.0 110.0 76.20 138.0 3))
(100 . (220.0 180.0 18.0 8 114.30 116.00 22 20 20 22 16 18 38 52 12 131.0 140.0 130.0 101.60 158.0 3))
(125 . (250.0 210.0 18.0 8 139.70 141.50 24 22 22 22 18 18 44 55 12 156.0 168.0 159.0 127.00 188.0 3))
(150 . (285.0 240.0 22.0 8 168.30 170.50 24 22 22 24 18 18 44 55 12 184.0 195.0 184.0 152.40 212.0 3))
(200 . (340.0 295.0 22.0 12 219.10 222.00 26 24 24 26 20 20 44 62 16 235.0 247.0 236.0 203.20 268.0 3))
(250 . (405.0 355.0 26.0 12 273.00 276.50 32 26 26 26 22 24 46 70 16 292.0 300.0 290.0 254.00 320.0 3))
(300 . (460.0 410.0 26.0 12 323.90 327.50 32 28 28 28 24 28 46 78 16 344.0 355.0 348.0 304.80 378.0 4))
(350 . (520.0 470.0 26.0 16 355.60 359.50 36 30 30 30 26 32 57 82 16 390.0 400.0 396.0 355.60 438.0 4))
(400 . (580.0 525.0 30.0 16 406.40 411.00 38 32 32 32 28 36 63 85 16 445.0 456.0 448.0 406.40 490.0 4))
(450 . (640.0 585.0 30.0 20 457.00 462.50 42 34 36 36 30 40 68 85 16 490.0 502.0 516.0 457.20 550.0 4))
(500 . (715.0 650.0 33.0 20 508.00 513.50 44 34 36 40 32 44 73 90 16 548.0 559.0 554.0 508.00 610.0 4))
(600 . (840.0 770.0 36.0 20 610.00 616.50 48 36 40 44 0 0 83 95 18 652.0 658.0 660.0 609.60 725.0 5))
)
)
(setq PN20
'(
(15 . (89.0 60.30 15.80 4 21.30 22.40 12 11.2 11.5 nil nil nil 16 48 6.4 30.0 nil nil 12.70 34.90 1.6))
(20 . (99.0 69.80 15.80 4 26.90 27.70 14 12.7 13.0 nil nil nil 16 52 6.4 38.0 nil nil 19.00 42.90 1.6))
(25 . (108.0 79.40 15.80 4 33.70 34.50 16 14.3 14.5 nil nil nil 17 56 6.4 49.0 nil nil 25.40 50.80 1.6))
(32 . (117.0 88.90 15.80 4 42.40 43.20 18 15.9 16.0 nil nil nil 21 57 6.4 59.0 nil nil 31.80 63.50 1.6))
(40 . (127.0 98.40 15.80 4 48.30 49.50 19 17.5 17.5 nil nil nil 22 62 6.4 65.0 nil nil 38.00 73.00 1.6))
(50 . (152.0 120.60 19.00 4 60.30 62.00 21 19.1 15.9 nil nil nil 25 63 6.4 78.0 nil nil 50.80 92.10 1.6))
(65 . (178.0 139.70 19.00 4 76.10 77.80 24 22.3 17.5 nil nil nil 29 70 6.4 90.0 nil nil 63.50 104.80 1.6))
(80 . (190.0 152.40 19.00 4 88.90 90.70 26 23.9 19.1 nil nil nil 30 70 6.4 108.0 nil nil 76.20 127.00 1.6))
(100 . (229.0 190.50 19.00 8 114.30 116.10 27 23.9 23.9 nil nil nil 33 76 6.4 135.0 nil nil 101.60 157.20 1.6))
(125 . (254.0 215.90 22.20 8 139.70 142.20 28 23.9 23.9 nil nil nil 37 89 6.4 164.0 nil nil 127.00 185.70 1.6))
(150 . (279.0 241.30 22.20 8 168.30 170.70 31 25.4 25.4 nil nil nil 40 89 6.4 192.0 nil nil 152.40 215.90 1.6))
(200 . (343.0 298.40 22.20 8 219.10 221.50 34 28.6 28.6 nil nil nil 44 102 6.4 246.0 nil nil 203.20 269.90 1.6))
(250 . (406.0 362.00 25.40 12 273.00 276.40 38 30.2 30.2 nil nil nil 49 102 6.4 305.0 nil nil 254.00 323.80 1.6))
(300 . (483.0 431.80 25.40 12 323.90 327.20 42 31.8 31.8 nil nil nil 56 114 6.4 365.0 nil nil 304.80 381.00 1.6))
(350 . (533.0 476.20 28.50 12 355.60 359.20 43 35.0 35.0 nil nil nil 57 127 6.4 400.0 nil nil 355.60 412.80 1.6))
(400 . (597.0 539.80 28.50 16 406.40 410.50 48 36.6 36.6 nil nil nil 63 127 6.4 457.0 nil nil 406.40 469.90 1.6))
(450 . (635.0 577.80 31.80 16 457.00 461.80 52 39.7 39.7 nil nil nil 68 140 6.4 505.0 nil nil 457.20 533.40 1.6))
(500 . (698.0 635.00 31.80 20 508.00 513.10 56 42.9 42.9 nil nil nil 73 144 6.4 559.0 nil nil 508.00 584.20 1.6))
(600 . (813.0 749.30 35.00 20 610.00 616.00 62 47.7 47.7 nil nil nil 83 152 6.4 664.0 nil nil 609.60 692.20 1.6))
)
)
(setq PN25
'(
(10 . (90.0 60.0 14.0 4 17.20 18.20 nil nil 16 14 12 16 22 35 6 28.0 30.0 30.0 6.10 40.0 2))
(15 . (95.0 65.0 14.0 4 21.30 22.00 nil nil 16 14 12 16 22 38 6 32.0 35.0 37.0 12.70 45.0 2))
(20 . (105.0 75.0 14.0 4 26.90 27.50 nil nil 18 16 14 16 26 40 6 40.0 45.0 44.0 19.00 58.0 2))
(25 . (115.0 85.0 14.0 4 33.70 34.50 nil nil 18 16 14 18 28 40 6 46.0 52.0 53.0 25.40 68.0 2))
(32 . (140.0 100.0 18.0 4 42.40 43.50 nil nil 18 18 14 18 30 42 6 56.0 60.0 60.0 31.80 78.0 2))
(40 . (150.0 110.0 18.0 4 48.30 49.00 nil nil 18 18 14 18 32 45 7 64.0 70.0 68.0 38.00 88.0 3))
(50 . (165.0 125.0 18.0 4 60.30 61.50 nil nil 20 20 16 20 34 48 8 75.0 85.0 80.0 50.80 102.0 3))
(65 . (185.0 145.0 18.0 8 76.10 77.50 nil nil 22 22 16 20 38 52 10 90.0 105.0 99.0 63.50 122.0 3))
(80 . (200.0 160.0 18.0 8 88.90 90.50 nil nil 24 24 18 22 40 58 12 105.0 118.0 116.0 76.20 138.0 3))
(100 . (235.0 190.0 22.0 8 114.30 116.00 nil nil 24 26 20 22 44 65 12 134.0 145.0 136.0 101.60 162.0 3))
(125 . (270.0 220.0 26.0 8 139.70 141.50 nil nil 26 28 22 24 48 68 12 162.0 170.0 165.0 127.00 188.0 3))
(150 . (300.0 250.0 26.0 8 168.30 170.50 nil nil 28 30 22 24 52 75 12 192.0 200.0 192.0 152.40 218.0 3))
(200 . (360.0 310.0 26.0 12 219.10 222.00 nil nil 30 32 24 26 52 80 16 244.0 256.0 246.0 203.20 278.0 3))
(250 . (425.0 370.0 30.0 12 273.00 276.50 nil nil 32 32 26 30 60 88 18 298.0 310.0 298.0 254.00 335.0 3))
(300 . (485.0 430.0 30.0 16 323.90 327.50 nil nil 34 34 28 34 67 92 18 352.0 364.0 352.0 304.80 395.0 4))
(350 . (555.0 490.0 33.0 16 355.60 359.50 nil nil 38 38 32 38 72 100 20 398.0 418.0 408.0 355.60 450.0 4))
(400 . (620.0 550.0 36.0 16 406.40 411.00 nil nil 40 40 34 42 78 110 20 452.0 472.0 460.0 406.40 505.0 4))
(450 . (670.0 600.0 36.0 20 457.00 462.50 nil nil 42 44 0 0 84 110 20 500.0 520.0 520.0 457.20 550.0 4))
(500 . (730.0 660.0 36.0 20 508.00 513.50 nil nil 44 48 38 50 90 125 20 558.0 580.0 566.0 508.00 615.0 4))
(600 . (845.0 770.0 39.0 20 610.00 616.50 nil nil 46 54 0 0 100 125 20 660.0 684.0 670.0 609.60 720.0 5))
)
)
(setq PN40
'(
(10 . (90.0 60.0 14.0 4 17.20 18.20 nil nil 16 14 12 16 22 35 6 28.0 30.0 30.0 6.10 40.0 2))
(15 . (95.0 65.0 14.0 4 21.30 22.00 nil nil 16 14 12 16 22 38 6 32.0 35.0 37.0 12.70 45.0 2))
(20 . (105.0 75.0 14.0 4 26.90 27.50 nil nil 18 16 14 16 26 40 6 40.0 45.0 44.0 19.00 58.0 2))
(25 . (115.0 85.0 14.0 4 33.70 34.50 nil nil 18 16 14 18 28 40 6 46.0 52.0 53.0 25.40 68.0 2))
(32 . (140.0 100.0 18.0 4 42.40 43.50 nil nil 18 18 14 18 30 42 6 56.0 60.0 60.0 31.80 78.0 2))
(40 . (150.0 110.0 18.0 4 48.30 49.00 nil nil 18 18 14 18 32 45 7 64.0 70.0 68.0 38.00 88.0 3))
(50 . (165.0 125.0 18.0 4 60.30 61.50 nil nil 20 20 16 20 34 48 8 75.0 85.0 80.0 50.80 102.0 3))
(65 . (185.0 145.0 18.0 8 76.10 77.50 nil nil 22 22 16 20 38 52 10 90.0 105.0 99.0 63.50 122.0 3))
(80 . (200.0 160.0 18.0 8 88.90 90.50 nil nil 24 24 18 22 40 58 12 105.0 118.0 116.0 76.20 138.0 3))
(100 . (235.0 190.0 22.0 8 114.30 116.00 nil nil 24 26 20 22 44 65 12 134.0 145.0 136.0 101.60 162.0 3))
(125 . (270.0 220.0 26.0 8 139.70 141.50 nil nil 26 28 22 24 48 68 12 162.0 170.0 165.0 127.00 188.0 3))
(150 . (300.0 250.0 26.0 8 168.30 170.50 nil nil 28 30 22 24 52 75 12 192.0 200.0 192.0 152.40 218.0 3))
(200 . (375.0 320.0 30.0 12 219.10 222.00 nil nil 32 36 26 30 52 88 16 244.0 260.0 252.0 203.20 285.0 3))
(250 . (450.0 385.0 33.0 12 273.00 276.50 nil nil 38 38 30 36 60 105 18 306.0 320.0 308.0 254.00 345.0 3))
(300 . (515.0 450.0 33.0 16 323.90 327.50 nil nil 42 42 34 40 67 115 18 362.0 380.0 364.0 304.80 410.0 4))
(350 . (580.0 510.0 36.0 16 355.60 359.50 nil nil 46 46 38 46 72 125 20 408.0 424.0 420.0 355.60 465.0 4))
(400 . (660.0 585.0 39.0 16 406.40 411.00 nil nil 50 50 42 50 78 135 20 462.0 478.0 476.0 406.40 535.0 4))
(450 . (685.0 610.0 39.0 20 457.00 462.50 nil nil 50 54 46 50 84 135 20 500.0 522.0 526.0 457.20 560.0 4))
(500 . (755.0 670.0 42.0 20 508.00 513.50 nil nil 52 60 50 60 90 140 20 562.0 576.0 578.0 508.00 615.0 4))
(600 . (890.0 795.0 48.0 20 610.00 616.50 nil nil 60 70 0 0 100 150 20 666.0 686.0 690.0 609.60 735.0 5))
)
)
(setq PN50
'(
(15 . (95.0 66.70 15.80 4 21.30 22.40 nil 14.2 nil nil nil nil 22 52 6.4 38.0 nil nil 12.70 34.90 1.6))
(20 . (117.0 82.60 19.00 4 26.90 27.70 nil 15.7 nil nil nil nil 25 57 6.4 48.0 nil nil 19.00 42.90 1.6))
(25 . (124.0 88.90 19.00 4 33.70 34.50 nil 17.5 nil nil nil nil 27 62 6.4 54.0 nil nil 25.40 50.80 1.6))
(32 . (133.0 98.40 19.00 4 42.40 43.20 nil 19.0 nil nil nil nil 27 65 6.4 63.0 nil nil 31.80 63.50 1.6))
(40 . (156.0 114.30 22.20 4 48.30 49.50 nil 20.6 nil nil nil nil 30 68 6.4 70.0 nil nil 38.00 73.00 1.6))
(50 . (165.0 127.00 19.00 8 60.30 62.00 nil 22.4 nil nil nil nil 33 70 6.4 84.0 nil nil 50.80 92.10 1.6))
(65 . (190.0 149.20 22.20 8 76.10 77.80 nil 25.4 nil nil nil nil 38 76 6.4 100.0 nil nil 63.50 104.80 1.6))
(80 . (210.0 168.30 22.20 8 88.90 90.70 nil 28.4 nil nil nil nil 43 79 6.4 117.0 nil nil 76.20 127.00 1.6))
(100 . (254.0 200.00 22.20 8 114.30 116.10 nil 31.8 nil nil nil nil 48 86 6.4 146.0 nil nil 101.60 157.20 1.6))
(125 . (279.0 235.00 22.20 8 139.70 142.20 nil 35.0 nil nil nil nil 51 98 6.4 178.0 nil nil 127.00 185.70 1.6))
(150 . (318.0 269.90 22.20 12 168.30 170.70 nil 36.6 nil nil nil nil 52 98 6.4 206.0 nil nil 152.40 215.90 1.6))
(200 . (381.0 330.20 25.40 12 219.10 221.50 nil 41.1 nil nil nil nil 62 111 6.4 260.0 nil nil 203.20 269.90 1.6))
(250 . (444.0 387.40 28.50 16 273.00 276.40 nil 47.8 nil nil nil nil 66 117 6.4 320.0 nil nil 254.00 323.80 1.6))
(300 . (521.0 450.80 31.80 16 323.90 327.20 nil 50.8 nil nil nil nil 73 130 6.4 375.0 nil nil 304.80 381.00 1.6))
(350 . (584.0 514.40 31.80 20 355.60 359.20 nil 53.8 nil nil nil nil 76 143 6.4 425.0 nil nil 355.60 412.80 1.6))
(400 . (648.0 571.50 35.00 20 406.40 410.50 nil 57.2 nil nil nil nil 83 146 6.4 483.0 nil nil 406.40 469.90 1.6))
(450 . (711.0 628.60 35.00 24 457.00 461.80 nil 60.5 nil nil nil nil 89 159 6.4 533.0 nil nil 457.20 533.40 1.6))
(500 . (775.0 685.80 35.00 24 508.00 513.10 nil 63.5 nil nil nil nil 95 162 6.4 587.0 nil nil 508.00 584.20 1.6))
(600 . (914.0 812.80 41.10 24 610.00 616.00 nil 69.9 nil nil nil nil 106 168 6.4 701.0 nil nil 609.60 692.20 1.6))
)
)
(setq PN100
'(
(15 . (95.0 66.70 15.80 4 21.30 22.40 nil 14.2 nil nil nil nil 22 58.40 6.4 38.0 nil nil 12.70 34.90 6.4))
(20 . (117.0 82.60 19.00 4 26.90 27.70 nil 15.7 nil nil nil nil 25 63.40 6.4 48.0 nil nil 19.00 42.90 6.4))
(25 . (124.0 88.90 19.00 4 33.70 34.50 nil 17.5 nil nil nil nil 27 68.40 6.4 54.0 nil nil 25.40 50.80 6.4))
(32 . (133.0 98.40 19.00 4 42.40 43.20 nil 20.6 nil nil nil nil 29 73.40 6.4 64.0 nil nil 31.80 63.50 6.4))
(40 . (156.0 114.30 22.20 4 48.30 49.50 nil 22.4 nil nil nil nil 32 76.40 6.4 70.0 nil nil 38.00 73.00 6.4))
(50 . (165.0 127.00 19.00 8 60.30 62.00 nil 25.4 nil nil nil nil 37 79.40 6.4 84.0 nil nil 50.80 92.10 6.4))
(65 . (190.0 149.20 22.20 8 76.10 77.80 nil 28.4 nil nil nil nil 41 85.40 6.4 100.0 nil nil 63.50 104.80 6.4))
(80 . (210.0 168.30 22.20 8 88.90 90.70 nil 31.8 nil nil nil nil 46 89.40 6.4 118.0 nil nil 76.20 127.00 6.4))
(100 . (273.0 215.90 25.40 8 114.30 116.10 nil 38.1 nil nil nil nil 54 108.40 6.4 152.0 nil nil 101.60 157.20 6.4))
(125 . (330.0 266.70 28.50 8 139.70 142.20 nil 44.5 nil nil nil nil 60 120.40 6.4 189.0 nil nil 127.00 185.70 6.4))
(150 . (356.0 292.10 28.50 12 168.30 170.70 nil 47.8 nil nil nil nil 67 123.40 6.4 222.0 nil nil 152.40 215.90 6.4))
(200 . (419.0 349.20 31.80 12 219.10 221.50 nil 55.6 nil nil nil nil 76 139.40 6.4 273.0 nil nil 203.20 269.90 6.4))
(250 . (508.0 431.80 35.00 16 273.00 276.40 nil 63.5 nil nil nil nil 86 158.40 6.4 343.0 nil nil 254.00 323.80 6.4))
(300 . (559.0 489.00 35.00 20 323.90 327.20 nil 66.5 nil nil nil nil 92 162.40 6.4 400.0 nil nil 304.80 381.00 6.4))
(350 . (603.0 527.00 38.10 20 355.60 359.20 nil 69.9 nil nil nil nil 94 171.40 6.4 432.0 nil nil 355.60 412.80 6.4))
(400 . (686.0 603.20 41.10 20 406.40 410.50 nil 76.2 nil nil nil nil 106 184.40 6.4 495.0 nil nil 406.40 469.90 6.4))
(450 . (743.0 654.00 44.50 20 457.00 461.80 nil 82.6 nil nil nil nil 117 190.40 6.4 546.0 nil nil 457.20 533.40 6.4))
(500 . (813.0 723.90 44.50 24 508.00 513.10 nil 88.9 nil nil nil nil 127 196.40 6.4 610.0 nil nil 508.00 584.20 6.4))
(600 . (940.0 838.20 50.80 24 610.00 616.00 nil 101.6 nil nil nil nil 140 209.40 6.4 718.0 nil nil 609.60 692.20 6.4))
)
)
(setq PN150
'(
(15 . (121.0 82.60 22.20 4 21.30 22.40 nil 22.4 nil nil nil nil 32 66.40 6.4 38.0 nil nil 12.70 34.90 6.4))
(20 . (130.0 88.90 22.20 4 26.90 27.70 nil 25.4 nil nil nil nil 35 76.40 6.4 44.0 nil nil 19.00 42.90 6.4))
(25 . (149.0 101.60 25.40 4 33.70 34.50 nil 28.4 nil nil nil nil 41 79.40 6.4 52.0 nil nil 25.40 50.80 6.4))
(32 . (159.0 111.10 25.40 4 42.40 43.20 nil 28.4 nil nil nil nil 41 79.40 6.4 63.0 nil nil 31.80 63.50 6.4))
(40 . (178.0 123.80 28.50 4 48.30 49.50 nil 31.8 nil nil nil nil 44 89.40 6.4 70.0 nil nil 38.00 73.00 6.4))
(50 . (216.0 165.10 25.40 8 60.30 62.00 nil 38.1 nil nil nil nil 57 108.40 6.4 105.0 nil nil 50.80 92.10 6.4))
(65 . (244.0 190.50 28.50 8 76.10 77.80 nil 41.1 nil nil nil nil 63 111.40 6.4 124.0 nil nil 63.50 104.80 6.4))
(80 . (241.0 190.50 25.40 8 88.90 90.70 nil 38.1 nil nil nil nil 54 108.40 6.4 127.0 nil nil 76.20 127.00 6.4))
(100 . (292.0 235.00 31.80 8 114.30 116.10 nil 44.5 nil nil nil nil 70 120.40 6.4 159.0 nil nil 101.60 157.20 6.4))
(125 . (349.0 279.40 35.00 8 139.70 142.20 nil 50.8 nil nil nil nil 79 133.40 6.4 190.0 nil nil 127.00 185.70 6.4))
(150 . (381.0 317.50 31.80 12 168.30 170.70 nil 55.6 nil nil nil nil 86 146.40 6.4 235.0 nil nil 152.40 215.90 6.4))
(200 . (470.0 393.70 38.10 12 219.10 221.50 nil 63.5 nil nil nil nil 102 168.40 6.4 298.0 nil nil 203.20 269.90 6.4))
(250 . (546.0 469.90 38.10 16 273.00 276.40 nil 69.9 nil nil nil nil 108 190.40 6.4 368.0 nil nil 254.00 323.80 6.4))
(300 . (610.0 533.40 38.10 20 323.90 327.20 nil 79.2 nil nil nil nil 117 206.40 6.4 419.0 nil nil 304.80 381.00 6.4))
(350 . (641.0 558.80 41.10 20 355.60 359.20 nil 85.9 nil nil nil nil 130 219.40 6.4 451.0 nil nil 355.60 412.80 6.4))
(400 . (705.0 616.00 44.50 20 406.40 410.50 nil 88.9 nil nil nil nil 133 222.40 6.4 508.0 nil nil 406.40 469.90 6.4))
(450 . (787.0 685.80 50.80 20 457.00 461.80 nil 101.6 nil nil nil nil 152 235.40 6.4 565.0 nil nil 457.20 533.40 6.4))
(500 . (857.0 749.30 53.80 20 508.00 513.10 nil 108.0 nil nil nil nil 159 254.40 6.4 622.0 nil nil 508.00 584.20 6.4))
(600 . (1041.0 901.70 66.50 20 610.00 616.00 nil 139.7 nil nil nil nil 203 298.40 6.4 749.0 nil nil 609.60 692.20 6.4))
)
)
(setq PN250
'(
(15 . (121.0 82.60 22.20 4 21.30 22.40 nil 22.4 nil nil nil nil 32 66.40 6.4 38.0 nil nil 12.70 34.90 6.4))
(20 . (130.0 88.90 22.20 4 26.90 27.70 nil 25.4 nil nil nil nil 35 76.40 6.4 44.0 nil nil 19.00 42.90 6.4))
(25 . (149.0 101.60 25.40 4 33.70 34.50 nil 28.4 nil nil nil nil 41 79.40 6.4 52.0 nil nil 25.40 50.80 6.4))
(32 . (159.0 111.10 25.40 4 42.40 43.20 nil 28.4 nil nil nil nil 41 79.40 6.4 63.0 nil nil 31.80 63.50 6.4))
(40 . (178.0 123.80 28.50 4 48.30 49.50 nil 31.8 nil nil nil nil 44 89.40 6.4 70.0 nil nil 38.00 73.00 6.4))
(50 . (216.0 165.10 25.40 8 60.30 62.00 nil 38.1 nil nil nil nil 57 108.40 6.4 105.0 nil nil 50.80 92.10 6.4))
(65 . (244.0 190.50 28.50 8 76.10 77.80 nil 41.1 nil nil nil nil 63 111.40 6.4 124.0 nil nil 63.50 104.80 6.4))
(80 . (267.0 203.20 31.80 8 88.90 0 nil 47.8 nil nil nil nil 0 124.40 6.4 133.0 nil nil 76.20 127.00 6.4))
(100 . (311.0 241.30 35.00 8 114.30 0 nil 53.8 nil nil nil nil 0 130.40 6.4 162.0 nil nil 101.60 157.20 6.4))
(125 . (375.0 292.10 41.10 8 139.70 0 nil 73.2 nil nil nil nil 0 161.40 6.4 197.0 nil nil 127.00 185.70 6.4))
(150 . (394.0 317.50 38.10 12 168.30 0 nil 82.6 nil nil nil nil 0 177.40 6.4 229.0 nil nil 152.40 215.90 6.4))
(200 . (483.0 393.70 44.50 12 219.10 0 nil 91.9 nil nil nil nil 0 219.40 6.4 292.0 nil nil 203.20 269.90 6.4))
(250 . (584.0 482.60 50.80 12 273.00 0 nil 108.0 nil nil nil nil 0 260.40 6.4 368.0 nil nil 254.00 323.80 6.4))
(300 . (673.0 571.50 53.80 16 323.90 0 nil 124.0 nil nil nil nil 0 289.40 6.4 451.0 nil nil 304.80 381.00 6.4))
(350 . (749.0 635.00 60.50 16 355.60 0 nil 133.4 nil nil nil nil 0 304.40 6.4 495.0 nil nil 355.60 412.80 6.4))
(400 . (826.0 704.80 66.50 16 406.40 0 nil 146.0 nil nil nil nil 0 317.40 6.4 552.0 nil nil 406.40 469.90 6.4))
(450 . (914.0 774.70 73.20 16 457.00 0 nil 162.0 nil nil nil nil 0 333.40 6.4 597.0 nil nil 457.20 533.40 6.4))
(500 . (984.0 831.80 79.20 16 508.00 0 nil 177.6 nil nil nil nil 0 362.40 6.4 641.0 nil nil 508.00 584.20 6.4))
(600 . (1168.0 990.60 91.90 16 610.00 0 nil 203.2 nil nil nil nil 0 412.40 6.4 762.0 nil nil 609.60 692.20 6.4))
)
)
(setq PN420
'(
(15 . (133.0 88.90 22.20 4 21.30 nil nil 30.2 nil nil nil nil nil 79.40 6.4 43.0 nil nil 12.70 34.90 6.4))
(20 . (140.0 95.30 22.20 4 26.90 nil nil 31.8 nil nil nil nil nil 85.40 6.4 51.0 nil nil 19.00 42.90 6.4))
(25 . (159.0 108.00 25.40 4 33.70 nil nil 35.0 nil nil nil nil nil 95.40 6.4 57.0 nil nil 25.40 50.80 6.4))
(32 . (184.0 130.00 28.50 4 42.40 nil nil 38.1 nil nil nil nil nil 101.40 6.4 73.0 nil nil 31.80 63.50 6.4))
(40 . (203.0 146.00 31.80 4 48.30 nil nil 44.5 nil nil nil nil nil 117.40 6.4 79.0 nil nil 38.00 73.00 6.4))
(50 . (235.0 171.50 28.50 8 60.30 nil nil 50.8 nil nil nil nil nil 133.40 6.4 95.0 nil nil 50.80 92.10 6.4))
(65 . (267.0 196.90 31.80 8 76.10 nil nil 57.2 nil nil nil nil nil 149.60 6.4 114.0 nil nil 63.50 104.80 6.4))
(80 . (305.0 228.60 35.00 8 88.90 nil nil 66.5 nil nil nil nil nil 174.40 6.4 133.0 nil nil 76.20 127.00 6.4))
(100 . (356.0 273.00 41.10 8 114.30 nil nil 76.2 nil nil nil nil nil 196.40 6.4 165.0 nil nil 101.60 157.20 6.4))
(125 . (419.0 323.90 47.80 8 139.70 nil nil 91.9 nil nil nil nil nil 235.40 6.4 203.0 nil nil 127.00 185.70 6.4))
(150 . (483.0 368.30 53.80 8 168.30 nil nil 108.0 nil nil nil nil nil 279.40 6.4 235.0 nil nil 152.40 215.90 6.4))
(200 . (552.0 438.20 53.80 12 219.10 nil nil 127.0 nil nil nil nil nil 323.40 6.4 305.0 nil nil 203.20 269.90 6.4))
(250 . (673.0 539.80 66.50 12 273.00 nil nil 165.1 nil nil nil nil nil 425.40 6.4 375.0 nil nil 254.00 323.80 6.4))
(300 . (762.0 619.30 73.20 12 323.90 nil nil 184.2 nil nil nil nil nil 470.40 6.4 441.0 nil nil 304.80 381.00 6.4))
)
)
 (setq sv_mnu (getvar "SHORTCUTMENU"))
 (setvar "SHORTCUTMENU" 11)
 (initget 1 "PN6 PN10 PN16 PN20 PN25 PN40 PN50 PN100 PN150 PN250 PN420")
 (setq typ_brd (getkword "\nType de bride [PN6/PN10/PN16/PN20/PN25/PN40/PN50/PN100/PN150/PN250/PN420]?: "))
 (setq l_data (eval (read typ_brd)))
 (setq l_str nil)
 (initget 1 (apply 'strcat (mapcar 'strcat (repeat (length l_data) (setq l_str (cons "D" l_str))) (mapcar 'itoa (mapcar 'car l_data)) (repeat (length l_data) (setq l_str (cons " " l_str))))))
 (setq l_str nil)
 (setq model_brd (getkword (strcat "\nDiamètre Nominal ["
   (apply 'strcat (mapcar 'strcat (repeat (length l_data) (setq l_str (cons "D" l_str))) (mapcar 'itoa (mapcar 'car l_data)) (repeat (length l_data) (setq l_str (cons "/" l_str)))))
   "]?: "))
 )
 (setvar "SHORTCUTMENU" sv_mnu)
   (if (or (eq (getvar "USERS5") "") (not (eq (substr (getvar "USERS5") 1 2) "qz")))
	(progn
		(initget "ME CM MM")
		(if (not (setq unit_key (getkword "\nDessin réalisé en [ME/CM/MM] [b]<[/b]MM[b]>[/b]: ")))
			(setq unit_key "MM")
		)
		(cond
			((eq unit_key "ME")
				(setq unit_draw 1000)
			)
			((eq unit_key "CM")
				(setq unit_draw 10)
			)
			((eq unit_key "MM")
				(setq unit_draw 1 unit_key "MM")
			)
		)
		(setvar "USERS5" (strcat "qz" (itoa unit_draw)))
	)
	(progn
		(setq unit_draw (atoi (substr (getvar "USERS5") 3)))
		(cond
			((eq unit_draw 1000)
				(setq unit_key "M")
			)
			((eq unit_draw 10)
				(setq unit_key "CM")
			)
			((eq unit_draw 1)
				(setq unit_key "MM")
			)
		)
	)
)
(setvar "CMDECHO" 0)
(setq l_val (cdr (assoc (atoi (substr model_brd 2)) l_data)))
 (initget 1)
 (setq pt_ins (getpoint "\nPoint d'insertion?: ") js_add (ssadd) js_remove (ssadd))
 (initget 1 "PLATE TOURNANTE COLLERETTE SLIP-ON LWN")
 (setq typ_brd (getkword "\nType de bride [PLATE/TOURNANTE/COLLERETTE/SLIP-ON/LWN]?: "))
 (setq d_tuy (* 0.5 (nth 4 l_val) unit_draw))
 (cond
   ((eq typ_brd "PLATE")
     (if (and (nth 5 l_val) (nth 6 l_val))
       (setq e1 (- (* (nth 6 l_val) unit_draw) (* (last l_val) unit_draw)))
     )
   )
   ((eq typ_brd "COLLERETTE")
     (cond
       ((or (nth 7 l_val) (nth 8 l_val))
         (if (nth 7 l_val)
           (setq e1 (- (* (nth 7 l_val) unit_draw) (* (last l_val) unit_draw)))
           (setq e1 (- (* (nth 8 l_val) unit_draw) (* (last l_val) unit_draw)))
         )
         (if (member typ_brd '("PN100" "PN150" "PN250" "PN420"))
           (setq e1 (+ (* (nth 7 l_val) unit_draw) (* (last l_val) unit_draw)))
         )
         (setq j (* 0.5 (nth 4 l_val) unit_draw))
         (while ([b]>[/b]= j (* 0.5 (nth 4 l_val) unit_draw))
           (initget 1)
           (setq j (getdist "\nEntrer l'épaisseur du talon :"))
         )
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (* 0.5 (nth 15 l_val) unit_draw))
         (setq
           d1 (- (* (nth 13 l_val) unit_draw) (+ e1 (* (last l_val) unit_draw) (* (nth 14 l_val) unit_draw)))
           d2 (- (* 0.5 (nth 15 l_val) unit_draw) (* 0.5 (nth 4 l_val) unit_draw))
         )
         (command "_.extrude" (entlast) "" "_taper" (angtos (atan (/ d2 d1)) (getvar "AUNITS") 12) d1)
         (setq js_add (ssadd (entlast) js_add))
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 d1 (* (last l_val) unit_draw))) (* 0.5 (nth 4 l_val) unit_draw))
         (command "_.extrude" (entlast) "" (* (nth 14 l_val) unit_draw))
         (command "_.union" js_add (entlast) "")
         (setq js_add (ssadd))
         (setq js_add (ssadd (entlast) js_add))
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (- (* 0.5 (nth 4 l_val) unit_draw) j))
         (command "_.extrude" (entlast) "" (+ d1 (* (nth 14 l_val) unit_draw)))
         (command "_.subtract" js_add "" (entlast) "")
         (setq js_add (ssadd))
         (setq js_add (ssadd (entlast) js_add))
       )
     )
   )
   ((eq typ_brd "TOURNANTE")
     (cond
       ((nth 10 l_val)
         (initget "2 4")
         (setq nb_collet (getkword "\nNombre de collets [2/4]?: "))
         (setq e1 (* (nth 11 l_val) unit_draw))
         (if (eq nb_collet "4")
           (progn
             (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (nth 10 l_val) unit_draw))) (* 0.5 (nth 4 l_val) unit_draw))
             (command "_.extrude" (entlast) "" (- (* (nth 13 l_val) unit_draw) (* (nth 10 l_val) unit_draw) e1))
           )
         )
       )
     )
   )
   ((eq typ_brd "SLIP-ON")
     (if (nth 12 l_val)
       (progn
         (if (not (nth 7 l_val))
           (setq e1 (- (* (nth 8 l_val) unit_draw) (* (last l_val) unit_draw)))
           (if (member typ_brd '("PN100" "PN150" "PN250" "PN420"))
             (setq e1 (* (nth 7 l_val) unit_draw))
             (setq e1 (- (* (nth 7 l_val) unit_draw) (* (last l_val) unit_draw)))
           )
         )
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (if (not (nth 16 l_val)) (* 0.5 (nth 15 l_val) unit_draw) (* 0.5 (nth 16 l_val) unit_draw)))
         (command "_.extrude" (entlast) "" (- (* (nth 12 l_val) unit_draw) e1))
         (setq js_add (ssadd (entlast) js_add))
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (* 0.5 (nth 5 l_val) unit_draw))
         (command "_.extrude" (entlast) "" (- (* (nth 12 l_val) unit_draw) e1))
         (command "_.subtract" js_add "" (entlast) "")
         (setq js_add (ssadd))
         (setq js_add (ssadd (entlast) js_add))
       )
     )
   )
   ((eq typ_brd "LWN")
     (if (member typ_brd '("PN100" "PN150" "PN250" "PN420"))
       (setq e1 (- (* (nth 7 l_val) unit_draw) (* (last l_val) unit_draw)))
     )
     (if (and (not (nth 7 l_val)) (nth 8 l_val))
       (setq e1 (- (* (nth 8 l_val) unit_draw) (* (last l_val) unit_draw)))
       (setq e1 (- (* (nth 7 l_val) unit_draw) (* (last l_val) unit_draw)))
     )
     (if (nth 18 l_val)
       (progn
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (if (not (nth 17 l_val)) (* 0.5 (nth 15 l_val) unit_draw) (* 0.5 (nth 17 l_val) unit_draw)))
         (command "_.extrude" (entlast) "" (- (* (nth 13 l_val) unit_draw) e1))
         (setq js_add (ssadd (entlast) js_add))
         (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (last l_val) unit_draw))) (* 0.5 (nth 18 l_val)))
         (command "_.extrude" (entlast) "" (- (* (nth 13 l_val) unit_draw) e1))
         (command "_.subtract" js_add "" (entlast) "")
         (setq js_add (ssadd))
         (setq js_add (ssadd (entlast) js_add))
       )
     )
   )
 )
 (if e1
   (progn
     (command "_.circle" "_none" pt_ins (* (nth 19 l_val) 0.5 unit_draw))
     (command "_.extrude" (entlast) "" (+ e1 (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (last l_val) unit_draw))))
     (setq js_add (ssadd (entlast) js_add))
     (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (last l_val) unit_draw)))  (* (car l_val) 0.5 unit_draw))
     (command "_.extrude" (entlast) "" e1)
     (command "_.union" js_add (entlast) "")
     (setq js_add (ssadd) js_add (ssadd (entlast) js_add))
     (command "_.circle" "_none" pt_ins (if (eq typ_brd "LWN") (* 0.5 (nth 18 l_val)) (if (eq typ_brd "COLLERETTE") (- (* 0.5 (nth 4 l_val) unit_draw) j) d_tuy)))
     (command "_.extrude" (entlast) "" (+ e1 (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (last l_val) unit_draw))))
     (setq js_remove (ssadd (entlast) js_remove))
     (command "_.circle" "_none" (polar (list (car pt_ins) (cadr pt_ins) (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (last l_val) unit_draw))) (* pi 0.25) (* (cadr l_val) 0.5 unit_draw)) (* (caddr l_val) 0.5 unit_draw))
     (command "_.extrude" (entlast) "" e1)
     (setq js_remove (ssadd (entlast) js_remove))
     (setq e_name (entlast))
     (command "_.array" (entlast) "" "_polar" "_none" pt_ins (cadddr l_val) "" "_yes")
     (while (setq e_name (entnext e_name)) (setq js_remove (ssadd e_name js_remove)))
     (command "_.subtract" js_add "" js_remove "")
   )
   (princ "\nPas de valeur dans base données pour ce type de bride")
 )
	(setvar "CMDECHO" 0)
 (prin1)
)

[Edité le 29/12/2008 par bonuscad]

 

[Edité le 2/1/2009 par bonuscad]

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

Lien vers le commentaire
Partager sur d’autres sites

Merci, mais ça correspond en rien à la matrice de donnée qu'il y a dans ton programme d'origine.

 

extrait de ton prog:

( (= dn 15) (progn (setq D 95.0 K 65.0 L 14.0 nb 4 A1 21.30 B1 22.00 c1 14 c2 14 c3 16 c4 14 c5 10 c6 14 h1 20 h2 35 h3 6 N1 32.0 N2 35.0 N3 37.0 B6 12.70 d1 45.0 f1 2 )))

 

J'ai bien cette image qui m'a éclairée (correspond au lettres employées) mais il y a seulement les plus basiques

http://apu.mabul.org/up/apu/2008/12/22/img-160136ncgx0.png

 

si je peux aider j'aide mais la Pgm c'est pas mon fort

 

Si je comprends bien, tu ne pourras pas m'éclairer sur les donnée du programme que tu as posté :casstet:

Ce n'est pas toi qui l'a écrit? :(

 

[Edité le 22/12/2008 par bonuscad]

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

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir , exactement c'est un Lisp qui marche bien en 2D qu'on m'a donné et j'aimerais voir si c'était possible de l'optimiser

 

je peux juste donner des tuyaux dans le domaine de la tuyauterie mais en ce qui concerne la Pgm rien je suis 0

 

Ce que tu as eu c'est pour une bride type Slip on bride plate

Il y a également les brides pleines

Bride dite 11 B à Collerette voir lien joint ci dessus

 

@+ et merci si tu as besoins de conseil sur de la tuyauterie je suis la

Lien vers le commentaire
Partager sur d’autres sites

c'est un Lisp qui marche bien en 2D

 

Pas pour moi, mais il faut dire que je suis néophyte en la matière, et que je rentre peut être des options invalides.

Le problème avec ton lisp est qu'on rentre les options en aveugle car il est associé à un menu, par exemple:

 

(menucmd "p0=tuyauterieI.p0stylebride")

(menucmd "P0=*")

(setq s (getstring))

 

Donc le menu associé pourrait aider à comprendre si tu le mettait en ligne (j'ai fais sans jusqu'à maintenant).

 

Mais des ligne de code m'intrigues (qui font planté la suite), notamment:

(setq brideB (entlast))

et d'autres fois se retrouve en

(setq brideB "0,0,0") ???

 

Tu ne peux vraiment pas m'expliquer le lettrage employé dans les matrices? (à quoi elles correspondent)

 

 

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

Lien vers le commentaire
Partager sur d’autres sites

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é