Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alignment Indicators #111

Merged
merged 13 commits into from
Dec 22, 2020
Merged

Conversation

dmadison
Copy link
Contributor

@dmadison dmadison commented Dec 22, 2020

Adds alignment indicators to the enclosure to aid in assembly: a triangle on the left side, a circle on the right side, and an 'up' arrow on the front face. The goal is to provide an easy visual cue for how the enclosure pieces fit together - particularly the front piece, which is slightly asymmetric. I opted not to add indicators to the top and bottom pieces because they seemed a little redundant.

The triangle and arrow geometry were added through modules included in a new shapes.scad file. This also includes the rounded rectangle module that was submitted separately as a part of PR #109 (Zip Ties).

I also cleaned up the other etched features in the design and removed the 3D difference feature for the etched spool indicators which struck me as excessive. All etched features now go through a single helper function to set the positional offset, height, and color.

Ponoko Quotes (3.0 mm MDF, 2020-12-21):

Branch Variant Commit Price
master 0f6d8b7 $20.29
alignment-indicators one-ended (submitted) 71fcfb8 $20.85
alignment-indicators two-ended 9e60870 $24.80
alignment-indicators two-ended , line-etched, no label 9e60870 $21.55

This submitted version only has the one-ended indicators, which add $0.56 USD to the cost of each enclosure or an increase of 2.7%. In my opinion the symmetry of the two-ended indicators looks much better but is not worth the cost increase.

I'm suspecting the large jump in price comes down to how the laser-etching process works. When I used to operate a laser the software would rasterize the design and then run the head back and forth horizontally at a steady pace over all areas with etched items, firing the laser itself only over etched areas. Because the pair of alignment indicators are lined up horizontally the laser is likely performing a continuous slow travel move over the height of the front panel, which would increase the time to cut the design and explain the jump in cost.

For good measure I also tested the two-ended version without the text label and with line-etching instead of area etching, which would presumably reduce the travel time costs but increase the cost of etching itself. Even so, it would still be cheaper to keep the label and use area engraving with one-ended indicators - which is what is submitted.

Photos:

sf-alignment-ind-normal

sf-alignment-ind-right

sf-alignment-ind-left

sf-alignment-ind-flat

dmadison and others added 13 commits December 20, 2020 21:21
Includes modules for rounded squares and triangles
This is clever in principle but poor in practice, because you have to assume the intention behind the centering command. Do you want to center based on the size (bounding box), or do you want to center based on the rotation if the triangle is equilateral? Easier to always assume bounding box centering and get rid of the trig.
Previously this was split between a hard "0.1" for the etch style module and a separate "0.1" for the spool etching. This unifies both as a single value.
Uses the enclosure_etch_style() helper function to simplify placement. Also removes the 3D difference() function to simplify rendering.
Using a triangle for the motor/left side and a circle for the idler/right side. The triangle requires less etching area than the square and should provide more contrast with the circle at smaller sizes / lower etching resolutions.
This should use the pre-calculated "enclosure_indicator_position_y" value along with all of the other etched indicators.
Visually, the symmetry looks better.
Although this looks better it's significantly more expensive to produce: the single-ended etched indicators add about $0.56 to the cost per enclosure @ Ponoko. The dual-ended etched indicators add $4.51, presumably because of the travel time between aligned indicators in the rasterized version.

This reverts commit 9e60870.
Copy link
Owner

@scottbez1 scottbez1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! Love the price analysis you did on this - I'm glad you checked 2-sided vs 1-sided because that's a pretty drastic increase in price for what is a small design change!

@scottbez1 scottbez1 merged commit 423cef8 into scottbez1:master Dec 22, 2020
@dmadison dmadison deleted the alignment-indicators branch December 22, 2020 20:58
dmadison added a commit to dmadison/splitflap that referenced this pull request Dec 22, 2020
This was included in shapes.scad as part of PR scottbez1#111 and does not need to be repeated here.
scottbez1 pushed a commit that referenced this pull request Dec 27, 2020
This adds the option to mirror the 2D laser-cut design so that the outside faces are facing 'up' / towards the laser when cut. This is useful for materials with a special finish on only one side like Ponoko's matte black acrylic, which is cut with the matte finish facing towards the laser.

The mirroring can be set with the render_2d_mirror flag, or with the --mirror option in the generate_2d.py script.

With the addition of the alignment indicators (PR #111) I think we've reached the point where it no longer makes sense to mirror the individual etched portions. Instead, I've updated the etch function to prevent rendering the laser etches if the mirror option is set.

I've also updated the `generate_2d.py` and `projection_renderer.py` scripts to pass OpenSCAD components that don't return geometry instead of raising an exception, and added an additional `--no-etch` option for exporting the unmirrored design without the etched portions.

#### Demos:

* [Standard](https://user-images.githubusercontent.com/24282108/102972173-a65a0f00-44c8-11eb-83fd-8175ecb2810f.png)
* [No Etching (`--no-etch` option)](https://user-images.githubusercontent.com/24282108/102972169-a3f7b500-44c8-11eb-9ecc-2451aa41b5bf.png)
* [Mirrored (`--mirror` option)](https://user-images.githubusercontent.com/24282108/102972164-a22df180-44c8-11eb-9067-4f7faf6c30c5.png)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants