Skip to content

Magic Snake Builder

Advertising
Advertising
?
Creation quality: 5.0/5 (1 vote)
Evaluation of members on the printability, utility, level of detail, etc.

  • 809 views
  • 2 likes
  • 11 downloads

License
3D design format
Folder details Close
  • MagicSnake-Ball-rounding2.stl
  • MagicSnake-Ball.stl
  • MagicSnake-FitTest.stl
  • MagicSnake-SpaceFighter-Sharp.stl
  • MagicSnake-SpaceFighter.stl
  • MagicSnake.scad

Learn more about the formats

Publication date 2022-11-03 at 14:18
?
Published to Thingiverse on: 2018-10-07 at 02:02
Design number 910021

3D printer file info

3D model description

(Only for the OpenSCAD'ers out there -- there's not really any sane way to make this "Customizer-able")

A virtual Magic Snake(TM) of whatever length you need. Not as tactilely satisfying as a real snake, but it does provide a different kind of mental stimulation to work out how to build the model you want.

Start with a wedge(). Then add() wedges onto it (above it in the code), specifying how many clicks in which direction you want to go. I warn you, this is going to hurt your brain, because the first wedge() is the LAST piece in the chain, and each new one that you add() will always go at the origin and then rotate the rest of the chain around itself. Very disorienting. But it's the only way I could think of to do the coordinate transforms...

I provided a "space fighter" as an example. I'm working on other examples as well.

Don't make a real adjustable Magic Snake(TM) out of this. I don't want to infringe. It was just an interesting mental challenge to get the translations and rotations right and provide an easy interface for building the chain. Thought I'd pass it along in case it entertained anyone else.

Oh, and it takes forever to compile. I tried using render() to cache parts, and even give you a way to not use the edge rounding, but it's always slow (at least on my machine).

Update 10-7-2018:
- Added a ball model familiar to anyone who ever owned one of these.

- Had to tweak some settings to make rounded edges work properly when folded up tight like that. Added the "fit test" model to make sure things fit after folding around.

- Those tweaks introduced some gaps, so I added some "pegs" to the wedges that really only serve to make sure something is connecting the adjacent wedges.
- Played with the "rounding" parameter to see how much flexibility I had. With "width" set to 20, rounding=0.5 seems about right for a "real" snake, and rounding=2.0 yields the stylized shape you see in the second ball model. rounding=5.0 is unrecognizable. I'd say rounding probably shouldn't exceed 10% of width, in general.

3D printing settings

-

Tags

Advertising


Issue with this design? Report a problem.

Would you like to support Cults?

You like Cults and you want to help us continue the adventure independently? Please note that we are a small team of 3 people, therefore it is very simple to support us to maintain the activity and create future developments. Here are 4 solutions accessible to all:

  • ADVERTISING: Disable your banner blocker (AdBlock, …) and click on our banner ads.

  • AFFILIATION: Make your purchases online by clicking on our affiliate links here Amazon.

  • DONATE: If you want, you can make a donation via Ko-Fi πŸ’œ.

  • WORD OF MOUTH: Invite your friends to come, discover the platform and the magnificent 3D files shared by the community!


Sharing and downloading on Cults3D guarantees that designs remain in makers community hands! And not in the hands of the 3D printing or software giants who own the competing platforms and exploit the designs for their own commercial interests.

Cults3D is an independent, self-financed site that is not accountable to any investor or brand. Almost all of the site's revenues are paid back to the platform's makers. The content published on the site serves only the interests of its authors and not those of 3D printer brands who also wish to control the 3D modeling market.

100% secure payment by credit card, PayPal, Apple Pay, Google Pay, etc.
View all payment options.