The NEW Build Your Own Arcade Controls
Main => Project Announcements => Topic started 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.
-
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.
-
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 :)
-
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.
// 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).
//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.
//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
-
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.
-
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
-
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'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
-
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.
-
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
-
Just to be a nitpick, your print area is NOT "300x300x400h (cm)". That would be enormous, nearly 10 ft across.
-
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.
-
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.
-
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....
-
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?
-
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.
-
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.