Aller au contenu

usegomme

Membres
  • Compteur de contenus

    621
  • Inscription

  • Dernière visite

Tout ce qui a été posté par usegomme

  1. Merci Tramber , je viens de trouver cette formule (arrangée) dans un lisp de Patrick_35 (setq js (ssget "x" (list (cons 0 "INSERT") (cons 2 bln)))) C'est ce qu'il me faut , quant aux détails , je coince souvent dessus , j'ai d'énormes lacunes et la mémoire qui flanche ! a+
  2. Bonjour , j'ai besoin d'un coup de pouce (setq ss (ssget "X" '((-4 . "")))) Dans cette expression , je n'arrive pas à remplacer (2 . "R20D") par une variable. R20D étant le nom d'un bloc que je vais extraire d'une liste de blocs, d'où la variable. Merci
  3. usegomme

    Bibli Lisp 2D en 3D?

    Eh bien c'est une journée qui commence bien ,non seulement j'ai fait plaisir à quelqu'un , mais en plus je viens de recevoir un coup de fil m'avertissant que mardi je commence mon nouveau job ! a+ :)
  4. usegomme

    Bibli Lisp 2D en 3D?

    Salut , voilà ça a fini par arriver . J'ai également remodifier BRIDE.lsp au dessus. Et à cette adresse on retrouve les lisps pour la tuyauterie et chaudronnerie 3 D dont celui ci-dessous . ;;; BBRIDE.lsp insère ou crée puis insère des blocs de bride pour tuyauterie 3D ;;; avec attributs invisibles et prédéfinis selon la bride. ;;; ce lisp est une adaptation de BRIDE.lsp de Bonuscad ;;; Usegomme le 30-03-2010 ;;; dernières modifications: 08/11/2010 orientation bride 8 trous et + ;;; 21/01/2011 gestion erreur et delobj + scu ;; suivant norme NF E 29-203 1986 (périmée) (defun erreurbride (msg) (setvar "delobj" delobjet) (if sv_dm (setvar "DYNMODE" sv_dm)) (setvar "CMDECHO" 1) (setq *error* m:err m:err nil) (princ) ) (defun c:bbride ( / 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 typ_collet axebride PN_brd talon atdia af tsize st) (setq m:err *error* *error* erreurbride) (setq delobjet (getvar "delobj")) (setvar "delobj" 2) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) ) ) (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 2.0 )) (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 2.0 )) (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 2.0 )) (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 2.3 )) (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 2.6 )) (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 2.6 )) (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 2.9 )) (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 2.9 )) (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 3.2 )) (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 3.6 )) (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 4.0 )) (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 4.5 )) (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 5.6 )) (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 6.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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.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 2.0 )) (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 2.0 )) (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 2.0 )) (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 2.3 )) (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 2.6 )) (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 2.6 )) (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 2.9 )) (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 2.9 )) (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 3.2 )) (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 3.6 )) (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 4.0 )) (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 4.5 )) (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 5.6 )) (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 6.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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.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 2.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 2.9 )) (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 3.2 )) (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 3.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 3.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 4.0 )) (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 4.5 )) (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 5.0 )) (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 5.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 6.3 )) (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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.5 )) (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 14.2 )) (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 16.0 )) (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 17.5 )) ) ) (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 2.3 )) (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 2.6 )) (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 2.9 )) (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 3.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 3.6 )) (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 3.6 )) (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 4.0 )) (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 4.5 )) (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 5.0 )) (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 5.6 )) (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 6.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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.5 )) (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 14.2 )) (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 16.0 )) (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 17.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 2.3 )) (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 2.6 )) (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 2.9 )) (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 3.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 3.6 )) (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 3.6 )) (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 4.0 )) (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 4.5 )) (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 5.0 )) (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 5.6 )) (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 6.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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.5 )) (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 14.2 )) (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 16.0 )) (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 17.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 2.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 2.9 )) (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 3.2 )) (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 3.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 3.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 4.0 )) (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 4.5 )) (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 5.0 )) (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 5.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 6.3 )) (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 7.1 )) (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 8.0 )) (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 8.8 )) (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 10.0 )) (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 11.0 )) (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 12.5 )) (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 14.2 )) (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 16.0 )) (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 17.5 )) ) ) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) ) ) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) ) ) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) ) ) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) (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 nil )) ) ) (setq sv_dm (getvar "DYNMODE")) (cond ((< sv_dm 0) (setq dm (* sv_dm -1)) (setvar "DYNMODE" dm)) (t (setq sv_dm nil dm nil)) ) (initget 1 "PN6 PN10 PN16 PN20 PN25 PN40 PN50 PN100 PN150 PN250 PN420") (setq PN_brd (getkword "\nType de bride [PN6/PN10/PN16/PN20/PN25/PN40/PN50/PN100/PN150/PN250/PN420]?: ")) (setq l_data (eval (read PN_brd))) (setq l_str nil) (initget 1 (apply 'strcat (mapcar 'strcat (repeat (length l_data) (setq l_str (cons "DN" 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 "DN" l_str))) (mapcar 'itoa (mapcar 'car l_data)) (repeat (length l_data) (setq l_str (cons "/" l_str))))) "]?: ")) ) ;; definition de l'unité de dessin , en cas d'erreur de choix réinitialisé "users5" à valeur " " via la ligne de commande (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] : "))) (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) ) ) (setvar "USERS5" (strcat "qz" (itoa unit_draw))) (setq unit_draw (/ 1.0 unit_draw)) ) (setq unit_draw (/ 1.0 (atoi (substr (getvar "USERS5") 3)))) ) (setvar "CMDECHO" 0) (setq l_val (cdr (assoc (atoi (substr model_brd 3)) l_data))) (initget 1) (setq pt_ins (getpoint "\nPoint d'insertion?: ") js_add (ssadd) js_remove (ssadd)) ;; orientation bride (if pt_ins (setq pf ( getpoint pt_ins "\n direction de la bride <>: "))) (cond ((and pt_ins pf) (command "_ucs" "_zaxis" "_none" pt_ins "_none" pf) (setq pt_ins '(0. 0. 0.)) ) (pt_ins (command "_ucs" "_none" pt_ins "") (setq pt_ins '(0. 0. 0.))) ) (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) (* (nth 20 l_val) unit_draw)) nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd )) ) ) ((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) (* (nth 20 l_val) unit_draw))) (setq e1 (- (* (nth 8 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) ) (if (member PN_brd '("PN100" "PN150" "PN250" "PN420")) (setq e1 (+ (* (nth 7 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) ) (if (nth 21 l_val) (setq j (* (nth 21 l_val) unit_draw) talon nil nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd )) (progn (setq j (* 0.5 (nth 4 l_val) unit_draw) talon T) (while (>= j (* 0.5 (nth 4 l_val) unit_draw)) (initget 1) (setq j (getdist "\nEntrer l'épaisseur du talon :")) ) (setq nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd "_" "talon_" (rtos j 2 2) )) ) ) ;;;;;;;; deplace plus bas ) ) ) ((eq typ_brd "TOURNANTE") (cond ((and (nth 10 l_val)(/= PN_brd "PN6")) (initget "2 4") (setq typ_collet (getkword "\nType de collets [2/4]?: ")) (setq e1 (* (nth 11 l_val) unit_draw)) (setq nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd "_" "collet_" typ_collet )) ) ((nth 10 l_val) (setq e1 (* (nth 11 l_val) unit_draw)) (setq nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd "_" "collet_" )) ) ) ) ((eq typ_brd "SLIP-ON") (setq nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd )) ) ((eq typ_brd "LWN") (setq nomb (strcat "BRIDE" "_" typ_brd "_" model_brd "_" PN_brd )) ) ) (if (tblsearch "block" nomb) ;; recherche bloc dans dessin (progn ;;;; insertion bloc (setq atdia (getvar "attdia")) (setvar "attdia" 1) (command "_-insert" nomb "_non" '(0. 0. 0.) "" "" "0" ) (setvar "attdia" atdia) ) (progn ;; le bloc n´existe pas ;;;; reprise type bride avec creation solide 3 d (cond ((eq typ_brd "COLLERETTE") (cond ((or (nth 7 l_val) (nth 8 l_val)) (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (nth 20 l_val) unit_draw))) (* 0.5 (nth 15 l_val) unit_draw)) (setq d1 (- (* (nth 13 l_val) unit_draw) (+ e1 (* (nth 20 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 (* (nth 20 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 (* (nth 20 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)) ) ) ) ;;; fin collerette ((eq typ_brd "TOURNANTE") (if (eq typ_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)) ;;;;;;;;;;;;;;;;;;;;; modif alésage collet 09-01-09 (setq js_add (ssadd (entlast) js_add)) (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) (* (nth 21 l_val) unit_draw) )) ;; talon (command "_.extrude" (entlast) "" (- (* (nth 13 l_val) unit_draw) (* (nth 10 l_val) unit_draw) e1)) (command "_.subtract" js_add "" (entlast) "") ;;;;;;;;;;;;;;;;;;;; ) ) );;; fin tournante ((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) (* (nth 20 l_val) unit_draw))) (if (member PN_brd '("PN100" "PN150" "PN250" "PN420")) (setq e1 (* (nth 7 l_val) unit_draw)) (setq e1 (- (* (nth 7 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) ) ) (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (nth 20 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 (* (nth 20 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)) ) ) ) ;;; fin SLIP-ON ((eq typ_brd "LWN") (if (member PN_brd '("PN100" "PN150" "PN250" "PN420")) (setq e1 (- (* (nth 7 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) ) (if (and (not (nth 7 l_val)) (nth 8 l_val)) (setq e1 (- (* (nth 8 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) (setq e1 (- (* (nth 7 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) ) (if (nth 18 l_val) (progn (command "_.circle" "_none" (list (car pt_ins) (cadr pt_ins) (+ e1 (* (nth 20 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 (* (nth 20 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)) ) ) ) ;;;fin LWN ) (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) (* (nth 20 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) (* (nth 20 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)) ;;;;;;; alésage bride ou collet (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) (if (eq typ_collet "4") (- (* 0.5 (nth 4 l_val) unit_draw) (* (nth 21 l_val) unit_draw) ) d_tuy ) ) ) ) (command "_.extrude" (entlast) "" (+ e1 (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (nth 20 l_val) unit_draw)))) (setq js_remove (ssadd (entlast) js_remove)) ;; trous boulons (command "_.circle" "_none" (polar (list (car pt_ins) (cadr pt_ins) (if (eq typ_brd "TOURNANTE") (* (nth 10 l_val) unit_draw) (* (nth 20 l_val) unit_draw))) (/ pi (cadddr l_val)) (* (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 "") (setq bridesolide (entlast)) ;; création attributs (setq st (getvar "textstyle")) (setvar "textstyle" "standard") (setq tsize (getvar "textsize")) (setq af (getvar "aflags")) (setq ht (* 0.07 d_tuy (/ 1.0 unit_draw))) ; hauteur texte (setq it (* 1.3 ht)) ; intervale ligne texte (setvar "aflags" 9) ;;; prédéfini et invisible (command "_-attdef" "" "TYPE" "TYPE" (strcat "BRIDE" " " typ_brd) "_non" '(0. 0. 0.) ht "0") (setq att1 (entlast)) (command "_-attdef" "" "DN" "DN" model_brd "_non" (polar '(0. 0. 0.)(* 1.5 pi)(+ it ht)) ht "0") (setq att2 (entlast)) (command "_-attdef" "" "PN" "PN" PN_brd "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 2 (+ it ht))) ht "0") (setq att3 (entlast)) (command "_-attdef" "" "MATIERE" "MATIERE" "" "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 3 (+ it ht))) ht "0") (setq att4 (entlast)) (command "_-attdef" "" "FLUIDE" "FLUIDE" "" "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 4 (+ it ht))) ht "0") (setq att5 (entlast)) (command "_-attdef" "" "REPERE" "REPERE" "" "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 5 (+ it ht))) ht "0") (setq att6 (entlast)) (if typ_collet (progn (command "_-attdef" "" "COLLET" "TYPE" typ_collet "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 6 (+ it ht))) ht "0") (setq att7 (entlast)) )) (if talon (progn (command "_-attdef" "" "TALON" "EPAISSEUR" (rtos j 2 2) "_non" (polar '(0. 0. 0.)(* 1.5 pi)(* 6 (+ it ht))) ht "0") (setq att7 (entlast)) )) ;;;; creation bloc (if (or talon typ_collet) (command "._-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 att5 att6 att7 bridesolide "") (command "._-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 att5 att6 bridesolide "") ) ;;;; insertion bloc (setq atdia (getvar "attdia")) (setvar "attdia" 1) (command "_-insert" nomb "_non" '(0. 0. 0.) "" "" "0" ) (setvar "attdia" atdia) (setvar "aflags" af) (setvar "textsize" tsize ) (setvar "textstyle" st) ) (princ "\nPas de valeur dans base données pour ce type de bride") ) )) ;;; fin if tblsearch bloc (if sv_dm (setvar "DYNMODE" sv_dm)) (cond (pt_ins (command "_ucs" "_p") (setq pf nil))) (setvar "delobj" delobjet) (setq *error* m:err m:err nil) (setvar "CMDECHO" 1) (prin1) ) [Edité le 30/3/2010 par usegomme] [Edité le 21/1/2011 par usegomme]
  5. usegomme

    Bibli Lisp 2D en 3D?

    Salut Fraxa , je ne t´oublie pas mais je n´ai pas eu le temps de mis mettre et je pense revenir à des blocs "bride", mais créé si absent dans le dessin par le lisp. Rendons à César ce qui lui appartient , même si j´ai un peu travaillé dessus c´est à Bonuscad que l´on doit bride.lsp
  6. Salut , Merci aldo127. Sinon pour répondre en partie à FRAXA , j'ai rajouté une option dans le lisp qu' on peut activer en enlevant les point-virgule , pour avoir la section du profil dans le bloc d'info. ; créer et insérer bloc ; 2 OPTIONS au choix , activer celle désirée ;; 1 SANS section du profil dans le bloc ; (command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 ftd:axefer "") ;; 2 ou AVEC section du profil dans le bloc -> ftd:profmet ;;; restauration section du profil pour pouvoir l'insérer dans le bloc (if (or (= 1 (getvar "delobj"))(= 2 (getvar "delobj")))(entdel ftd:profmet)) (command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 ftd:axefer ftd:profmet "") ;;;;;;;;; fin des options du bloc Le code complet plus haut est modifié ,mais avec l'option 1 active. Pour ce qui est d' entrée le nom du bloc manuellement ça ne me semble pas une bonne idée s 'il y a beaucoup de fer. Mais en tout cas il faut une boite de dialogue comme celle de getblock de (gile) , si tu en connais une , je veux bien , sinon il faut la créer ou faire une adaptation.
  7. J'ai corrigé mon problème , j'ai remplacé le code dans le post n°2 de cette page , c'est donc la version 3.1 Si ça ne fonctionne toujours pas chez toi , il faudra me donner plus de précision pour que j'essaie de reproduire le bug. (je suis en version 2008).
  8. Salut , j'ai un problème avec le changement de calque du calorifuge , j'ai utilisé la commande "changer" , et ça bug lorsque l'axe z n'a pas une orientation standard. je ne fais pas de 3 D professionnellement et je ne m'en suis aperçu que récemment. Je suppose que ton problème est identique , je vais tâcher de corriger cela.
  9. Bonjour, c'est rectifié , merci thry0.
  10. Salut à tous , J'ai rajouté le poids du profilé pour répondre à la demande d' aldo127. Pour ce qui est de la densité j'ai mis 7.81 et rectifié à 7.85 Donne moi des valeurs et à quoi ça correspond pour avoir un choix pour ceux qui comme moi ne pratique pas régulièrement. A voir , mais plus tard. ;; FTD R--> Fer 3 D Renseigné type fer , longueur et poids ;; version 4.3 de ftd 13-03-2010 usegomme sur Cadxp.com ;; tracer un profilé 3D en passant par des points et en sélectionnant sa section ;; grace à l'interface écran de L.Bouquillon ;; et de PROFIL.LSP de L.Bouquillon ,adapté par Maxence Delannoy, ;; et modifié par moi-même , sans lequel cette routine ne peut pas fonctionner. ;; la version 4.3 permet ,si on active l'option correspondante dans le lisp ;;d'avoir la section du profil dans le bloc d'info. (defun c:FTDR (/ pt_i_fer ftd:clore ftd:ps ftd:sommets ftd:profmet ftd:point ftd:fer ftd:pp ftd:axefer i pt_i_fer_SCG ftd:ps_SCG att1 att2 att3 pc_SCG longf longfer aspm unit_draw flong fsurf mesure ) (if (null c:PROFIL)(load "PROFIL")) (setq pt_i_fer (getpoint "\n Point de départ du fer: ")) (if pt_i_fer (setq ftd:clore nil ftd:ps (getpoint pt_i_fer "\n point suivant : "))) (cond ((and pt_i_fer ftd:ps) (command "_undo" "_be") ; sauve scu courant (command "_ucs" "_s" "tempftd") (if (not (zerop (getvar "cmdactive")))(command "_y")) (command "_line" "_none" pt_i_fer "_none" ftd:ps "") (setq ftd:axefer (entlast)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_zaxis" "_none" pt_i_fer "_none" ftd:ps) (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) ; sauve scu zaxis (command "_ucs" "_s" "tempftdzaxis") (if (not (zerop (getvar "cmdactive")))(command "_y")) (c:profil) ;; choix profil (setq ftd:profmet (entlast)) ; aire section profil métallique (vl-load-com) (setq aspm (vla-get-area (vlax-ename->vla-object (entlast)))) ; récupération de l'unité de mesure définie par profil.lsp (if (eq (substr (getvar "USERS5") 1 2) "qz") (setq unit_draw (atoi (substr (getvar "USERS5") 3))) (setq unit_draw 1) ) (cond ((= unit_draw 1000) (setq flong 10 fsurf 100 mesure " m")) ((= unit_draw 10) (setq flong 0.1 fsurf 0.01 mesure " cm")) ((= unit_draw 1) (setq flong 0.01 fsurf 0.0001 mesure " mm")) ) ; pivotements scu (setq pc_SCG (trans pc 1 0)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_x" "-90") (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_Z" "-90") (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) (setq ftd:sommets (list ftd:ps)) ;; extrusion suivant chemin (path) (command "_extrude" ftd:profmet "" "_p" ftd:axefer) (setq ftd:fer (entlast)) (while ftd:ps (setq ftd:pp ftd:ps) (if (< i 2) (setq ftd:ps (getpoint ftd:pp "\n point suivant :")) (progn (initget "Clore") (setq ftd:ps (getpoint ftd:pp "\n point suivant [Clore] :")) (if (= ftd:ps "Clore") (setq ftd:clore t) ) ) ) (if ftd:ps (progn (if ftd:clore (setq ftd:ps nil) (setq ftd:sommets (append ftd:sommets (list ftd:ps))) ) (entdel ftd:fer); efface fer 3d ;;efface AXE précédent (if (or (= 0 (getvar "delobj"))(= 1 (getvar "delobj"))) (entdel ftd:axefer) ) (command "_3dpoly" "_none" pt_i_fer) (setq i 0) (repeat (length ftd:sommets) (setq ftd:point (nth i ftd:sommets)) (command "_none" ftd:point) (setq i (1+ i)) ) (if (not ftd:clore) (command "") (command "_c") ) (setq ftd:axefer (entlast)) (if (or (= 1 (getvar "delobj"))(= 2 (getvar "delobj"))) (entdel ftd:profmet) ; restaure profil 2d ) (command "_extrude" ftd:profmet "" "_p" ftd:axefer) (setq ftd:fer (entlast)) ) ) ) ;; AXE présent ou pas suivant variable delobj en désactivant les 2 options ci-dessous ;; ou bien ; AXE TOUJOURS EFFACé (oter les ;) ; (if (= 1 (getvar "delobj")) ; (entdel ftd:axefer) ;efface AXE ; ) ;; ou AXE TOUJOURS PRESENT (oter les ;) (if (= 2 (getvar "delobj")) (entdel ftd:axefer) ;restaure AXE ) ;; Longueur totale du ou des segments (setq i 0 longF nil) (repeat (length ftd:sommets) (setq ftd:point (nth i ftd:sommets)) (if (= i 0) (setq p1 pt_i_fer)) (if longF (setq longF (+ longF (distance p1 ftd:point)) p1 ftd:point) (setq longF (distance p1 ftd:point) p1 ftd:point) ) (setq i (1+ i)) ) (if ftd:clore (setq longF (+ longF (distance ftd:point pt_i_fer))) ) (setq longFer (strcat (rtos longF 2 1) mesure)) ;; poids total en Kg ;; densité acier à ajuster (setq ptkg (strcat (rtos (* 7.81 longF flong aspm fsurf) 2 2) " Kg")) ;; création attributs (setq st (getvar "textstyle")) (setvar "textstyle" "standard") (setq tsize (getvar "textsize")) (setq af (getvar "aflags")) (setq modelfer (strcat fer type_fer)) (setq ht (* 0.07 h_fer (/ 1.0 unit_draw))) ; hauteur texte (setq it (* 1.3 ht)) ; intervale ligne texte (if (or (= fer "IPE") (= fer "IPN") (= fer "HEA") (= fer "HEB") (= fer "COR") (= fer "CORL") (= fer "HEM") (= fer "IPEA")) (command "_ucs" "_x" "90") ) (setq pc (trans pc_SCG 0 1)) (setvar "aflags" 0) ; (setvar "aflags" 1) ;;; invisible (command "_-attdef" "" "NOM" "quel nom ?" "?" "_non" (polar pc (* 0.5 pi) (+ (* 3 it) (* 0.2 ht))) ht "0") (setq att1 (entlast)) (setvar "aflags" 8) ;;; prédéfini ; (setvar "aflags" 9) ;;; prédéfini et invisible (command "_-attdef" "" "PROFIL" "PROFIL" modelfer "_non" (polar pc (* 0.5 pi) (+ (* 2 it) (* 0.2 ht))) ht "0") (setq att2 (entlast)) (setvar "aflags" 8) ;;; prédéfini (command "_-attdef" "" "LONG" "Longueur" longFer "_non" (polar pc (* 0.5 pi) (+ it (* 0.2 ht))) ht "0") (setq att3 (entlast)) (command "_-attdef" "" "POIDS" "Poids" ptkg "_non" (polar pc (* 0.5 pi) (* 0.2 ht)) ht "0") (setq att4 (entlast)) ; alignement angulaires des attributs (command "_ucs" "_r" "tempftdzaxis") (command "_rotate" att1 att2 att3 att4 "" "_non" '(0. 0. 0.) "") (command "_ucs" "_p") ; nom du nouveau bloc (setq nom (strcat modelfer "-" (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_")) (setq nomb (strcat nom "1")) (setq i 1 ) (while (tblsearch "block" nomb) (setq i (1+ i)) (setq nomb (strcat nom (itoa i))) ) ; créer et insérer bloc ; 2 OPTIONS au choix , activer celle désirée ;; 1 SANS section du profil dans le bloc (command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 ftd:axefer "") ;; 2 ou AVEC section du profil dans le bloc -> ftd:profmet ;;; restauration section du profil pour pouvoir l'insérer dans le bloc ; (if (or (= 1 (getvar "delobj"))(= 2 (getvar "delobj")))(entdel ftd:profmet)) ;(command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 att4 ftd:axefer ftd:profmet "") ;;;;;;;;; fin des options du bloc (setq atdia (getvar "attdia")) (setvar "attdia" 1) (command "_-insert" nomb "_non" '(0. 0. 0.) "" "" "0" ) (setvar "attdia" atdia) (setvar "aflags" af) (setvar "textsize" tsize ) (setvar "textstyle" st) ; restoration scu (command "_ucs" "_r" "tempftd") (command "_undo" "_e") ) ) (princ) ) [Edité le 11/3/2010 par usegomme] [Edité le 13/3/2010 par usegomme]
  11. Salut , je ne sais pas pourquoi le lien ne fonctionne plus en voici un autre indirect Je ne voudrais pas dire de bétise mais j'ai bien l'impression que c'est pour une question d'affichage de publicité que ne permet pas le téléchargement direct. [Edité le 2/3/2010 par usegomme]
  12. Salut , Au moins ça marche comme tu veux ! Mais je précise tout de même que l' unité de mesure n'est demandée que la première fois et est stockée dans "USERS5" , c'est du code à Bonuscad , gage de qualité . J'espère au moins que cela satisfait Aldo127 , parce que personnellement, je dessine toujours en MM.
  13. Bonjour , le choix de l'unité de mesure fonctionne aussi pour la création de bloc ,mais il y a toujours l'incrémentation du nom si le bloc est déjà présent dans le dessin.
  14. Salut à tous , j'ai rajouté à profil.lsp le choix de l'unité d' insertion . à télécharger . [Edité le 2/3/2010 par usegomme]
  15. usegomme

    Insérer bloc en 3d

    Salut , je sais , ton INS3D c'est du super costaud , mais j'en suis venu à mon bricolage à cause de bibliothèques de blocs anarchiques dont j'avais besoin d'un aperçu pour savoir comment les orienter sans me tromper.
  16. Salut tout le monde . Il s'agit d'un bout de lisp "bidouille" , secondé par getblock de (gile) [Merci (gile)]. L' intêret c' est d'insérer un bloc au point voulu , de VOIR l' orientation du bloc en question, puis en redéfinissant les axes x et y du scu d' obtenir l' orientation souhaitée en 3d. 13.lsp , le i de insérer est devenu 1 et 3 pour 3d ;; insère bloc en 3 d ;; insère bloc puis demande redéfinition des axes x et y (scu) et reinsere le bloc en fonction du nouveau scu ;;usegomme le 18-01-2010 ;; fonctionne avec Getblock de (gile) (defun c:13 (/ nam) (setq nam (getBlock nil)) (command "_insert" nam "_s" 1 "_r" 0) (while (not (zerop (getvar "cmdactive")))(command pause)) (command "_ucs" "_non" (getvar "lastpoint")) (while (not (zerop (getvar "cmdactive")))(command pause)) (entdel (entlast)) ;; efface bloc (command "_insert" nam "_s" 1 "_r" 0 "_non" (getvar "lastpoint")) (while (not (zerop (getvar "cmdactive")))(command pause)) (command "_ucs" "_p") (princ) ) ;;; Getblock (gile) 03/11/07 ;;; Retourne le nom du bloc entré ou choisi par l'utilisateur ;;; dans une liste déroulante de la boite de dialogue ou depuis la boite ;;; de dialogue standard d'AutoCAD ;;; Argument : le titre (string) ou nil (défaut : "Choisir un bloc") (defun getblock (titre / bloc n lst tmp file what_next dcl_id nom) (while (setq bloc (tblnext "BLOCK" (not bloc))) (setq lst (cons (cdr (assoc 2 bloc)) lst) ) ) (setq lst (acad_strlsort (vl-remove-if (function (lambda (n) (= (substr n 1 1) "*"))) lst ) ) tmp (vl-filename-mktemp "Tmp.dcl") file (open tmp "w") ) (write-line (strcat "getblock:dialog{label=" (cond (titre (vl-prin1-to-string titre)) ("\"Choisir un bloc\"") ) ";initial_focus=\"bl\";:boxed_column{ :row{:text{label=\"Sélectionner\";alignment=left;} :button{label=\">>\";key=\"sel\";alignment=right;fixed_width=true;}} spacer; :column{:button{label=\"Parcourir...\";key=\"wbl\";alignment=right;fixed_width=true;}} :column{:text{label=\"Nom :\";alignment=left;}} :edit_box{key=\"tp\";edit_width=25;} :popup_list{key=\"bl\";edit_width=25;}spacer;} spacer; ok_cancel;}" ) file ) (close file) (setq dcl_id (load_dialog tmp)) (setq what_next 2) (while (>= what_next 2) (if (not (new_dialog "getblock" dcl_id)) (exit) ) (start_list "bl") (mapcar 'add_list lst) (end_list) (if (setq n (vl-position (strcase (getvar "INSNAME")) (mapcar 'strcase lst) ) ) (setq nom (nth n lst)) (setq nom (car lst) n 0 ) ) (set_tile "bl" (itoa n)) (action_tile "sel" "(done_dialog 5)") (action_tile "bl" "(setq nom (nth (atoi $value) lst))") (action_tile "wbl" "(done_dialog 3)") (action_tile "tp" "(setq nom $value) (done_dialog 4)") (action_tile "accept" "(setq nom (nth (atoi (get_tile \"bl\")) lst)) (done_dialog 1)" ) (setq what_next (start_dialog)) (cond ((= what_next 3) (if (setq nom (getfiled "Sélectionner un fichier" "" "dwg" 0)) (setq what_next 1) (setq what_next 2) ) ) ((= what_next 4) (cond ((not (read nom)) (setq what_next 2) ) ((tblsearch "BLOCK" nom) (setq what_next 1) ) ((findfile (setq nom (strcat nom ".dwg"))) (setq what_next 1) ) (T (alert (strcat "Le fichier \"" nom "\" est introuvable.")) (setq nom nil what_next 2 ) ) ) ) ((= what_next 5) (if (and (setq ent (car (entsel))) (= "INSERT" (cdr (assoc 0 (entget ent)))) ) (setq nom (cdr (assoc 2 (entget ent))) what_next 1 ) (setq what_next 2) ) ) ((= what_next 0) (setq nom nil) ) ) ) (unload_dialog dcl_id) (vl-file-delete tmp) nom ) (prompt "\n Commande 13 chargée") (princ)
  17. Bonsoir, Lilian, j'ai juste essayé de répondre à la demande de Fraxa , ci-dessous : Ce n'est pas de plus en plus fort , juste un peu coton pour moi qui ne suis pas très fort justement. En ce qui concerne profil.lsp , j'ai dû rajouter une variable intermédiaire pour récupérer la hauteur du fer pour FTDR.lsp , sinon il y a une correction concernant l'affichage des caractéristiques de la cornière inégale sélectionnée , qui est maintenant complet. Je sais que cela est embêtant pour les modifs que tu as fait de ton coté , mais ...! Pour FTD.lsp , tu peux utiliser la nouvelle version , j'ai simplement modifié le chargement de profil.lsp , le précédent était systématique et donc erroné (mea culpa) , maintenant le choix précédent reste en mémoire comme lorsqu'on utilise profil.lsp seul.
  18. Bonjour , j'ai rectifié le lien au-dessus et voici FTDR.lsp amélioré . ;; FTD R--> Fer 3 D Renseigné ;; version 4.1 de ftd 08-02-2010 usegomme sur Cadxp.com ;; tracer un profilé 3D en passant par des points et en selectionnant sa section ;; grace à l'interface écran de L.Bouquillon ;; et de PROFIL.LSP de L.Bouquillon ,adapté par Maxence Delannoy, ;; et modifié par moi-même , sans lequel cette petite routine ne peut pas fonctionner. (defun c:FTDR (/ pt_i_fer ftd:clore ftd:ps ftd:sommets ftd:profmet ftd:point ftd:fer ftd:pp ftd:axefer i pt_i_fer_SCG ftd:ps_SCG att1 att2 att3 pc_SCG) (if (null c:PROFIL)(load "PROFIL")) (setq pt_i_fer (getpoint "\n Point de départ du fer: ")) (if pt_i_fer (setq ftd:clore nil ftd:ps (getpoint pt_i_fer "\n point suivant : "))) (cond ((and pt_i_fer ftd:ps) (command "_undo" "_be") ; sauve scu courant (command "_ucs" "_s" "tempftd") (if (not (zerop (getvar "cmdactive")))(command "_y")) (command "_line" "_none" pt_i_fer "_none" ftd:ps "") (setq ftd:axefer (entlast)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_zaxis" "_none" pt_i_fer "_none" ftd:ps) (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) ; sauve scu zaxis (command "_ucs" "_s" "tempftdzaxis") (if (not (zerop (getvar "cmdactive")))(command "_y")) (c:profil) ;; choix profil (setq ftd:profmet (entlast)) (setq pc_SCG (trans pc 1 0)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_x" "-90") (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) (setq pt_i_fer_SCG (trans pt_i_fer 1 0)) (setq ftd:ps_SCG (trans ftd:ps 1 0)) (command "_ucs" "_Z" "-90") (setq pt_i_fer (trans pt_i_fer_SCG 0 1)) (setq ftd:ps (trans ftd:ps_SCG 0 1)) (setq ftd:sommets (list ftd:ps)) ;; extrusion suivant chemin (path) (command "_extrude" ftd:profmet "" "_p" ftd:axefer) (setq ftd:fer (entlast)) (while ftd:ps (setq ftd:pp ftd:ps) (if (< i 2) (setq ftd:ps (getpoint ftd:pp "\n point suivant :")) (progn (initget "Clore") (setq ftd:ps (getpoint ftd:pp "\n point suivant [Clore] :")) (if (= ftd:ps "Clore") (setq ftd:clore t) ) ) ) (if ftd:ps (progn (if ftd:clore (setq ftd:ps nil) (setq ftd:sommets (append ftd:sommets (list ftd:ps))) ) (entdel ftd:fer); efface fer 3d ;efface AXE précédent (if (or (= 0 (getvar "delobj"))(= 1 (getvar "delobj"))) (entdel ftd:axefer) ) (command "_3dpoly" "_none" pt_i_fer) (setq i 0) (repeat (length ftd:sommets) (setq ftd:point (nth i ftd:sommets)) (command "_none" ftd:point) (setq i (1+ i)) ) (if (not ftd:clore) (command "") (command "_c") ) (setq ftd:axefer (entlast)) (if (or (= 1 (getvar "delobj"))(= 2 (getvar "delobj"))) (entdel ftd:profmet) ; restaure profil 2d ) (command "_extrude" ftd:profmet "" "_p" ftd:axefer) (setq ftd:fer (entlast)) ) ) ) ;; AXE présent ou pas suivant variable delobj en désactivant les 2 options ci-dessous ;; ou bien ; AXE TOUJOURS EFFACé (oter les ;) ; (if (= 1 (getvar "delobj")) ; (entdel ftd:axefer) ;efface AXE ; ) ;; ou AXE TOUJOURS PRESENT (oter les ;) (if (= 2 (getvar "delobj")) (entdel ftd:axefer) ;restaure AXE ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Longueur totale du ou des segments (setq i 0 longF nil) (repeat (length ftd:sommets) (setq ftd:point (nth i ftd:sommets)) (if (= i 0) (setq p1 pt_i_fer)) (if longF (setq longF (+ longF (distance p1 ftd:point)) p1 ftd:point) (setq longF (distance p1 ftd:point) p1 ftd:point) ) (setq i (1+ i)) ) (if ftd:clore (setq longF (+ longF (distance ftd:point pt_i_fer))) ) (setq longF (rtos longF 2 1)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; création attributs (setq st (getvar "textstyle")) (setvar "textstyle" "standard") (setq tsize (getvar "textsize")) (setq af (getvar "aflags")) (setq modelfer (strcat fer type_fer)) (setq ht (* 0.08 h_fer)) ; hauteur texte (setq it (* 1.4 ht)) ; intervale ligne texte (if (or (= fer "IPE") (= fer "IPN") (= fer "HEA") (= fer "HEB") (= fer "COR") (= fer "CORL") (= fer "HEM") (= fer "IPEA")) (command "_ucs" "_x" "90") ) (setq pc (trans pc_SCG 0 1)) (setvar "aflags" 0) ; (setvar "aflags" 1) ;;; invisible (command "_-attdef" "" "NOM" "quel nom ?" "?" "_non" (polar pc (* 0.5 pi) (+ (* 2 it) (* 0.25 ht))) ht "0") (setq att1 (entlast)) (setvar "aflags" 8) ;;; prédéfini ; (setvar "aflags" 9) ;;; prédéfini et invisible (command "_-attdef" "" "PROFIL" "PROFIL" modelfer "_non" (polar pc (* 0.5 pi) (+ it (* 0.25 ht))) ht "0") (setq att2 (entlast)) (setvar "aflags" 8) ;;; prédéfini (command "_-attdef" "" "LONG" "Longueur" longF "_non" (polar pc (* 0.5 pi) (* 0.25 ht)) ht "0") (setq att3 (entlast)) ; alignement angulaires des attributs (command "_ucs" "_r" "tempftdzaxis") (command "_rotate" att1 att2 att3 "" "_non" '(0. 0. 0.) "") (command "_ucs" "_p") ; nom du nouveau bloc (setq nom (strcat modelfer "-" (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_")) (setq nomb (strcat nom "1")) (setq i 1 ) (while (tblsearch "block" nomb) (setq i (1+ i)) (setq nomb (strcat nom (itoa i))) ) ; créer et insérer bloc (command "_-block" nomb "_non" '(0. 0. 0.) att1 att2 att3 ftd:axefer "") (setq atdia (getvar "attdia")) (setvar "attdia" 1) (command "_-insert" nomb "_non" '(0. 0. 0.) "" "" "0" ) (setvar "attdia" atdia) (setvar "aflags" af) (setvar "textsize" tsize ) (setvar "textstyle" st) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (command "_ucs" "_r" "tempftd") (command "_undo" "_e") ) ) (princ) )
  19. J'ai fini par m' y coller voir le post en question
  20. Bonjour C'est noté , je verrai ce que je peux faire à l'occasion. Voilà un premier jus en attendant que je termine , je l' ai appellé FTDR pour fer 3d renseigné, Il faut aussi re-télécharger Profil.lsp et éventuellement FTD auquel j'ai apporté une correction . Ici le téléchargement Le style standard est utilisé pour les attributs ,et il doit être de hauteur zéro. Pour ce qui ne veulent pas de l'axe , il y a juste des ; à mettre ou à déplacer dans le lisp suivant commentaires.[Edité le 8/2/2010 par usegomme] [Edité le 2/3/2010 par usegomme]
  21. Salut Fraxa , je suis désolé de ne pouvoir répondre à ta demande . Je n'ai jamais traité ce genre de sujet , et comme je ne suis encore qu'un poireau en lisp je pense qu'il me faudrait pas mal de temps pour trouver comme faire , hors en ce moment du temps je n'en ai guère . Ceci dit , ce ne doit pas être bien difficile pour nos experts. Ton projet risque d'être piègeant car les solides représentant les fers resteront étirables. Stretchins de (gile) aurait été bien sauf qu'on ne peut pas gruger un profil qui est un bloc, dommage !
  22. usegomme

    besoin de modifier un lisp

    Voilà monsieur, ça devrait faire ton affaire. J'ai élagué le lisp car je ne pense pas qu'il soit utile qu'il puisse fonctionner avec les très anciennes versions d'autocad. ;============================================================================= ; P.CHIALE en 99 modifié le 08-01-2010 ; SP permet de tracer une gaine en souple à partir de la sélection ; de l'axe du trajet. ;;------------- change la couleur de la dernière entite créée------------- (defun chgcolastent () (command "_change" "_l" "" "_pr" "_co" "8" "") ) ;------------- Transformation d'un angle de radians en degres --------------- (defun DGR (a) (* 180 (/ a PI)) ) ; Fin de defun ;------------- Recouvrement des extrémités ----------------------------------- (defun EXT () (setq Ex1D1 (cdr (assoc 10 (entget D1)))) (setq Ex2D1 (cdr (assoc 11 (entget D1)))) (setq Ex1D2 (cdr (assoc 10 (entget D2)))) (setq Ex2D2 (cdr (assoc 11 (entget D2)))) ) ; Fin de defun ;------------- Constitution de la sélection pour le réseau ------------------- (defun AJED () (ssadd (entlast) rsel) ) ; Fin de defun ;============= Commande SCU ================================================== (defun SP:SCU (rep / PTP vers lang) (cond ((= rep "SG") (setq PTP (trans pt1 1 0)) (command "_ucs" "") (setq PT1 (trans ptp 0 1)) (setq TSCU T) ;SCU General ) ((= rep "S30") (setq PTP (trans pt1 1 0)) (command "_ucs" "_z" 30) (setq PT1 (trans ptp 0 1)) (setq TSCU T) ;SCU Z 30 ) ((= rep "S45") (setq PTP (trans pt1 1 0)) (command "_ucs" "_z" 45) (setq PT1 (trans ptp 0 1)) (setq TSCU T) ;SCU Z 45 ) ((= rep "S60") (setq PTP (trans pt1 1 0)) (command "_ucs" "_z" 60) (setq PT1 (trans ptp 0 1)) (setq TSCU T) ;SCU Z 60 ) ((= rep "SCu") (initget "Entite Z General") (setq repsc (getkword "\nSCU : [Entite/Z/] :")) (if (= nil repsc) (setq repsc "General") ) ;if (cond ((= repsc "Entite") (setvar "osmode" 512) (setq ptsc (getpoint "\nChoix d'objet correspondant au SCU :")) (setq Etsc (ssget ptsc)) (setq PTP (trans pt1 1 0)) (command "_ucs" "_e" Etsc) (setq PT1 (trans ptp 0 1)) (setq TSCU T) (setvar "osmode" osmd) ; (setvar "osmode" 0) ) ((= repsc "Z") (setq D1 (getreal "\n Angle de rotation autour de l'axe Z :")) (setq PTP (trans pt1 1 0)) (command "_ucs" "_z" D1) (setq PT1 (trans ptp 0 1)) (setq TSCU T) ) ((= repsc "General") (setq PTP (trans pt1 1 0)) (command "_ucs" "") (setq PT1 (trans ptp 0 1)) (setq TSCU T) ;SCU General ) ) ; Fin de cond ) ) ;Fin de cond ) ;Fin de defun ;============== Dessin d'une partie rectiligne ================================ (defun LG (D / vers lang a1 a2 a3 a4 b1 b2 b3 b4 Ex1D Ex2D lgD angD1 Nbr) (setq rsel nil) (setq rsel (ssadd)) ; Creation de la selection pour le reseau (command "_ucs" "") (setq Ex1D (cdr (assoc 10 (entget D)))) (setq Ex2D (cdr (assoc 11 (entget D)))) (setq lgD (distance Ex1D Ex2D)) (setq angD1 (angle Ex1D Ex2D)) (setq Nbr (atoi (rtos (/ LgD pasR) 2 0))) (if (<= Nbr 0) (setq Nbr 1) ) ;if (setq sp_p (/ lgD Nbr)) (setq A1 (polar Ex1D (+ angD1 (/ PI 2)) (/ diam 2))) (setq B1 (polar Ex1D (- angD1 (/ PI 2)) (/ diam 2))) (command "_line" "_non" A1 "_non" B1 "") (chgcolastent) (AJED) (setq IpD (polar Ex1D angD1 (/ sp_p 2))) (setq A2 (polar IpD (+ angD1 (/ PI 2)) (/ (+ diam ep) 2))) (setq B2 (polar IpD (- angD1 (/ PI 2)) (/ (+ diam ep) 2))) (command "_line" "_non" A1 "_non" A2 "") (AJED) (command "_line" "_non" B1 "_non" B2 "") (AJED) (command "_line" "_non" A2 "_non" B2 "") (chgcolastent) (AJED) (setq IpD (polar Ex1D angD1 sp_p)) (setq A3 (polar IpD (+ angD1 (/ PI 2)) (/ diam 2))) (setq B3 (polar IpD (- angD1 (/ PI 2)) (/ diam 2))) (command "_line" "_non" A2 "_non" A3 "") (AJED) (command "_line" "_non" B2 "_non" B3 "") (AJED) (command "_ucs" "_e" D) (command "_change" D "" "_pr" "_lt" "axes2" "") ;(command "_erase" D "") (if (/= Nbr 1) (command "_array" rsel "" "_r" 1 Nbr sp_p) ) (command "_ucs" "") (setq A4 (polar Ex2D (+ angD1 (/ PI 2)) (/ diam 2))) (setq B4 (polar Ex2D (- angD1 (/ PI 2)) (/ diam 2))) (command "_line" "_non" A4 "_non" B4 "") (chgcolastent) ) ; Fin de defun ;============== Dessin d'une partie arrondie ================================== (defun AR (C / vers lang a1 a2 a3 a4 b1 b2 b3 b4 Ag1C Ag2C rayC cenC AgC Ag2C Ag1C lgC Nbr sp_p agpas Ex1C AngC IpD) (setq rsel nil) (setq rsel (ssadd)) ; Creation de la selection pour le reseau (command "_ucs" "") (setq Ag1C (cdr (assoc 50 (entget C)))) (setq Ag2C (cdr (assoc 51 (entget C)))) (setq rayC (cdr (assoc 40 (entget C)))) (setq cenC (cdr (assoc 10 (entget C)))) (setq AgC (- Ag2C Ag1C)) (if (= T (< AgC 0)) (setq AgC (+ AgC (* 2 PI))) ) ;if (setq lgC (* rayc AgC)) (setq Nbr (atoi (rtos (/ lgC pasA) 2 0))) (if (<= Nbr 0) (setq Nbr 1) ) ;if (setq sp_p (/ lgC Nbr)) (setq agpas (/ AgC Nbr 2)) (setq Ex1C (polar cenc Ag1C rayc)) (setq AngC (angle CenC Ex1C)) (setq A1 (polar Ex1C AngC (/ diam 2))) (setq B1 (polar Ex1C (+ AngC PI) (/ diam 2))) (command "_line" "_non" A1 "_non" B1 "") (chgcolastent) (AJED) (setq IpD (polar cenC (+ Ag1C agpas) rayc)) (setq A2 (polar IpD (+ ag1C agpas) (/ (+ diam ep) 2))) (setq B2 (polar IpD (+ ag1C agpas) (- (/ (+ diam ep) 2)))) (command "_line" "_non" A1 "_non" A2 "") (AJED) (command "_line" "_non" B1 "_non" B2 "") (AJED) (command "_line" "_non" A2 "_non" B2 "") (chgcolastent) (AJED) (setq IpD (polar cenC (+ Ag1C (* agpas 2)) rayc)) (setq A3 (polar IpD (+ ag1C (* agpas 2)) (/ diam 2))) (setq B3 (polar IpD (+ ag1C (* agpas 2)) (- (/ diam 2)))) (command "_line" "_non" A2 "_non" A3 "") (AJED) (command "_line" "_non" B2 "_non" B3 "") (AJED) (command "_change" C "" "_pr" "_lt" "axes2" "") ;(command "_erase" C "") (if (/= Nbr 1) (command "_array" rsel "" "_p" "_non" cenC Nbr (DGR (- AgC (* agpas 2))) "_y" ) ) ;if (setq Ex2C (polar cenc Ag2C rayc)) (setq A4 (polar Ex2C Ag2C (/ diam 2))) (setq B4 (polar Ex2C (+ Ag2C PI) (/ diam 2))) (command "_line" "_non" A4 "_non" B4 "") (chgcolastent) ) ; Fin de defun ;============== Début du programme ========================================== (defun C:SP (/ ct r sel k nom typ sb D1 D2 testw vers lang) (setq cmde (getvar "cmdecho")) (setq blip (getvar "blipmode")) (setq pdmd (getvar "pdmode")) (setq pdsz (getvar "pdsize")) (setq osmd (getvar "osmode")) (setvar "cmdecho" 0) (setvar "blipmode" 0) ;(setvar "osmode" 0) (command "_ucs" "") ;-------------- Vérification de l'échelle de dessin du menu CLIM ------------ (if (= nil echt) (progn (princ "\n** ATTENTION : Echelle de dessin non definie **") (initget 1 "ME CM MM") (setq echt (getkword "\nVeuillez preciser l'echelle de travail [ME/CM/MM] : " ) ) (cond ((= echt "ME") (setq echt 0.001) ) ((= echt "CM") (setq echt 0.1) ) ((= echt "MM") (setq echt 1) ) ) ;cond ) ; Fin de progn ) ; Fin de if ;-------------- Test de l'existance d'une valeur pour le diamètre ----------- (if (= nil sp_d) (setq diam 125) (setq diam sp_d) ) ;-------------- Saisie de la valeur du diamètre de la gaine souple ---------- (setq tx (strcat "\nDiamètre de la gaine <" (rtos diam 2 0) ">:")) (setq rep (getreal tx)) (if (= nil rep) (setq diam (* echt diam)) (setq diam (* echt rep)) ) (setq sp_d (/ diam echt)) ;============== Initialisation des variables configurables ================= ; pasR : Pas d'une spire complète en mm en rectiligne ; pasA : Pas d'une spire complète en mm en arrondi ; ep : Epaisseur de débordement sur le diamètre en mm ; coef : Coefficient de tracé du coude (Coef x Diamètre) (setq pasR (* (+ (* 0.36 sp_d) 0.0011) echt)) (if (< (/ pasR echt) 45.0011) (setq pasR (* 45.0011 echt)) ) (setq pasA (- pasR echt)) (setq ep (- pasA echt)) (setq coef 1.5) (setq e1 (entlast)) ;------------- Dessin par trajet et sélection d'entités ---------------------- (setq sel nil selE nil ) (setq sel (ssadd) selE (ssadd) ) (initget "Entite") (setq pt1 (getpoint "\nPoint de départ ou [Entite] :")) (cond ((= "Entite" pt1) (setq selE (ssget)) (setq testW "Fin") ) ) ; Fin de cond (while (/= "Fin" testw) (initget 32 "SCu SG S30 S45 S60") (setq rep (getpoint pt1 "\nPoint suivant ou [sCu/SG/S30/S45/S60] :")) (SP:SCU rep) (cond ((/= T TSCU) (setq pt rep) (if (/= nil pt) (progn (command "_line" "_non" pt1 "_non" pt "") (ssadd (entlast) sel) (redraw (entlast) 3) (setq prov pt1 pt1 pt pt prov ) ) ; fin de progn (setq testw "Fin") ) ) ; fin de if et condition ) ; Fin de cond (setq TSCU nil) ) ; Fin de while (setq testw nil) (command "_ucs" "") ;------------- Tri de la sélection entre trajet et Entités ------------------- (if (/= 0 (sslength sel)) (progn ;------------- Création des coudes à partir des entités croisées ------------- (setq k 0) (setq lgsel (sslength sel)) (setvar "FILLETRAD" (* coef diam)) (while (< k (- lgsel 1)) (setq D1 (ssname sel k)) (setq D2 (ssname sel (+ k 1))) (EXT) ; recouvrement des extrémités (if (/= nil (inters Ex1D1 Ex2D1 Ex1D2 Ex2D2)) (progn (command "_fillet" D1 D2) (ssadd (entlast) sel) ) ; Fin de progn ) ; Fin de if (setq k (1+ k)) ) ;Fin de while ) ; Fin de progn (setq sel selE) ) ; Fin de if ;============= Vérification de la sélection ================================== (princ "\nTraitement en cours, patientez s.v.p...\n") (setq lst (list (list "LINE") (list "ARC"))) (setq selt (ssadd)) (setq k 0) (while (< k (sslength sel)) (setq nom (ssname sel k) typ (entget nom) ) (if (/= nil (assoc (cdr (assoc 0 typ)) lst)) (ssadd nom selt) ) ;Fin de if (setq k (1+ k)) ) ;Fin de while (setq pts (assoc 10 (entget (ssname selt 0)))) ;============= Traitement de la sélection ==================================== (setq k 0) (while (< k (sslength sel)) (setq nom (ssname sel k) typ (entget nom) ) (if (= "LINE" (cdr (assoc 0 typ))) (LG nom) ) (if (= "ARC" (cdr (assoc 0 typ))) (AR nom) ) (setq k (1+ k)) ) ;Fin de while (command "_ucs" "") ;============== Fin du Traitement ============================================ (princ) ) ;Fin de defun [Edité le 8/1/2010 par usegomme]
  23. Salut , Il n'y a pas de souci , je n'en ai pas pris "ombrage". A+ et meilleurs voeux pour 2010.
  24. Salut Autospeed, Depuis le début , je trouve ta théorie trés crédible et passionnante et j´espére qu´elle fait son chemin dans le milieu "autorisé". J´ai juste une remarque à propos de : Je ne vois pas trop l´intérêt d´une soupape , il me semble plutôt qu´une double étanchéité pour l´air sous pression n´est pas du luxe et que l´accés était pour jointer les poutres du 2eme niveau ou vérifier l´intégrité des joints avant la fermeture de la pyramide. A moins qu´on soit sûr que le conduit soit resté ouvert ?
  25. usegomme

    besoin de modifier un lisp

    Bonjour , pour cela tu as deux lignes à rajouter. Au dessus ou au dessous de : ;(command "_erase" D "") rajoute : (command "_change" D "" "_pr" "_lt" "axes2" "") et au dessus ou au dessous de : ;(command "_erase" C "") rajoute : (command "_change" C "" "_pr" "_lt" "axes2" "") "axes2" étant le type de ligne , tu peux en choisir un autre.
×
×
  • 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é