Skip to content

Commit bd062f8

Browse files
committed
Add logo case generator (only lid for now)
1 parent 9ee6cf5 commit bd062f8

4 files changed

Lines changed: 2097 additions & 0 deletions

File tree

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Logo Case Generator
2+
3+
This is a tool made with OpenSCAD, to take the main case file and add a logo to
4+
it. The script generates a "main" part and a "inner" part, where the main part
5+
is the normal case file with the logo cut out, and the "inner" part is the
6+
logo. This can be used in multi-part printing, e.g. in Prusa Slicer. In general
7+
you will need to follow these steps:
8+
9+
* Find a logo as a vector graphics file (e.g. SVG)
10+
* Scale the logo to the right dimensions, using the frame template
11+
* Choose inverted or normal mode, and a logo thickness
12+
* Generate the two STL files
13+
* Import the two STL files into your slicer as a multipart print, or print just
14+
the main part with a color change at an early layer
15+
16+
## Features
17+
18+
* Use any vector graphics, simple placement in template
19+
* Inverted or normal style logo
20+
* Customize logo depth (number of layers)
21+
* Only generates a lid for now, will be extended for the main case as well
22+
23+
## Guide
24+
25+
### Preparing the logo
26+
27+
* Open the logo you would like to use in [Inkscape](https://inkscape.org/)
28+
* Make sure the logo is only a shape path. Colors, gradients and even the
29+
thickness of lines are ignored. Use the options in the "Path" menu of
30+
Inkscape, e.g. "Object to Path" and "Union", to generate a single path
31+
object. Remove its border, fill it black.
32+
* Open `frame.svg` in Inkscape and copy-paste your logo into it. Transform the
33+
logo to place it where you would like to print it.
34+
* Delete the gray frame shape, leaving only a correctly sized document with the
35+
logo placed where you want it.
36+
* Save the file as a different file, in this example we'll use `my-logo-framed.svg`.
37+
38+
### Choosing options
39+
40+
Depending on your logo shape and the colors you are going to use it to print,
41+
you might want to **invert the logo**. For an inverted logo, the space
42+
surrounding the logo is separated for printing, the logo becomes part of the
43+
main body instead. Use this
44+
45+
* when you want to print the logo and body in the same color, or
46+
* when your logo should be printed in an translucent filament and the space
47+
around it should be covering in an opaque filament (the combination of two
48+
translucent filaments is discouraged as the colors mix and look ugly), or
49+
* depending on the shape of your logo, e.g. when very thin features or acute
50+
angles are present and you want to influence the printing order.
51+
52+
You will also need to choose a thickness, or `logo_depth`. This should be a
53+
multiple of your layer height. Some opaque filaments could work if just one
54+
layer is applied, but for best results, at least two layers should be chosen.
55+
Each layer will need a filament change though, so try to keep the number of
56+
layers low. The default example is a 0.2mm layer height, and two layers of logo
57+
printing, which results in a logo depth of 0.4mm.
58+
59+
### Generate the STL files
60+
61+
First, you need to have [OpenSCAD](https://openscad.org/) installed.
62+
63+
Run the following commands:
64+
65+
```bash
66+
openscad -D 'mode="main"' -D 'logo_file="my-logo-framed.svg"' -D 'logo_depth=0.4' logo.scad -o lid-my-logo-main.stl
67+
openscad -D 'mode="inner"' -D 'logo_file="my-logo-framed.svg"' -D 'logo_depth=0.4' logo.scad -o lid-my-logo-inner.stl
68+
```
69+
70+
If you chose an inverted logo, also add `-D 'logo_depth=true'` to both
71+
commands. If your logo is a very complex shape, and the result looks wrong, try
72+
setting and increasing the `logo_convexity` parameter as well, from its default
73+
10 upwards, e.g. to 20 or 30.
74+
75+
### Importing into Prusa Slicer
76+
77+
If you're not using Prusa Slicer or a derivative thereof, you will need to find
78+
your own solution.
79+
80+
For Prusa Slicer, multipart printing is very simple to set up, if your printer
81+
supports any type of command to switch filaments. Marlin firmware can be
82+
compiled for most printers with support for the M600 command. Printers with
83+
physical support for multi-material printing of course should be supported out
84+
of the box.
85+
86+
* Import the `lid-my-logo-main.stl` file into Prusa Slicer as usual. It should
87+
be placed in the center of your build plate automatically.
88+
* In the right sidebar, locate your part. Under "Editing", click the icon, then
89+
choose "Add Part" > "Load...", and select the `lid-my-logo-inner.stl` file.
90+
* You now have a multipart print. Configure everything as normal.
91+
* If your printer only has one extruder, but supports the M600 command, you can
92+
still choose 2 extruders under "Printer Settings" > "General" >
93+
"Capabilities" > "Extruders". In the "Custom G-Code" section, under "Tool
94+
change G-code", you might have to enter `M600`.
95+
* You should then be able to choose the two extruders for the different parts
96+
in the parts list in the right sidebar. This way the slicer generates
97+
separate toolpaths for both parts in each layer, and places the M600 command
98+
in between those paths. The printer will then pause and wait for the user to
99+
change the filament and confirm to resume.
100+

0 commit comments

Comments
 (0)