Skip to content

Files for Inkscape, Illustrator and Onshape

The same designs, in the format your program wants. All of them are generated from the sources by scripts/export_formats.py, so they always match. They live in the repository folder projects/welcome-space/exports and in the Source files ZIP.

Which folder for which program

I use Take the files from What you get
Inkscape exports/inkscape/*.svg Named layers (CUT, ENGRAVE, PRINT), millimetre display units
Adobe Illustrator exports/illustrator/*.svg Plain SVG. Each group becomes a layer named CUT-..., ENGRAVE-...
Laser software (Epilog, xTool Creative Space, LightBurn) exports/dxf/*.dxf or the Illustrator SVG DXF with layers CUT (red) and ENGRAVE (black), in millimetres, text kept as text
Onshape (or any CAD) exports/onshape/*.dxf Flat profiles and half-profiles for sketches (see below)
A slicer (Bambu Studio) 3d/stl/*.stl The print-ready meshes
OpenSCAD 3d/*.scad The parametric source of the 3D printed parts

Test one file first

Every program reads SVG and DXF a little differently. Open one file, measure it against the drawing (a plate must be 110 mm), then cut a test piece on scrap plywood. Convert text to outlines before it goes to the laser.

Onshape: what you can and cannot do

  • An STL is only a mesh. Onshape can show it and measure it, but you cannot change a hole or a width in it. Keep STL for printing and fit checks.
  • To get an editable Onshape model, import the DXF sketches and build the part from them. Then every dimension is yours to change.

Import a DXF into a Part Studio so that its lines become a sketch, and set the units to millimetres. (The names of Onshape's menus change from time to time, so look for "import a DXF into the Part Studio as a sketch".)

Flat parts (laser cut): extrude 3 mm

File Extrude Notes
v1_base_plate_profile.dxf the disc, 3 mm The circle is the outline, the six rectangles are the slots (3 panel + 3 wing), keep them as holes
v1_panel_profile.dxf 3 mm Contains the 3 panels: use one
v1_wing_profile.dxf 3 mm Contains the 3 wings: use one
v1b_base_plate_profile.dxf the disc, 3 mm Plate for Model B: 3 panel slots, 3 wing slots, 2 wire holes
v1b_panels_set_profile.dxf 3 mm 3 panel outlines (1 power + 2 plain): use one
v1b_wing_profile.dxf 3 mm 3 wings: use one

Round parts (3D printed): revolve 360 degrees

Each DXF holds the half-profile and a straight line called AXIS. Revolve the profile around the AXIS line.

File Revolve Then add
v1_diffuser_profile.dxf one closed profile A window 14 mm wide through the wall at 180 degrees, from 8 to 18 mm above the table (parameters in 3d/v1_diffuser.scad)
v1_nose_cone_profile.dxf two closed profiles: the shell and the hub 3 pockets 9 x 3.3 mm, radial, 11 mm deep, at 90 / 210 / 330 degrees
v1b_nose_cone_profile.dxf the shell and the hub 3 pockets 12.4 x 3.3 mm, tangential, 10 mm deep, at radius 15 mm, at 90 / 210 / 330 degrees

The curved line of a nose cone is part of an ellipse. The DXF stores it as many short lines. To make it cleaner in Onshape, replace it with an ellipse: Model A has semi-axes 23 and 45 mm, Model B 33 and 50 mm, wall 1.2 mm.

Where the parts sit (Model A, millimetres above the table)

Part Position
Diffuser z 0 to 24
Base plate z 21 to 24 (flush with the top of the diffuser)
Panels stand on the plate (z 24), 130 tall, tab 2.5 mm into the plate, 10 mm tab up into the nose cone
Nose cone base at z 154, 45 tall
Wings tab 2.5 mm into the plate, outer part hangs 18 mm below the plate top

Model B: panels are 125 tall, the nose cone base is at z 149 and it is 50 tall.

How these files were checked

The DXF files were read back with a separate reader and drawn: the plate slot is 28 x 3.1 mm, the plate is 110 x 110 mm, the nose cone profile is 23 wide and 45 tall. They were not opened in Onshape, Illustrator, LightBurn or the laser programs. Please test one file in your program and report problems in an issue.

How to regenerate

After you change a parameter:

python projects/welcome-space/generators/build.py
python projects/welcome-space/generators/model_b.py
python scripts/svg_tool.py prepare
python scripts/export_formats.py