The NEW Build Your Own Arcade Controls

Main => Project Announcements => Topic started by: juan9999 on April 22, 2018, 06:16:44 am

Title: Want to build a one player bartop - 3D Printed!
Post by: juan9999 on April 22, 2018, 06:16:44 am
I've recently purchased a creality 3d printer (CR-10s) with a print surface of 300x300x400h (cm).

I'd like to print a one player bartop and was wondering if anyone here has done that?

The ones I've found on thingiverse have a lot of parts (for smaller printers) and use super small screens. 

I'd like to build a raspberry pi based one using an iPad LCD and would like it to print "at once"

If you've done that, or know of any good 3D plans to use as a starting point that would be awesome.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Titchgamer on April 22, 2018, 07:08:50 am
I think it would be a PITA to print one all at once to be honest.

Better off printing it a panel at a time.

Welcome to the CR10 club.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: juan9999 on April 22, 2018, 07:54:46 am
Actually there is a guy who pretty much does it the main cabinet in one print...  (control panel/bezel etc appart)...  (see images).

I feel it would make the structure a bit stronger, and easier to put together...

I've just never designed anything from scratch, so hoping to find someone here who has :)
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: PL1 on April 22, 2018, 03:17:30 pm
I've just never designed anything from scratch, so hoping to find someone here who has :)
That bartop shell design is not that hard once you find examples/code samples to adapt.

Some people like Tinkercad and there are lots of good YouTube tutorials that can help you get started if you choose to go that route.

