|
| 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