| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Create german HT pipe mount
- // based on https://ostendorf-osma.de/uploads/page/translation/de/catalog_pdf/85/DE_HT_KATALOG_OSMA_7_2019.pdf
- // (c) Volker Philippent 2025
- include <BOSL2/std.scad>
- function WallThickness(DN) = lookup(DN, [ [32, 1.8], [40, 1.8], [50, 1.8], [75, 1.9], [90, 2.2], [110, 2.7], [125, 3.1], [160, 3.9] ]);
- function SealOuterDiameter(DN) = lookup(DN, [ [32, 44], [40, 53], [50, 63], [75, 88], [90, 105], [110, 125], [125, 143], [160, 181] ]);
- function SealInnerHeight(DN) = lookup(DN, [ [32, 6], [40, 6], [50, 6], [70, 6], [90, 6], [110, 7], [125, 8], [160, 9] ]);
- function SleeveLenth(DN) = lookup(DN, [ [32, 40], [40, 55], [50, 56], [75, 61], [90, 68], [110, 76], [125, 82], [160, 100] ]);
- //DN90 in docs 58, not 68
- module HT_Sleeve(DN) {
- Wall=WallThickness(DN);
- Hdelta=SleeveLenth(DN)-5*Wall-SealInnerHeight(DN)*3/2;
- tube(od=DN, wall=Wall, h=Wall, anchor=BOTTOM)
- position(TOP) tube(od1=DN, id2=DN, wall=Wall, h=2*Wall, anchor=BOTTOM)
- position(TOP) tube(id=DN, wall=Wall, h=Hdelta, anchor=BOTTOM)
- position(TOP) tube(id1=DN, od2=SealOuterDiameter(DN), wall=Wall, h=2*Wall, anchor=BOTTOM)
- position(TOP) tube(od=SealOuterDiameter(DN), h=SealInnerHeight(DN)+Wall, wall=Wall, anchor=BOTTOM)
- ;
- }
- // module HT_Sleeve_Outer(DN) {
- // cylinder(d1=DN, d2=DN+2*WallThickness(DN), h=2*WallThickness(DN));
- // translate([0,0,2*WallThickness(DN)]) cylinder(d=DN+2*WallThickness(DN), h=SleeveLenth(DN)-2*WallThickness(DN));
- // translate([0,0,SleeveLenth(DN)-4*WallThickness(DN)-SealInnerHeight(DN)*3/2])
- // cylinder(d=SealOuterDiameter(DN), h=SealInnerHeight(DN)+2+2*WallThickness(DN));
- // }
- // module HT_Sleeve_Inner(DN) {
- // cylinder(d1=DN-2*WallThickness(DN), d2=DN, h=2*WallThickness(DN));
- // translate([0,0,2*WallThickness(DN)]) cylinder(d=DN, h=SleeveLenth(DN)-2*WallThickness(DN));
- // translate([0,0,SleeveLenth(DN)-3*WallThickness(DN)-SealInnerHeight(DN)*3/2])
- // cylinder(d=SealOuterDiameter(DN)-2*WallThickness(DN), h=SealInnerHeight(DN)+2);
- // }
- // module HT_Sleeve(DN) {
- // difference() {
- // HT_Sleeve_Outer(DN);
- // HT_Sleeve_Inner(DN);
- // }
- // }
- // module HT_Pipe(length=0, DN) {
- // SL = SleeveLenth(DN);
- // echo (SL);
- // Lpipe = (length<SL) ? 20 : length-SL;
- // difference() {
- // cylinder(d=DN, h=Lpipe);
- // cylinder(d=DN-2*WallThickness(DN), h=Lpipe);
- // }
- // translate([0,0,Lpipe]) HT_Sleeve(DN);
- // }
- // intersection(){
- // HT_Pipe(DN=50, length=150);
- // cube(200);
- // }
- back_half() HT_Sleeve(DN=50);
|