CAD CAD in OpenSource World

Norway

Assignment 3

This time I am going to deal with CAD which is a Computer aided design ..
So as a background I can with CAD as I was Working before with Solidworks and Autocad and Editing Applications like Gimp and Photoshop and Gaming Engine with Unity and You can check my quick trial before with unity here ....
But the idea of Learning something new and Supporting Open Source World in this assignment was Challenging for me so much .. so i decided to dig for more informations about CAD Softwares specially Weird ones like Freecad , OpenScad , SolveSpace ..

So before Going through the Adventure let's talk first about What is CAD and what are those 3 softwares ..

Computer aided design (CAD) is the use of computer systems to aid in the creation, modification, analysis, or optimization of a design. CAD software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing .

So this is in brief what is CAD .. As we are going through



Some Important Terms ..

This is my quick through about GIMP ..

and this is what i finaly did ..


After this quick brief let's go through CAD assignment I started to download Freecad

What I found about freecad in my first search about it .. It is a great tool for CAD which is free and open source .. also have a good techniques similar to solidworks and Autocad .



This is How to download it using Terminal on linux ..

sudo apt-add-repository ppa:freecad-maintainers/freecad-stable
sudo apt-get update
sudo apt-get freecad


Then I watched this tutorial on Youtube ..



Which is a great one Then I started working on making a project that i will try on all platforms .. So I decided to make a parametric Chair .. I start Working and Understanding the Enviroment And this is the process I go through ..











Then I start Drawing my Chair .. I think about making a design of normal Chair with a Circle with 4 cuts to pressfit with 4 Legs .. and I start Recording Video that was a 40 Mins while I am working on the chair .
That is what i made

I draw my circle with Dimension of 600 mm



Then I extrude or pad it with 12mm the thickness of the wood we are working on .



I start drawing the holes for the pressfit with a Dimensions of 300 mm long with 12mm Width and thickness of 12mm



I made it cut through the circle by using Pocket



Then I made it pattern bu using Polar Pattern



Then I start designing the leg of the chair with height of 800mmand width 300mm and thickness of 12mm



Then I tried to make a Beautiful cut with an arc



then I pot it and then i faced some problems with dimensions that I first used the wrong layer to draw on .. to make it fit with the circle then i selecteted the right layer and i fixed it ..



When I start to export the dxf files .. I select the obj that i want to export .. I faced a weird problem and I solve it but still need to search more why that happen that dxf just dealing with the X and Y layer and if you select an obj in X and z Layer will deal with it as how it looks like from the perspective of the X and Y Layer . So I rotate the Leg in X and Y Layer to can export it as DXF



Then you can Download files from here ..





Then I start designing a draft for the final project as a usb device with 3 LEDs that will enter inside the device to show type of connection with PC and an open for the analog joystic this is the series of pics to what I made

I make 2 boxes 1 inside the other and Cut the small from the big one to make it hollow ..




I start making holes for the LEDs




I start making just a beautiful cut :D :D around the LEDs




I start making an open for the joystic Update : I changed it is Dimensions to fit the real analog when i get one and i measured it is dimensions .




This I added a branding Engraved Holes as a branding for the Products :D :D WHich looks like this O.O


This is the FIle of the design ..




That is my Journey with freecad

Then Let's turn over to OpenScad

Informations about OpenScad :

What I found about OpenScad in my first search about it .. It is the weirdest and loved one for me because it is working with programming which makes me very happy ..

OpenScad Documentation

This is how to install it on Ubuntu ..

$ sudo add-apt-repository ppa:openscad/releases
$ sudo apt-get update
$ sudo apt-get install openscad


It is very Interesting Experience indeed the idea if using Programming and Boolean Operations to Start Design using Code .. what a Beautiful Idea

