From 335407804e6cc883a48927e928edbbfabf1f1f47 Mon Sep 17 00:00:00 2001 From: Joel Ebel Date: Wed, 30 May 2018 22:11:07 -0400 Subject: [PATCH] Rename main file to something reasonable. And remove the older version. --- files/U_Box_V103.scad | 363 ------------------ ...04_Test_Cleaned.scad => Ultimate_Box.scad} | 0 2 files changed, 363 deletions(-) delete mode 100644 files/U_Box_V103.scad rename files/{U_Box_V104_Test_Cleaned.scad => Ultimate_Box.scad} (100%) diff --git a/files/U_Box_V103.scad b/files/U_Box_V103.scad deleted file mode 100644 index 0543484..0000000 --- a/files/U_Box_V103.scad +++ /dev/null @@ -1,363 +0,0 @@ - -/*////////////////////////////////////////////////////////////////// - - FB Aka Heartman/Hearty 2016 - - - http://heartygfx.blogspot.com - - - OpenScad Parametric Box - - - CC BY-NC 3.0 License - -//////////////////////////////////////////////////////////////////// -12/02/2016 - Fixed minor bug -28/02/2016 - Added holes ventilation option -09/03/2016 - Added PCB feet support, fixed the shell artefact on export mode. - -*/////////////////////////// - Info - ////////////////////////////// - -// All coordinates are starting as integrated circuit pins. -// From the top view : - -// CoordD <--- CoordC -// ^ -// ^ -// ^ -// CoordA ---> CoordB - - -//////////////////////////////////////////////////////////////////// - - -////////// - Paramètres de la boite - Box parameters - ///////////// - -/* [Box dimensions] */ -// - Longueur - Length - Length = 110; -// - Largeur - Width - Width = 90; -// - Hauteur - Height - Height = 30; -// - Epaisseur - Wall thickness - Thick = 2;//[2:5] - -/* [Box options] */ -// Pieds PCB - PCB feet (x4) - PCBFeet = 0;// [0:No, 1:Yes] -// - Decorations to ventilation holes - Vent = 0;// [0:No, 1:Yes] -// - Decoration-Holes width (in mm) - Vent_width = 1.5; -// - Text you want - txt = "HeartyGFX"; -// - Font size - TxtSize = 3; -// - Font - Police ="Arial Black"; -// - Diamètre Coin arrondi - Filet diameter - Filet = 2;//[0.1:12] -// - lissage de l'arrondi - Filet smoothness - Resolution = 50;//[1:100] -// - Tolérance - Tolerance (Panel/rails gap) - m = 0.9; - -/* [PCB_Feet--the_board_will_not_be_exported) ] */ -//All dimensions are from the center foot axis -// - Coin bas gauche - Low left corner X position -PCBPosX = 7; -// - Coin bas gauche - Low left corner Y position -PCBPosY = 6; -// - Longueur PCB - PCB Length -PCBLength = 70; -// - Largeur PCB - PCB Width -PCBWidth = 50; -// - Heuteur pied - Feet height -FootHeight = 10; -// - Diamètre pied - Foot diameter -FootDia = 8; -// - Diamètre trou - Hole diameter -FootHole = 3; - - -/* [STL element to export] */ -//Coque haut - Top shell - TShell = 1;// [0:No, 1:Yes] -//Coque bas- Bottom shell - BShell = 1;// [0:No, 1:Yes] -//Panneau arrière - Back panel - BPanel = 1;// [0:No, 1:Yes] -//Panneau avant - Front panel - FPanel = 1;// [0:No, 1:Yes] -//Texte façade - Front text - Text = 1;// [0:No, 1:Yes] - - - -/* [Hidden] */ -// - Couleur coque - Shell color -Couleur1 = "Orange"; -// - Couleur panneaux - Panels color -Couleur2 = "OrangeRed"; -// Thick X 2 - making decorations thicker if it is a vent to make sure they go through shell -Dec_Thick = Vent ? Thick*2 : Thick; -// - Depth decoration -Dec_size = Vent ? Thick*2 : 0.8; - -//////////////////// Oversize PCB limitation -Actually disabled - //////////////////// -//PCBL= PCBLength+PCBPosX>Length-(Thick*2+7) ? Length-(Thick*3+20+PCBPosX) : PCBLength; -//PCBW= PCBWidth+PCBPosY>Width-(Thick*2+10) ? Width-(Thick*2+12+PCBPosY) : PCBWidth; -PCBL=PCBLength; -PCBW=PCBWidth; -//echo (" PCBWidth = ",PCBW); - - - -/////////// - Boitier générique bord arrondis - Generic Fileted box - ////////// - -module RoundBox($a=Length, $b=Width, $c=Height){// Cube bords arrondis - $fn=Resolution; - translate([0,Filet,Filet]){ - minkowski (){ - cube ([$a-(Length/2),$b-(2*Filet),$c-(2*Filet)], center = false); - rotate([0,90,0]){ - cylinder(r=Filet,h=Length/2, center = false); - } - } - } - }// End of RoundBox Module - - -////////////////////////////////// - Module Coque/Shell - ////////////////////////////////// - -module Coque(){//Coque - Shell - Thick = Thick*2; - difference(){ - difference(){//sides decoration - union(){ - difference() {//soustraction de la forme centrale - Substraction Fileted box - - difference(){//soustraction cube median - Median cube slicer - union() {//union - difference(){//Coque - RoundBox(); - translate([Thick/2,Thick/2,Thick/2]){ - RoundBox($a=Length-Thick, $b=Width-Thick, $c=Height-Thick); - } - }//Fin diff Coque - difference(){//largeur Rails - translate([Thick+m,Thick/2,Thick/2]){// Rails - RoundBox($a=Length-((2*Thick)+(2*m)), $b=Width-Thick, $c=Height-(Thick*2)); - }//fin Rails - translate([((Thick+m/2)*1.55),Thick/2,Thick/2+0.1]){ // +0.1 added to avoid the artefact - RoundBox($a=Length-((Thick*3)+2*m), $b=Width-Thick, $c=Height-Thick); - } - }//Fin largeur Rails - }//Fin union - translate([-Thick,-Thick,Height/2]){// Cube à soustraire - cube ([Length+100, Width+100, Height], center=false); - } - }//fin soustraction cube median - End Median cube slicer - translate([-Thick/2,Thick,Thick]){// Forme de soustraction centrale - RoundBox($a=Length+Thick, $b=Width-Thick*2, $c=Height-Thick); - } - } - - - difference(){// Fixation box legs - union(){ - translate([3*Thick +5,Thick,Height/2]){ - rotate([90,0,0]){ - $fn=6; - cylinder(d=16,Thick/2); - } - } - - translate([Length-((3*Thick)+5),Thick,Height/2]){ - rotate([90,0,0]){ - $fn=6; - cylinder(d=16,Thick/2); - } - } - - } - translate([4,Thick+Filet,Height/2-57]){ - rotate([45,0,0]){ - cube([Length,40,40]); - } - } - translate([0,-(Thick*1.46),Height/2]){ - cube([Length,Thick*2,10]); - } - } //Fin fixation box legs - } - - union(){// outbox sides decorations - //if(Thick==1){Thick=2; - for(i=[0:Thick:Length/4]){ - - // Ventilation holes part code submitted by Ettie - Thanks ;) - translate([10+i,-Dec_Thick+Dec_size,1]){ - cube([Vent_width,Dec_Thick,Height/4]); - } - translate([(Length-10) - i,-Dec_Thick+Dec_size,1]){ - cube([Vent_width,Dec_Thick,Height/4]); - } - translate([(Length-10) - i,Width-Dec_size,1]){ - cube([Vent_width,Dec_Thick,Height/4]); - } - translate([10+i,Width-Dec_size,1]){ - cube([Vent_width,Dec_Thick,Height/4]); - } - - - }// fin de for - // } - }//fin union decoration - }//fin difference decoration - - - union(){ //sides holes - $fn=50; - translate([3*Thick+5,20,Height/2+4]){ - rotate([90,0,0]){ - cylinder(d=2,20); - } - } - translate([Length-((3*Thick)+5),20,Height/2+4]){ - rotate([90,0,0]){ - cylinder(d=2,20); - } - } - translate([3*Thick+5,Width+5,Height/2-4]){ - rotate([90,0,0]){ - cylinder(d=2,20); - } - } - translate([Length-((3*Thick)+5),Width+5,Height/2-4]){ - rotate([90,0,0]){ - cylinder(d=2,20); - } - } - }//fin de sides holes - - }//fin de difference holes -}// fin coque - -////////////////////////////// - Experiment - /////////////////////////////////////////// - - -///////////////////////////////// - Module Front/Back Panels - ////////////////////////// - -module Panels(){//Panels - color(Couleur2){ - translate([Thick+m,m/2,m/2]){ - difference(){ - translate([0,Thick,Thick]){ - RoundBox(Length,Width-((Thick*2)+m),Height-((Thick*2)+m));} - translate([Thick,-5,0]){ - cube([Length,Width+10,Height]);} - } - } - } -} - - -/////////////////////// - Foot with base filet - ///////////////////////////// -module foot(FootDia,FootHole,FootHeight){ - Filet=2; - color("Orange") - translate([0,0,Filet-1.5]) - difference(){ - - difference(){ - //translate ([0,0,-Thick]){ - cylinder(d=FootDia+Filet,FootHeight-Thick, $fn=100); - //} - rotate_extrude($fn=100){ - translate([(FootDia+Filet*2)/2,Filet,0]){ - minkowski(){ - square(10); - circle(Filet, $fn=100); - } - } - } - } - cylinder(d=FootHole,FootHeight+1, $fn=100); - } -}// Fin module foot - -module Feet(){ -//////////////////// - PCB only visible in the preview mode - ///////////////////// - translate([3*Thick+2,Thick+5,FootHeight+(Thick/2)-0.5]){ - - %square ([PCBL+10,PCBW+10]); - translate([PCBL/2,PCBW/2,0.5]){ - color("Olive") - %text("PCB", halign="center", valign="center", font="Arial black"); - } - } // Fin PCB - - -////////////////////////////// - 4 Feet - ////////////////////////////////////////// - translate([3*Thick+7,Thick+10,Thick/2]){ - foot(FootDia,FootHole,FootHeight); - } - translate([(3*Thick)+PCBL+7,Thick+10,Thick/2]){ - foot(FootDia,FootHole,FootHeight); - } - translate([(3*Thick)+PCBL+7,(Thick)+PCBW+10,Thick/2]){ - foot(FootDia,FootHole,FootHeight); - } - translate([3*Thick+7,(Thick)+PCBW+10,Thick/2]){ - foot(FootDia,FootHole,FootHeight); - } - -} // Fin du module Feet - - -///////////////////////////////////// - Main - /////////////////////////////////////// - -if(BPanel==1) -//Back Panel -translate ([-m/2,0,0]){ -Panels(); -} - -if(FPanel==1) -//Front Panel -rotate([0,0,180]){ - translate([-Length-m/2,-Width,0]){ - Panels(); - } - } - -if(Text==1) -// Front text -color(Couleur1){ - translate([Length-(Thick),Thick*4,(Height-(Thick*4+(TxtSize/2)))]){// x,y,z - rotate([90,0,90]){ - linear_extrude(height = 0.25){ - text(txt, font = Police, size = TxtSize, valign ="center", halign ="left"); - } - } - } -} - - -if(BShell==1) -// Coque bas - Bottom shell -color(Couleur1){ -Coque(); -} - - -if(TShell==1) -// Coque haut - Top Shell -color( Couleur1,1){ - translate([0,Width,Height+0.2]){ - rotate([0,180,180]){ - Coque(); - } - } -} - -if (PCBFeet==1) -// Feet -translate([PCBPosX,PCBPosY,0]){ -Feet(); - } \ No newline at end of file diff --git a/files/U_Box_V104_Test_Cleaned.scad b/files/Ultimate_Box.scad similarity index 100% rename from files/U_Box_V104_Test_Cleaned.scad rename to files/Ultimate_Box.scad