Hi Jonathan,
Thank you for interesting my post. You can create a chain-ring with below steps.
create an annulus in 3D as a chain-ring
ring = With[{r1 = 0.4, r2 = 2}, ParametricPlot3D[{(r2 + Cos[v]) r1 Sin[u], (r2 + Cos[v]) r1 Cos[u], r1 Sin[v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi}, MaxRecursion -> 3, PlotPoints -> 50]];
Rotate, translate and scaling transform, if necessary.
ringRotate = TransformedRegion[TransformedRegion[ring, RotationTransform[Pi/2, {1, 0, 0}]], TranslationTransform[{0, 0, 0.5}]];
Then Boolean union on your target region.
union = RegionUnion[targetRegion, ringRotate]
I work with a 3D printing supplier in China, I am afraid, they will be no sourcing advantage for your prototype with considerable shipping cost and customs tax. However, I found a few printing services in U.S. for you to pick.
https://i.materialise.com/blog/en/3d-printed-jewelry/
https://www.shapeways.com/industry/jewelry/
https://envisiontec.com/3d-printing-industries/professional/jewelry/
https://pick3dprinter.com/3d-printing-jewelry-service/
Hello and thank you for posting your work on the Love Heart. What a wonderful gift for your wife, xx. I am an artist working in IT and found it fascinating that a wax casting could be created this way. I also make and collect heart jewellery and objects and your information was really valuable. Thanks again, Denise UK
Congratulations! Your post was highlighted on the Wolfram's official social media channels. Thank you for your contribution. We are looking forward to your future posts.
-- you have earned Featured Contributor Badge Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!
Hi Frederick,
Very nice post! I have a couple of questions:
1) How did you create the loop for the chain and attach it to the heart structure?
2) Which 3D printing service did you use for your design?
That's very helpful Frederick.
Thanks for a great presentation!
I am still struggling to replicate your rather lovely design. I created a ring region as you suggested:
ringRegion = TransformedRegion[ TransformedRegion[ringregion, RotationTransform[Pi/2, {1, 0, 0}]], TranslationTransform[{0, 0, 0.5}]]
and then RegionUnion should mesh the two stl images together:
union = RegionUnion[heartRegion, ringRegion]
But, in fact, in Mathematica V12.3, the output appears to be identical to the original heartRegion.
Any idea what the issue could be?
Thank you for your interesting for my heart design. In the case, Wolfram Mathematica doesn't work with RegionUnion, You can use Materielise Magics or other software to do region Boolean calculation.
I attached the heart with a ring in STL file format ( at top ) for your reference.
Thanks once again Frederick!
Hope to see more posts from you in future...
Jonathan