Before Going to the code .. To understand it even I think you can read it easily .. But Those 2 Links are a very great links for OpenScad This is the code I made :)
difference(){
difference(){
    color("Magenta",0.5)

linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       

translate([0,0, 0])
 square([10,10],true);

}
  color("DarkOrchid",0.5)
linear_extrude(height = 8, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       
    translate([0, 0 ,0])
   
 square([8,8],true);
}
 
}
translate([0, 3.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);


translate([0, 1, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);

translate([0, -1.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);


x=8.4;
y=5;
translate([-2.6,5,5])
rotate(a=[0,0,270]) 
linear_extrude(height = 1, center = true, convexity = 100, twist = 0,$fn = 100)
polygon(points=[[0,0],[x,0],[x,y],[0,y],[0,y-.5],[x-.5,y-.5],[x-.5,.5],[0,.5]], paths=[[0,1,2,3,4,5,6,7,8]],convexity=10);
}






Understanding the Concept of openScad .. Let's Show you the Output and Discuss what I made
This one is Without Render

This one is With Render


color("Magenta",0.5)

linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100)
{
translate([0,0, 0])
 square([10,10],true);
}


This is to make a big box 10 cm * 10 cm
and here we use 2D to 3D


 color("DarkOrchid",0.5)
linear_extrude(height = 8, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       
    translate([0, 0 ,0])
   
 square([8,8],true);
}


This is to make a Small box inside the big box 8 cm * 8 cm


 difference(){
    color("Magenta",0.5)

linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       

translate([0,0, 0])
 square([10,10],true);

}
  color("DarkOrchid",0.5)
linear_extrude(height = 8, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       
    translate([0, 0 ,0])
   
 square([8,8],true);
}
 
}


Here we cut the small box from the big box .. and this is called boolean Operations on 3D


 
translate([0, 3.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);


translate([0, 1, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);

translate([0, -1.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);




Those are the 3 Holes that will be cut from the box


 
x=8.4;
y=5;
translate([-2.6,5,5])
rotate(a=[0,0,270]) 
linear_extrude(height = 1, center = true, convexity = 100, twist = 0,$fn = 100)
polygon(points=[[0,0],[x,0],[x,y],[0,y],[0,y-.5],[x-.5,y-.5],[x-.5,.5],[0,.5]], paths=[[0,1,2,3,4,5,6,7,8]],convexity=10);



This is a polygon in 2 parameters that are depeing on x and y ..


 difference(){
difference(){
    color("Magenta",0.5)

linear_extrude(height = 10, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       

translate([0,0, 0])
 square([10,10],true);

}
  color("DarkOrchid",0.5)
linear_extrude(height = 8, center = true, convexity = 100, twist = 0,$fn = 100)
{
   
       
    translate([0, 0 ,0])
   
 square([8,8],true);
}
 
}
translate([0, 3.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);


translate([0, 1, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);

translate([0, -1.5, 4])

linear_extrude(height = 3, center = true, convexity = 100, twist = 0,$fn = 100)
circle(r = 1);


x=8.4;
y=5;
translate([-2.6,5,5])
rotate(a=[0,0,270]) 
linear_extrude(height = 1, center = true, convexity = 100, twist = 0,$fn = 100)
polygon(points=[[0,0],[x,0],[x,y],[0,y],[0,y-.5],[x-.5,y-.5],[x-.5,.5],[0,.5]], paths=[[0,1,2,3,4,5,6,7,8]],convexity=10);
}






This is The fully Design


This is the FIle of the design ..
The end of OpenScad :)



Then Let's Start with Solvespace

This is how to install it on Ubuntu ..
sudo add-apt-repository ppa:alex-p/solvespace
sudo apt-get update
$ sudo apt-get install Solvespace


Solvespace is a very simple fancy interface for CADing parametric Design which is a great tool for Designing ..

I start learning it from this tutorial



This is What I did with it ..


and this is video for what i was doing with it

Let's start whit what i have done ..

Draw a Circle


Draw a another Circle :)


Draw a 4 Circles :D


Set their diameter




Extrude them




Selecting XY Plane


Set it as a new workplane


Start drawing supports








Start drawing Gear heads












This is the FIle of the design ..

For te Final Project .. I Designed on Freecad a 3D printed part ..

and this is how it looks like ..
Here I started to sketch it

Those the Dimensions of my Objects



Here I tested the Dimensions







Then I succedded I designed the Full Design ..

That is it :)