Commit graph

17 commits

Author SHA1 Message Date
Arthur Moore
ea8a583507 Add additional validation to hole options. 2024-08-29 20:14:51 -04:00
Arthur Moore
43b0b350a4 Use OpenSCAD Circle resolution to speed up ribbed cylinder creation 2024-05-02 09:20:22 -04:00
Arthur Moore
cd56b0e421 Make sure hole naming is consistent
Also fixes tests.
2024-04-30 07:38:47 -04:00
Arthur Moore
95219c6cb9 Fix Baseplate
Hole changes were not tested against it.
Many oppertunities for improvements here.
2024-04-30 01:46:37 -04:00
Arthur Moore
8346ce4dd3 Tweak chamfered magnet_hole to so the cone works witrh supportless
Difference was small enough the slicer mostly ignored it.
2024-04-30 01:08:05 -04:00
Arthur Moore
787fa30950 Split screw_hole into a separate function.
This can be re-used for the baseplate.
2024-04-30 01:06:40 -04:00
Arthur Moore
0649f10802 Add Python tests for the hole cutouts to generate images.
* These are not (yet) triggered/run by the CI/CD system.
2024-04-27 00:31:19 -04:00
Arthur Moore
ca28aed898 Allow multiple levels for supportless holes
Helps prevent / minimize issues with filament droop.
Expecially when Cura decides to start the top of hole in mid-air.

Visible Changes:
* Supportless screw holes have a 3rd layer.
* Supportless magnet holes without screw holes have a 3rd layer.

Backend Changes:
* Switched to a completely different generation strategy.
  * Previous strategy directly produced negative.
  * New strategy is to make a positive,
    then use that to create a negative.
* Algorithm for multiple layers is not perfect,
  but works within tollerances set.
2024-04-27 00:18:18 -04:00
Arthur Moore
1a50807295 Make Screw Holes Printable 2024-04-24 21:22:56 -04:00
Arthur Moore
c47661af7f Add A 2nd Level For Supportless Hole Generation
Makes holes print better.

Use Affine Translation Matrices to be clear
how everything works without being too verbose.
2024-04-24 21:19:10 -04:00
Arthur Moore
32f91a77ca Support Chamfering Magnet Holes
Similar to ljbeal's Pull Request.
However, the implementation is completely different.

https://github.com/kennetek/gridfinity-rebuilt-openscad/pull/144
2024-04-21 23:34:23 -04:00
Arthur Moore
f222c262fc Allow using crush ribs for the magnet hole 2024-04-21 23:28:49 -04:00
Arthur Moore
8fa885ac72 Allow mixing and matching hole options 2024-04-21 23:21:21 -04:00
Arthur Moore
2e0e9bd363 Simplify Hole Creation
Everything now goes through block_base_hole(...)
Noting in gridfinity-rebuilt-utility knows or cares what sytle_hole contains.
2024-04-21 23:07:21 -04:00
Arthur Moore
a4200a04bd Simplify refined_hole() 2024-04-21 23:07:08 -04:00
Arthur Moore
67ba594585 Made some hole constants more readable 2024-04-21 22:08:54 -04:00
Arthur Moore
88ad9dbf6c Moved hole functions to a separate file 2024-04-21 22:03:21 -04:00