// 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 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