Parametric FreeCAD makeup organizer
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
A simple makeup organizer, but You can change the cell dimension and heights using FreeCAD source file.
- Ocena
- 0 / 5
- Polubienia
- 28
- Pobrania
- 55
- Wydruki
- 0
- Wyświetlenia
- 253
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Bathroom
- Licencja
- Creative Commons — Attribution
While looking for a good makeup brush holder for my wife I've found out many interesting models, but also understood each wife has her very own set of things that are very far from standard sizes, therefore particular requirements for width, height and number of cells.
I tried to give a solution using FreeCAD, which being free and open source is my choice for sharing 3d design sources. Parameters are cell size (defined as the RADIUS of the hexagon cell incircle), wall thickness, cell height and position. It is also possible to make more cells by copying existing bodies.
The file contains multiple copies of a Body, each one being an hexagonal cell. Each body is named after its position in terms or row and column. Only Body_C0_R0 contains the whole set of features, while other cells contain only a "Hex[#]" pad feature, where the user may define individual height changing the "Length" parameter.
Cell size and wall thickness are defined in the "VarSet", where they can be modified once to have effect on all cells.
It is relatively easy to add cells: copy the Body_R1_C1 (Yes, it's easier using exactly this body, we'll se why during positioning!) using Ctrl+C, then de-select the dependencies leaving only Hex pad and the body itself. Begin unchecking boxes from the end of the list. In the end You should have the same configuration of this image:

At this point click OK and then Ctrl+V to do one (or several) copies of the cell. The cell will be linked to the VarSet values for size and wall thickness but its individual height (in the Hex feature) and position.
Position still has to be adjusted: to do so select the newly copied Body, then click on the arrows besides "Placement" and then "Position" to drop-down the X and Y values.

You'll see there is already a blue formula defining the position of both X and Y based on the Xtrasl and Ytrasl values. But we'll have to manually change its multiplication factor according the desired position of the cell. Click on the formula for X and select the blue formula edit dot that will appear.

We'll have to change only the multiplication factor.
For X it is always an integer number that corresponds to the Column number of the cell, so use 0 for column 0, 1 for column 1, 2 for column 2 and so on.
For Y it's a little more tricky because in an hex pattern we have an half-y-step offset for odd number of columns (remember we begin at colum 0, row 0 !), so while the base logic is we have 0 for row 0; 1 for row 1 and so on, we also have to add 0.5 in case the COLUMN is an odd number. In short, here is a table for multiplicator values to use:
C0 | C1 | C2 | C3 | |
|---|---|---|---|---|
R0 | XTrasl*0 ; YTrasl*0 | XTrasl*1 ; YTrasl*(0+0.5) | XTrasl*2 ; YTrasl*0 | XTrasl*3 ; YTrasl*(0+0.5) |
R1 | XTrasl*0 ; YTrasl*1 | XTrasl*1 ; YTrasl*(1+0.5) | XTrasl*2 ; YTrasl*1 | XTrasl*3 ; YTrasl*(1+0.5) |
R2 | XTrasl*0 ; YTrasl*2 | XTrasl*1 ; YTrasl*(2+0.5) | XTrasl*2 ; YTrasl*2 | XTrasl*3 ; YTrasl*(2+0.5) |
R3 | XTrasl*0 ; YTrasl*3 | XTrasl*1 ; YTrasl*(3+0.5) | XTrasl*2 ; YTrasl*3 | XTrasl*3 ; YTrasl*(3+0.5) |
When the position is set correctly the cell will move in place seamlessly with other cells.
In the end, it is possible to export only the desired bodies (cell) by selecting them and using the FreeCAD export function to the preferred file format, then put them directly on the slicer's bed.
Edit 1/1/2026: it is often convenient to join one or more cells to fit larger objects. Although there is no automation to do so, it is possible to draw a sketch on a plane parallel to XY including the (possibly separated) edges to remove and then create a pocket feature from it.