I like OpenSCAD (http://www.openscad.org/).

Check out this (https://cubehero.com/2013/11/19/know-only-10-things-to-be-dangerous-in-openscad/) blog post for a quick overview and example of how OpenSCAD works.

The Instructable here (http://www.instructables.com/id/OpenSCAD-The-Instructable/) is a must-read IMHO with info on Constructive Solid Geometry (CSG) -- making parts by adding/subtracting geometric shapes -- and OpenSCAD syntax that makes it easier to understand and apply the user manual.

(https://cdn.instructables.com/FS9/FN8L/IBL0TWLM/FS9FN8LIBL0TWLM.LARGE.jpg)

There's a very useful cheat sheet here (http://www.openscad.org/cheatsheet/index.html?version=2015.03) with links to the user manual.

Here's an example with the basic code elements (cube, cylinder, difference, hull, etc.) that you can use to make your bartop shell.

"//" indicates a comment.

Code: [Select]
// Williams Drop Target Guide P/N 03-7479 or 3B-7479
// v 0.03 - Narrowed columns, adjusted ramp, adjusted position of wall near ramp, enlarged bottom screw hole 10 Apr 18
// v 0.02 - Changed default screw hole sizes 27 Mar 2018
// v 0.01 - First draft 27 Mar 2018

// This SCAD file recreates and remixes [url]https://www.thingiverse.com/thing:2792174[/url]
// - Corrections to that part are based on measurements of original parts
// - PCB columns changed to ovals for greater strength
// - Inspected by PBJ for accuracy and suitability

// This part is used in Williams System 3-6 tables.

// Planetary Pinball has online copies of Bally and Williams parts catalogs: http://www.planetarypinball.com/mm5/merchant.mvc?Screen=BOOK

// The Williams 1980 catalog contains related parts diagrams: http://www.planetarypinball.com/reference/partsmanuals/WMS_Parts_1980/index.html

// Drop target assemblies are on pages 113-118 -- they all use the 03-7479 guide.

// The D-8362 assembly diagram on page 116 shows PCB screws that are the same P/N as the horseshoe screws. (4104-1001-06)

// Drop target assemblies that use the 03-7479 guide:
//     D-7931-#s  -  # = number of targets (between 1 and 5)
//     D-8362     -  5 targets
//     D-8442     -  3 targets
//     D-9355     -  3 targets

/////////////////////////////
// Screw sizes:
// - #6-32 x 3/4" machine screw
// - #4 sheet metal screw
/////////////////////////////

/////////////////////////////
//      Define variables
/////////////////////////////

MachineScrewHoleDiameter = 3.9; // Default = 3.9 for 3.45
PCBScrewHoleDiameter = 3.14;    // Default = 3.14 for 2.77
PCBBottomScrewHoleDiameter = 3.4; // Default = 3.4
// The diameter values may need to be *very slightly* larger to account for the 180-sided polygon used to render circles -- see "undersized holes" at [url]https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder[/url]
$fn=180; // Number of fragments (polygon sides) used to render a circle

/////////////////////////////
//      Make the part
/////////////////////////////

// Make the Machine Screw Column near the ramp
difference() {
    // Column hull
    hull() {
        // Hull cylinder 1
        translate ([2.7, 0, 0])
        cylinder (14.1, d = 5.4, center=false);
        // Hull cylinder 2
        translate ([6.3, 0, 0])
        cylinder (14.1, d = 5.4, center=false);
    }
    // Remove screw hole
    translate ([4.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
difference() {
    // Crosspiece
    translate ([3.43, -10.2, 0])
    cube ([2.14, 20.4, 4], center=false);
    // Remove screw hole
    translate ([4.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
//

//////////

// Make the PCB Screw Column near the ramp
difference() {  // Column
    hull() {    // Oval hull
    // Cylinder
    translate ([25.05, 0, 3])
    cylinder (15.3, d = 5.1, center=false);
    // Cylinder
    translate ([28.05, 0, 3])
    cylinder (15.3, d = 5.1, center=false);
    }
    // Remove screw hole
    translate ([26.55, 0, -1])
    cylinder (20.3, d = PCBScrewHoleDiameter, center=false);
    // Enlarge bottom screw hole
    translate ([26.55, 0, -1])
    cylinder (8, d = PCBBottomScrewHoleDiameter, center=false);
    }
difference() {  // Circle base
    // Circle body
    translate ([26.55, 0, 0])
    cylinder (2, d = 8.2, center=false);
    // Remove screw hole
    translate ([26.55, 0, -1])
    cylinder (20.3, d = PCBBottomScrewHoleDiameter, center=false);
    }
difference() {  // Crosspiece
    // Crosspiece body
    translate ([25.4, -10.2, 0])
    cube ([2.3, 20.4, 2], center=false);
    // Remove screw hole
    translate ([26.55, 0, -1])
    cylinder (20.3, d = PCBBottomScrewHoleDiameter, center=false);
    }
//

//////////

// Make the PCB Screw Column away from the ramp
difference() {  // Column
    hull() {    // Oval hull
    // Cylinder
    translate ([51.65, 0, 3])
    cylinder (14.3, d = 5.1, center=false);
    // Cylinder
    translate ([54.65, 0, 3])
    cylinder (14.3, d = 5.1, center=false);
    }
    // Remove screw hole
    translate ([53.15, 0, -1])
    cylinder (20.3, d = PCBScrewHoleDiameter, center=false);
    }
//

//////////

// Make the Machine Screw Column away from the ramp
difference() {
    // Column hull
    hull() {
        // Hull cylinder 1
        translate ([65.7, 0, 0])
        cylinder (10.9, d = 5.4, center=false);
        // Hull cylinder 2
        translate ([69.3, 0, 0])
        cylinder (10.9, d = 5.4, center=false);
    }
    // Remove screw hole
    translate ([67.5, 0, -1])
    cylinder (12.9, d = MachineScrewHoleDiameter, center=false);
    }
difference() {  // Crosspiece
    // Crosspiece hull
    hull() {
        // Hull cylinder
        translate ([67.5, 10.2, 4.5])
        rotate ([90, 0, 0]) translate ([0, 0, 0]) cylinder (20.4, d = 2.9, center=false);
        // Hull cube
        translate ([66.05, -10.2, 0])
        cube ([2.9, 20.4, 2], center=false);
    }
    // Remove screw hole
    translate ([67.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
//

//////////

// Make walls
    // Near the ramp
translate ([6.7, -1.06, 0])
cube ([18, 2.12, 12.26], center=false);
    // Middle
translate ([29, -1.06, 0])
cube ([22, 2.12, 12.4], center=false);
    // Away from the ramp
translate ([50.5, -1.06, 0])
cube ([14, 2.12, 9.3], center=false);
//

//////////

// Make ramp flat top
difference() {
    // Flat top
    translate ([0, -10.2, 3])
    cube ([6, 20.4, 3], center=false);
    // Remove screw hole
    translate ([4.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
// Make ramp slope
difference() {
    // Slope hull
    hull() {
        // Hull cube 1
        translate ([3, -10.2, 3])
        cube ([3, 20.4, 3], center=false);
        // Hull cube 2
        translate ([14.32, -10.2, 1.4])
        cube ([3, 20.4, 3], center=false);
    }
    // Remove screw hole 1
    translate ([4.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
// Make ramp flat bottom
difference() {
    // Flat bottom
    translate ([14.32, -10.2, 1.4])
    cube ([57.7, 20.4, 3], center=false);
    // Remove screw hole 1
    translate ([26.55, 0, -1])
    cylinder (20.3, d = PCBBottomScrewHoleDiameter, center=false);
    // Remove screw hole 2
    translate ([67.5, 0, -1])
    cylinder (16.1, d = MachineScrewHoleDiameter, center=false);
    }
//

Resulting part:
(http://forum.arcadecontrols.com/index.php?action=dlattach;topic=152421.0;attach=366967;image)

For your bartop design, I would recommend starting with the left panel -- positioned 20mm left of center in this simplified example. (translate = move).

Code: [Select]
//left side panel
translate([-20,0,4]) cube([5,15,8], center=true);

Once you get the left side panel looking the way you want it to look, copy the code and change the position -- 20mm right of center  here -- to perfectly mirror the other panel.

Code: [Select]
//left side panel
translate([-20,0,4]) cube([5,15,8], center=true);
//right side panel
translate([20,0,4]) cube([5,15,8], center=true);

LMK if you have any questions.   :cheers:


Scott
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: juan9999 on April 22, 2018, 07:57:35 pm
Wow thanks so much for taking the time to document and share all this!  I've read all the links and this is an awesome kickstarter!

OpenSCAD is very interesting as it's code based, and makes it very tempting to dive right in.

Have you considered Fusion 360?

I'd love your perspective on the two.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: PL1 on April 22, 2018, 10:42:40 pm
OpenSCAD is very interesting as it's code based, and makes it very tempting to dive right in.

Have you considered Fusion 360?

I'd love your perspective on the two.
Considered Fusion 360, but I'm cheap so "Free trial with lots of bells and whistles" lost to "Open Source with no frills that can do everything I need and then some."  YMMV.   :lol

Once you learn some of the tricky syntax like doing a "translate, rotate, translate, object" combination, you can build just about anything. (first translate moves to absolute coordinates, rotate tilts the axes to create a relative grid, the second translate moves along the relative grid, and object creates the object on the relative grid)


Scott
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: juan9999 on April 24, 2018, 08:16:58 am
So I've DL'd fusion 360 to test it out since I found a dxf of a ms paceman arcade that I could import in.

I've watched a few tutorial videos on youtube, so I know enough to be dangerous...

I've extracted one side from the dxf that I can use as a basis to extrude and build a shell from it.

Unfortunately, the import isn't very clean, and when I extrude, all the imperfections come out.  What's the best way to clean up the lines/curves

[side view](https://i.imgur.com/EFwTepJ.png)

[extruded](https://i.imgur.com/kya3hnw.png)

Is there an easier way to do it with the open source software?
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: PL1 on April 24, 2018, 01:21:21 pm
I've extracted one side from the dxf that I can use as a basis to extrude and build a shell from it.

Unfortunately, the import isn't very clean, and when I extrude, all the imperfections come out.  What's the best way to clean up the lines/curves
I have no experience with Fusion360 so no specific advice on how to clean up your model.

You may want to look into smoothing filter(s), increasing the poly count, and/or vectorizing/smoothing/resizing the side outline before importing it.

This blog post (https://www.autodesk.com/products/fusion-360/blog/getting-started-with-fusion-360-start-with-imported-data/) might be useful.   :dunno


Scott
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Buick455 on April 24, 2018, 01:28:34 pm
I haven't used fusion too much and its been a while since I used it last so take the following with some salt. I also use it for CNC not 3D printing.

I think you will be better off importing a sideview/blueprint of the cab you are looking to make and re-sketch the profile in fusion. You can even import the blueprint image and then scale it however you want (there is a feature in fusion for this, I just dont remember where) and trace your sketch right over it.

I will look and see if I can find a tut for the scale image feature.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Buick455 on April 24, 2018, 01:36:44 pm
I will look and see if I can find a tut for the scale image feature.

Here is a tut that talks about it.. https://youtu.be/KO9iRt9hlKg?t=158
 
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Slippyblade on April 26, 2018, 09:19:34 pm
Just to be a nitpick, your print area is NOT "300x300x400h (cm)".  That would be enormous, nearly 10 ft across.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: 05SRT4 on April 27, 2018, 03:00:02 am
So I've DL'd fusion 360 to test it out since I found a dxf of a ms paceman arcade that I could import in.

I've watched a few tutorial videos on youtube, so I know enough to be dangerous...

I've extracted one side from the dxf that I can use as a basis to extrude and build a shell from it.

Unfortunately, the import isn't very clean, and when I extrude, all the imperfections come out.  What's the best way to clean up the lines/curves

[side view](https://i.imgur.com/EFwTepJ.png)

[extruded](https://i.imgur.com/kya3hnw.png)

Is there an easier way to do it with the open source software?

I have been using Fusion 360 for a little while now. I haven't had much success with modifying imported objects. Looking at your pics though I would recommend creating a sketch from scratch. You can import a picture and sketch over it.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Mike A on April 27, 2018, 04:48:40 am
A 3d printer is a very useful tool. It is the wrong tool for building a bartop. Get some wood. Use a saw and a router.

A sledgehammer is a useful tool. I wouldn't recommend using it to open a can of soup, unless you like a giant mess.

You would already be done cutting a bartop if you used the proper tools and materials.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: 05SRT4 on April 27, 2018, 05:17:48 am
A 3d printer is a very useful tool. It is the wrong tool for building a bartop. Get some wood. Use a saw and a router.

A sledgehammer is a useful tool. I wouldn't recommend using it to open a can of soup, unless you like a giant mess.

You would already be done cutting a bartop if you used the proper tools and materials.

After buying and spending all that time learning to use the tools and all the wasted wood practicing and learning, he could of just 3d printed one....
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Mike A on April 27, 2018, 06:03:27 am
A 3d printer is a very useful tool. It is the wrong tool for building a bartop. Get some wood. Use a saw and a router.

A sledgehammer is a useful tool. I wouldn't recommend using it to open a can of soup, unless you like a giant mess.

You would already be done cutting a bartop if you used the proper tools and materials.

After buying and spending all that time learning to use the tools and all the wasted wood practicing and learning, he could of just 3d printed one....

Then why isn't it done?
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Titchgamer on April 27, 2018, 07:09:09 am
I agree with Mike on this.

With minimal skills or time you can build a bartop out of wood sheet in maybe a afternoon or 2.

It will prob take several days of printing to print a useable sized bartop.

I love my 3D printer but there is no way I would print a cabinet on it.
Title: Re: Want to build a one player bartop - 3D Printed!
Post by: Buick455 on April 28, 2018, 01:31:58 pm
I just had another thought about 3d printing and modeling your project. Not that I am tryin to encourage you one way or the other here but you can also model in Sketchup and with a plugin export as STL.. You will have to search google for it, I don't remember the name. Find the plug-in and test before getting to deep with the model though, my info might be out of date.