Aller au contenu

Réduction Acier pour tuyauterie 3D


usegomme

Messages recommandés

Salut,

A partir de rediso.lsp j'ai fait une autre version pour les réductions acier pour tuyauterie 3D , il y a les principaux DN et pour l'instant la forme n'est pas réaliste puisque c'est juste un tronc de cône creux.

 

 ; Réduction ACIER en 3D version 1
; à partir d'autocad 2007
; usegomme  le 31/03/2009 
(defun c:RedAcier (/ pd pdir pf pfd r r2 r3 a h d1 d2 e)  
 (command "_undo" "_be")
 (setq  pd (getpoint "\nPoint de départ de la reduction  :"))
 (if pd (setq pdir (getpoint pd "\n direction de la réduction <>: ")))
 (cond
   ((and pd pdir)
     (command "_ucs" "_zaxis" "_none" pd "_none" pdir)
     (setq pd '(0. 0. 0.))
   )
 )
 (cond 
   (pd  
     (setq sv_mnu (getvar "SHORTCUTMENU"))
     (setvar "SHORTCUTMENU" 11)
     (setq  d1 nil d2 nil)  
     (while (not d1)
       (initget "20 25 32 40 50 65 80 100 125 150")
       (setq dn (getkword "\n DN [20/25/32/40/50/65/80/100/125/150]:"))
       (cond 
         ((= dn "20") (setq d1 26.9)) 
         ((= dn "25") (setq d1 33.7)) ((= dn "32") (setq d1 42.4)) ((= dn "40") (setq d1 48.3))
         ((= dn "50") (setq d1 60.3)) ((= dn "65") (setq d1 76.1)) ((= dn "80") (setq d1 88.9))
         ((= dn "100") (setq d1 114.3)) ((= dn "125") (setq d1 139.7)) ((= dn "150") (setq d1 168.3))
         ((= dn "200") (setq d1 219.1)) ((= dn "250") (setq d1 273)) ((= dn "300") (setq d1 323.9))                
         (t (princ))
       )
     )
     
     (while (not d2)
       (cond 
         ((= dn "20")
           (initget "25 32 40")
           (setq dn (getkword "\n DN [25/32/40]:"))
           (cond
             ((= dn "25")(setq d2 33.7 h 35 e 2.3))((= dn "32")(setq d2 42.4 h 51 e 2.3))((= dn "40")(setq d2 48.3 h 67 e 2.6))
           )
         )
         ((= dn "25")
           (initget "20 32 40 50")
           (setq dn (getkword "\n DN [20/32/40/50]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 35 e 2.6))((= dn "32")(setq d2 42.4 h 39 e 2.6))((= dn "40")(setq d2 48.3 h 55 e 2.6))
             ((= dn "50")(setq d2 60.3 h 77 e 2.9))
           )
         )
         ((= dn "32")
           (initget "20 25 40 50 65")
           (setq dn (getkword "\n DN [20/25/40/50/65]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 51 e 2.6))((= dn "25")(setq d2 33.7 h 39 e 2.6))((= dn "40")(setq d2 48.3 h 38 e 2.6))
             ((= dn "50")(setq d2 60.3 h 61 e 2.9))((= dn "65")(setq d2 76.1 h 95 e 2.9))
           )
         )
         ((= dn "40")
           (initget "20 25 32 50 65 80")
           (setq dn (getkword "\n DN [20/25/32/50/65/80]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 67 e 2.6))((= dn "25")(setq d2 33.7 h 55 e 2.6))((= dn "32")(setq d2 42.4 h 38 e 2.6))
             ((= dn "50")(setq d2 60.3 h 50 e 2.9))((= dn "65")(setq d2 76.1 h 84 e 2.9))((= dn "80")(setq d2 88.9 h 108 e 3.2))
           )
         )
         ((= dn "50")
           (initget "25 32 40 65 80 100")
           (setq dn (getkword "\n DN [25/32/40/65/80/100]:"))
           (cond
             ((= dn "25")(setq d2 33.7 h 77 e 2.9))((= dn "32")(setq d2 42.4 h 61 e 2.9))((= dn "40")(setq d2 48.3 h 50 e 2.9))
             ((= dn "65")(setq d2 76.1 h 63 e 2.9))((= dn "80")(setq d2 88.9 h 86 e 3.2))((= dn "100")(setq d2 114.3 h 143 e 3.6))
           )
         )
         ((= dn "65")
           (initget "32 40 50 80 100")
           (setq dn (getkword "\n DN [32/40/50/80/100]:"))
           (cond
             ((= dn "32")(setq d2 42.4 h 95 e 2.9))((= dn "40")(setq d2 48.3 h 84 e 2.9))((= dn "50")(setq d2 60.3 h 63 e 2.9))
             ((= dn "80")(setq d2 88.9 h 65 e 3.2))((= dn "100")(setq d2 114.3 h 114 e 3.6))
           )
         )
         ((= dn "80")
           (initget "40 50 65 100 125 150")
           (setq dn (getkword "\n DN [40/50/65/100/125/150]:"))
           (cond
             ((= dn "40")(setq d2 48.3 h 108 e 3.2))((= dn "50")(setq d2 60.3 h 86 e 3.2))((= dn "65")(setq d2 76.1 h 65 e 3.2))
             ((= dn "100")(setq d2 114.3 h 90 e 3.6))((= dn "125")(setq d2 139.7 h 135 e 4))((= dn "150")(setq d2 168.3 h 189 e 4.5))
           )
         )
         ((= dn "100")
           (initget "50 65 80 125 150")
           (setq dn (getkword "\n DN [50/65/80/125/150]:"))
           (cond
             ((= dn "50")(setq d2 60.3 h 143 e 3.6))((= dn "65")(setq d2 76.1 h 114 e 3.6))((= dn "80")(setq d2 88.9 h 90 e 3.6))
             ((= dn "125")(setq d2 139.7 h 88 e 4))((= dn "150")(setq d2 168.3 h 141 e 4.5))
           )
         )
         ((= dn "125")
           (initget "80 100 150")
           (setq dn (getkword "\n DN [80/100/150]:"))
           (cond
             ((= dn "80")(setq d2 88.9 h 135 e 4))((= dn "100")(setq d2 114.3 h 88 e 4))((= dn "150")(setq d2 168.3 h 94 e 4.5))
           )
         )
         ((= dn "150")
           (initget "80 100 125")
           (setq dn (getkword "\n DN [80/100/125]:"))
           (cond
             ((= dn "80")(setq d2 88.9 h 189 e 4.5))((= dn "100")(setq d2 114.3 h 141 e 4.5))((= dn "125")(setq d2 139.7 h 94 e 4.5))
           )
         )
       )
     )
     (setvar "SHORTCUTMENU" sv_mnu)
   )
 )
 (cond
   (d2     
     (setq pf (list (car pd)(cadr pd) h))
     (command "_circle" "_none" pd  (setq r (/ d1 2)))
     (setq b (entlast))
     (command "_circle" "_none" pf  (setq r2  (/ d2 2)))
     (setq b2 (entlast))
     (initget "Aucun")
     (setq a (getangle  pf "\nSi excentrique TANGENT de quel coté?[]:"))
     (if (= a "Aucun")(setq a nil))
     (if a (setq pfd (polar pf a (- r r2))))
     (if pfd (command "_move" b2 "" "_none" pf "_none" pfd))
     (command "_loft" b b2 "" "")
     (setq trc (entlast))
     (setq r (- r e))
     (command "_circle" "_none" pd r)
     (setq b (entlast))
     (setq r3 (- r2 e))
     (if pfd (setq pf pfd))
     (command "_circle" "_none" pf r3)
     (setq b2 (entlast))
     ;;; pour conserver par défaut le dernier rayon valable
     (command "_circle" "_none" pf r2)
     (entdel (entlast))
     ;;;
     (command "_loft" b b2 "" "")
     (command "_subtract" trc "" "_L" "")
   )
 )
 (if pdir  (command "_ucs" "_p"))
 (command "_undo" "_e")
 (princ "Longueur ")(princ h)
 (princ)
)

Lien vers le commentaire
Partager sur d’autres sites

J'ai amélioré la forme de la réduction qui est maintenant presque réelle.

 

; Réduction ACIER en 3D version 2.2
; usegomme  le 01/04/2009 - 22/04/09

(defun trcc3d (cb1 rb1 cb2 rb2 eptrc / b b2 trc rb1i rb2i)  
 (setq rb1i (- rb1 eptrc) rb2i (- rb2 eptrc))
 (command "_circle" "_none" cb1 rb1i)
 (setq b (entlast))
 (command "_circle" "_none" cb2 rb2i)
 (setq b2 (entlast))
 (command "_loft" b b2 "" "")
 (setq trc (entlast))
 (command "_circle" "_none" cb1  rb1)
 (setq b (entlast))
 (command "_circle" "_none" cb2  rb2)
 (setq b2 (entlast))
 (command "_loft" b b2 "" "")
 (command "_subtract" "_L" "" trc "" )
)
(defun c:RedAcier (/ pd pdir pf pfd r1 r2 r3 a  h d1 d2 e pm rm part1 sv_dm dm) 
 (command "_undo" "_be")
 (setq  pd (getpoint "\nPoint de départ de la reduction  :"))
 (if pd (setq pdir (getpoint pd "\n direction de la réduction <>: ")))
 (cond
   ((and pd pdir)
     (command "_ucs" "_zaxis" "_none" pd "_none" pdir)
     (setq pd '(0. 0. 0.))
   )
 )
 (cond 
   (pd  
    (setq sv_dm (getvar "DYNMODE"))
    (cond ((< sv_dm 0) (setq dm (* sv_dm -1)) (setvar "DYNMODE" dm))
           (t (setq sv_dm nil dm nil))
    )
    
     (setq  d1 nil d2 nil)  
     (while (not d1)
       (initget "20 25 32 40 50 65 80 100 125 150")
       (setq dn (getkword "\n DN [20/25/32/40/50/65/80/100/125/150]:"))
       (cond 
         ((= dn "20") (setq d1 26.9)) 
         ((= dn "25") (setq d1 33.7)) ((= dn "32") (setq d1 42.4)) ((= dn "40") (setq d1 48.3))
         ((= dn "50") (setq d1 60.3)) ((= dn "65") (setq d1 76.1)) ((= dn "80") (setq d1 88.9))
         ((= dn "100") (setq d1 114.3)) ((= dn "125") (setq d1 139.7)) ((= dn "150") (setq d1 168.3))
         ((= dn "200") (setq d1 219.1)) ((= dn "250") (setq d1 273)) ((= dn "300") (setq d1 323.9))                
         (t (princ))
       )
     )
     
     (while (not d2)
       (cond 
         ((= dn "20")
           (initget "25 32 40")
           (setq dn (getkword "\n DN [25/32/40]:"))
           (cond
             ((= dn "25")(setq d2 33.7 h 35 e 2.3))((= dn "32")(setq d2 42.4 h 51 e 2.3))((= dn "40")(setq d2 48.3 h 67 e 2.6))
           )
         )
         ((= dn "25")
           (initget "20 32 40 50")
           (setq dn (getkword "\n DN [20/32/40/50]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 35 e 2.6))((= dn "32")(setq d2 42.4 h 39 e 2.6))((= dn "40")(setq d2 48.3 h 55 e 2.6))
             ((= dn "50")(setq d2 60.3 h 77 e 2.9))
           )
         )
         ((= dn "32")
           (initget "20 25 40 50 65")
           (setq dn (getkword "\n DN [20/25/40/50/65]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 51 e 2.6))((= dn "25")(setq d2 33.7 h 39 e 2.6))((= dn "40")(setq d2 48.3 h 38 e 2.6))
             ((= dn "50")(setq d2 60.3 h 61 e 2.9))((= dn "65")(setq d2 76.1 h 95 e 2.9))
           )
         )
         ((= dn "40")
           (initget "20 25 32 50 65 80")
           (setq dn (getkword "\n DN [20/25/32/50/65/80]:"))
           (cond
             ((= dn "20")(setq d2 26.9 h 67 e 2.6))((= dn "25")(setq d2 33.7 h 55 e 2.6))((= dn "32")(setq d2 42.4 h 38 e 2.6))
             ((= dn "50")(setq d2 60.3 h 50 e 2.9))((= dn "65")(setq d2 76.1 h 84 e 2.9))((= dn "80")(setq d2 88.9 h 108 e 3.2))
           )
         )
         ((= dn "50")
           (initget "25 32 40 65 80 100")
           (setq dn (getkword "\n DN [25/32/40/65/80/100]:"))
           (cond
             ((= dn "25")(setq d2 33.7 h 77 e 2.9))((= dn "32")(setq d2 42.4 h 61 e 2.9))((= dn "40")(setq d2 48.3 h 50 e 2.9))
             ((= dn "65")(setq d2 76.1 h 63 e 2.9))((= dn "80")(setq d2 88.9 h 86 e 3.2))((= dn "100")(setq d2 114.3 h 143 e 3.6))
           )
         )
         ((= dn "65")
           (initget "32 40 50 80 100")
           (setq dn (getkword "\n DN [32/40/50/80/100]:"))
           (cond
             ((= dn "32")(setq d2 42.4 h 95 e 2.9))((= dn "40")(setq d2 48.3 h 84 e 2.9))((= dn "50")(setq d2 60.3 h 63 e 2.9))
             ((= dn "80")(setq d2 88.9 h 65 e 3.2))((= dn "100")(setq d2 114.3 h 114 e 3.6))
           )
         )
         ((= dn "80")
           (initget "40 50 65 100 125 150")
           (setq dn (getkword "\n DN [40/50/65/100/125/150]:"))
           (cond
             ((= dn "40")(setq d2 48.3 h 108 e 3.2))((= dn "50")(setq d2 60.3 h 86 e 3.2))((= dn "65")(setq d2 76.1 h 65 e 3.2))
             ((= dn "100")(setq d2 114.3 h 90 e 3.6))((= dn "125")(setq d2 139.7 h 135 e 4))((= dn "150")(setq d2 168.3 h 189 e 4.5))
           )
         )
         ((= dn "100")
           (initget "50 65 80 125 150")
           (setq dn (getkword "\n DN [50/65/80/125/150]:"))
           (cond
             ((= dn "50")(setq d2 60.3 h 143 e 3.6))((= dn "65")(setq d2 76.1 h 114 e 3.6))((= dn "80")(setq d2 88.9 h 90 e 3.6))
             ((= dn "125")(setq d2 139.7 h 88 e 4))((= dn "150")(setq d2 168.3 h 141 e 4.5))
           )
         )
         ((= dn "125")
           (initget "80 100 150")
           (setq dn (getkword "\n DN [80/100/150]:"))
           (cond
             ((= dn "80")(setq d2 88.9 h 135 e 4))((= dn "100")(setq d2 114.3 h 88 e 4))((= dn "150")(setq d2 168.3 h 94 e 4.5))
           )
         )
         ((= dn "150")
           (initget "80 100 125")
           (setq dn (getkword "\n DN [80/100/125]:"))
           (cond
             ((= dn "80")(setq d2 88.9 h 189 e 4.5))((= dn "100")(setq d2 114.3 h 141 e 4.5))((= dn "125")(setq d2 139.7 h 94 e 4.5))
           )
         )
       )
     )
      (if sv_dm (setvar "DYNMODE" sv_dm))
   )
 )
 (cond
   (d2 
     (setq hc (/ (* (sin (* pi (/ 75 180.0))) (abs (/ (- d1 d2)2))) (cos (* pi (/ 75 180.0)))))
     (setq hd (- h hc))   
     (setq pf (list (car pd)(cadr pd) h))
     (command "_circle" "_none" pd  (setq r1 (/ d1 2)))
     (setq b (entlast))
     (command "_circle" "_none" pf  (setq r2  (/ d2 2)))
     (setq b2 (entlast))
     (initget "Aucun")
     (setq a (getpoint  pf "\nSi excentrique TANGENT de quel coté?[]:"))
     (if (= a "Aucun")(setq a nil))
     (if a (if (and (= 0 (car a))(= 0 (cadr a)))(setq a nil)))
     (if a (setq a (angle pf a) pf (polar pf a (- r1 r2))))
     (entdel b)(entdel b2)
     (if (> r1 r2)
       (setq pm (list (car pd)(cadr pd) hd) rm r1)
       (setq pm (list (car pf)(cadr pf) hc) rm r2)
     )
     (trcc3d pd r1 pm rm e)
     (setq part1 (entlast))
     (trcc3d pm rm pf r2 e)
     
     (command "_.union" part1 (entlast) "")
   )
 ) (gc)
 (if pdir  (command "_ucs" "_p"))
 (command "_undo" "_e")
 (princ "Longueur ")(princ h)
 (princ)
)

[Edité le 3/4/2009 par usegomme]

 

[Edité le 7/5/2009 par usegomme]

Lien vers le commentaire
Partager sur d’autres sites

Bjr à tous,

 

Joli travail comme à l'accoutumée :)

 

Juste qu'à priori on ne peut pas s'affranchir du clavier dans le cas d'une réduction sans

excentricité, malgré que l'on "tire" tout droit avec la souris il se crée un "déport".

Enfin, c'est juste une remarque en passant ...

 

Sinon, c'est tout bon, merci !

 

Lien vers le commentaire
Partager sur d’autres sites

Salut Thry0 ,

J'avais remarqué , mais je n'ai pas creusé , qu'en tirant droit il se crée un déport, perso je répond simplement avec un clic droit , mais peut être que pour toi c'est un appel de menu contextuel et ça je n' y avais pas pensé. Est-ce le cas ?

Enfin, c'est juste une remarque en passant

Les façons de travailler de chacun peuvent être si différentes que les remarques sont toujours intéressantes.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 1 mois après...

bonjour Usegomme

 

Serait it possible de faire une version modifiée des lisps de creation de reductions Inox et Acier en 2D au lieu de 3D ???

 

 

Vu que Cadxp est une mine d'or d'informations et d'outils ... J'en profite pour apporter ma contribution en fournissant un lisp de creation de tuyauterie 2D qui fonctionne parfaitement.

Ci-joint, également, les bouts de code à ajouter au fichier MNU.

 

 

 

 

(defun ertuyau (ch)
        (setvar "snapang" res)
        (setq res nil pt nil pd nil pti nil ang nil sommets nil lang nil
         i1 nil i2 nil point1 nil rayo nil ddia nil ent1 nil angp90 nil
         angm90 nil pd1 nil pd2 nil dn nil pa nil pb nil pc nil paa nil
         pbb nil pcc nil ang2 nil ang1 nil
        )
        (setvar "cmdecho" 1)
 (setq *error* m:err m:err nil)
 (princ)
)

(defun soudure ()
       (setq i2 1)
       (repeat (- (length sommets) 2)
               (setq pt0 (nth i2 sommets))
               (setq ang1 (nth i2 lang))
               (setq ang1 (- ang1 pi))
               (setq ang2 (nth (1+ i2) lang))
               (if (> ang1 ang2) (progn (setq angt (- ang1 ang2)))
                                  (progn (setq angt (- ang2 ang1)))
               )
               (if (> angt pi) (progn (setq angt (- (* 2 pi) angt))))
               (if (= (abs angt) pi) (setq long rayo)
                   (progn
                    (setq dang (/ (abs angt) 2 ))
                    (setq long (* (cos dang) (/ rayo (sin dang))))
                   )
               )

                 (setq pa (polar pt0 ang1 long))
                 (setq pb (polar pa (+ ang1 (/ pi 2)) ddia))
                 (setq pc (polar pb (- ang1 (/ pi 2)) (* ddia 2)))

                 (setq paa (polar pt0 ang2 long))
                 (setq pbb (polar paa (+ ang2 (/ pi 2)) ddia))
                 (setq pcc (polar pbb (- ang2 (/ pi 2)) (* ddia 2)))

                 (command "ligne" pb pc "" )
                 (command "ligne" pbb pcc "")
               (setq i2 (1+ i2))
       )
)

(defun diametre ()
     (menucmd "p13=GEN_PIPING.p13Tuyau")
     (menucmd "P13=*")
     (prompt "\n ")
     (prompt "\n ")
     (setq dn (getint "\n                             CHOISISSEZ UN DIAMETRE A L'ECRAN :"))
     (prompt "\n ")
     (prompt "\n ")
    (cond
     ( (= dn 15) (progn (setq ddia 10.65 rayo 28)))
     ( (= dn 20) (progn (setq ddia 13.35 rayo 28)))
     ( (= dn 25) (progn (setq ddia 16.7 rayo 38)))
     ( (= dn 32) (progn (setq ddia 21.1 rayo 47)))
     ( (= dn 40) (progn (setq ddia 24.15 rayo 57)))
     ( (= dn 50) (progn (setq ddia 30.15 rayo 76)))
     ( (= dn 65) (progn (setq ddia 36.5 rayo 95)))
     ( (= dn 80) (progn (setq ddia 44.45 rayo 114)))
     ( (= dn 100) (progn (setq ddia 57.15 rayo 152)))
     ( (= dn 125) (progn (setq ddia 70.65 rayo 190)))
     ( (= dn 150) (progn (setq ddia 84.15 rayo 228)))
     ( (= dn 200) (progn (setq ddia 109.55 rayo 305)))
     ( (= dn 250) (progn (setq ddia 136.5 rayo 381)))
     ( (= dn 300) (progn (setq ddia 161.9 rayo 457)))
     ( (= dn 350) (progn (setq ddia 177.8 rayo 533)))
     ( (= dn 400) (progn (setq ddia 203.2 rayo 609)))
     ( (= dn 450) (progn (setq ddia 228.5 rayo 686)))
     ( (= dn 500) (progn (setq ddia 254 rayo 762)))
     ( (= dn 600) (progn (setq ddia 304.8 rayo 914)))
     (  T          (progn
                       (setq dn (getdist "\n                        Diametre Exterieur Tuyauterie ou 2 pts : "))
                       (setq dia dn)
                       (setq   ddia (/ dia 2))
                       (setq rayo (getdist "\n                      Rayon coude ou 2 pts : "))
                    )
     )
   )
)

(defun c:TUYAU ()
(setq m:err *error*)
(setq *error* ertuyau)
(setvar "cmdecho" 0)
(setq res (getvar "snapang"))
(diametre)

(while
      (setq
              pt (getpoint "\n                                      POINT DE DEPART DE LA TUYAUTERIE    : ")
              pd pt
              pti pt
              ang 0
              sommets (list pt)
              lang   (list ang)
      )


      (while (setq pt (getpoint pti "\n                                      POINT SUIVANT    : "))
      (grdraw pti pt 2)
         (setq ang (angle pti pt))
         (setq sommets (append sommets (list pt)))
         (setq lang (append lang (list ang)))
         (setq  pti pt )
       )
      (command "polylign" pd "LA" 0 0)
      (setq i1 1)
      (repeat (- (length sommets) 1)
              (setq point1 (nth i1 sommets))
              (command point1)
              (setq i1 (1+ i1))
      )
      (command )

      (setq ent1 (entlast))
      (command "raccord" "r" rayo)
      (command "raccord" "p" ent1)

      (setq angp90 (+ ang (/ pi 2)))
      (setq angm90 (- ang (/ pi 2)))
      (setq pd1 (polar pti angp90 ddia))
      (setq pd2 (polar pti angm90 ddia))

      (command "decaler" "p" pti pd1 "")
      (setq ent2 (entlast))
      (command "decaler" "p" pti pd2 "")
      (setq ent3 (entlast))
      (command "changer" ent1 "" "pr" "t" "axes" "")
      (command "changer" ent1 "" "pr" "t" "axes" "co" "7" "")
      (command "decompos"  ent1)
      (command "decompos"  ent2)
      (command "decompos"  ent3)

      (soudure)

      (command "REDESS")
)
      (ertuyau)
)


(prompt "\nLancement du programme, taper :    TUYAU   \n")

(prin1)

 

et voici les lignes à ajouter au fichier MNU

 

***MENUGROUP=PIPING

***pop13
**p13tuyau
[ =Tubes ACIER/INOX= ]
[~--]
[DN 15  - 1/2"  ]15
[DN 20  - 3/4"  ]20
[DN 25  - 1"    ]25
[DN 32  - 1"1/4 ]32
[DN 40  - 1"1/2 ]40
[DN 50  - 2"    ]50
[DN 65  - 2"1/2 ]65
[DN 80  - 3"  ]80
[DN 100 - 4"  ]100
[DN 125 - 5"  ]125
[DN 150 - 6"  ]150
[DN 200 - 8"  ]200
[DN 250 - 10" ]250
[DN 300 - 12" ]300
[DN 350 - 14" ]350
[DN 400 - 16" ]400
[DN 450 - 18" ]450
[DN 500 - 20" ]500
[DN 600 - 24" ]600
[--]

***TOOLBARS

**TUYAUTERIE
              [_Toolbar("Tuyauterie", _Right, _Show, 1, 1, 1)]
ID_         [_Button("LISP TUYAU", "tuyau.bmp", "ICON_32_BLANK")]^C^C(load "tuyau") Tuyau

 

Pour info, il vaut mieux désactiver l'accrochage aux objets avant d'utiliser le lisp.

 

Bonne continuation !

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Guigues

Serait it possible de faire une version modifiée des lisps de creation de reductions Inox et Acier en 2D au lieu de 3D ???

Oui , bien sûr , mais il faut les faire , t'aurais pas envie de te mettre au lisp par hasard ! :)

Et merci pour le lisp tuyau, ça fait plaisir de retrouver "ses petits" , et oui c'est moi qui les fait en 1994 (mon style était avantgardiste aie aie..), dans Cadxp il y a une version plus récente avec laquelle tu pourras concerver l'accrochage objet , il faut juste que tu remettes l'appel de menu comme dans ta version.

Lien vers le commentaire
Partager sur d’autres sites

UseGomme ..

tu bossais à Expansia du coté d'Aramon ?

 

t'aurais pas envie de te mettre au lisp par hasard !

 

Je commence et j apprend par tatonnement et en essayant de comprendre les codes existants.. quand j'ai un peu de temps libre entre deux dossiers :cool:

 

Je maitrise beaucoup mieux l'édition des *.mnu et souvent je compense le manque d'un lisp en forcant une liste de commandes à la chaine dans le fichier mnu :mad2:

 

Merci pour le lisp de tuyaux ... je vais le tester tout de suite !

Lien vers le commentaire
Partager sur d’autres sites

tu bossais à Expansia du coté d'Aramon ?

Oui et j' y bosse toujours ils m'ont gardé . Et toi , étais-tu passé chez nous ou chez BEF peut ëtre. Ce serait marrant qu'on se connaisse.

 

Merci pour les tuyaux de lisp

Et oui , Bonuscad dans le temps on aimait les tuyaux ou plus exactement faire des installations, maintenant on croule sous la paperasse et les réunions , finalement heureusement que je me suis remis au lisp ça me redonne de l'intérêt.

Et à propos de partage merci encore pour ton bride.lsp ,il m'épate toujours.

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é