remix of "Russian Doll Maze Puzzle Box"

Thing Apps Enabled

I really like the idea of having a script that is able to generate random mazes and the generation works perfectly. But it looks like the generated mazes are much easier to solve (compared to the original one). It took me about half an hour to solve the original maze but I only needed about 10 minutes to compelte the generated maze with 5 levels!
The thing that I miss most is that in the original maze you open the maze and just before you get to the end you have to slide it almost completely in before you can continue. This makes it much more difficult. Or am I just missing an option in your script?
My opt:
5
0.2
1
4
4
15
5
0.8

First of all: Thank you for pointing me to github. I did not know that there is a newer version on github. I downlaoded the new script from github, modified the openSCAD path but I am unable to run the main.py script. It always fails:
C:\Users\Thomas\Desktop\3D drucker\remix_ofRussian_Doll_Maze_PuzzleBox\files\src_github>main.py
Traceback (most recent call last):
File "C:\Users\Thomas\Desktop\3D drucker\remix_of__Russian_Doll_Maze_PuzzleBox\files\src_github\main.py", line 384, in
if has_scad_threading():
File "C:\Users\Thomas\Desktop\3D drucker\remix_ofRussian_Doll_Maze_PuzzleBox\files\src_github\main.py", line 65, in has_scad_threading
out = str(sp.check_output(cmd)).lower()
File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 389, in check_output
*kwargs).stdout
File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 466, in run
with Popen(popenargs, **kwargs) as process:
File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 769, in init
restore_signals, start_new_session)
File "C:\Program Files (x86)\Python37-32\lib\subprocess.py", line 1172, in _execute_child
startupinfo)
PermissionError: [WinError 5] Zugriff verweigert

In your old version you had a different command:
threading=False
ver=sp.check_output(shlex.split(openscad_com+" --version"),shell=True)
ver=str(ver).replace("b'OpenSCAD version ","").replace("\r\n'","").split(".")

OK I found the issue: The path has to point to the openscad.com file directly.
works perfectly: OPENSCAD_PATH = "C:/Program Files/OpenSCAD/openscad.com"
generates some messages, but still works: OPENSCAD_PATH = "C:/Program Files/OpenSCAD/openscad"
does not work at all: OPENSCAD_PATH = "C:/Program Files/OpenSCAD"

I love this design, but I don't know Python or OpenScad or really any of those tools/processes you mention in the description. I want to scale this up so that it fits inside http://www.thingiverse.com/thing:2338724 with maybe .5mm or .75mm clearance between the cap on this design and the inner diameter of the other design. But I am afraid that if I scale this model up that it will screw up the fit between the pieces. Can you offer me some pointers?

main.py having problems at line 290,192,118. While multithread script works fine with same parameters inserted

What i meant previously about the notch is to have single notch for inner cylinder to have more maze routes and possibilities.

Also, is it possible to combine both of the multithread and main.py files together and user will just enter option to pick "single" or "multi" thread processing instead of having to maintain 2 files at once?

Make sure its the latest and that you are not in a tricky dead end. The mazes can be hard to solve. The latest worked when i did the test print of 6 shells. You need to try a lot of paths to find the one that goes to the bottom sometimes. Try again with bias set to 1. It will be easier to solve but will verify that it fits. Bias does not effect the fit. Only the maze difficulty

I just ran the script for an extra layer that I won't use... wanted to make a double sided "last" level so needed the final inner maze to have a thread. I can see how the outer lid would be difficult to line up with a thread...

I do not see a problem. The outer most level should not have the thread because the two parts will not line up once tightened. The second to last and inward should and i saw it in the pic near the top on the inside.

The "second to last, inward" is actually the last (6th) inward and only has the thread you see because I ran the script with opt to give me 7 shells, then had to remove the serrated grip from the STL and merge it with an STL for the same level done with outer maze and the lid base. Not a problem really, just would have been easier to merge if both had the same outer base. Yes would have been easier still if double sided layer was an option in the scad :)

Something I would also do when printing again is add some extra distance between the last row of an outward maze and the edge of the piece. It's close enough to "jump" over that last wall if the lid is slightly tilted, which is easily done when there is a straight line up to the last wall.

the pic last posted should be the second to last shell. the last is the "lid". ex. using 7 shells the one in the pic would be shell 6.
by the way 7 shells gives 6 levels. level count are shell count-1.

Inner mazes tend to be small which makes bias less effective. I tested with 100 or so. Larger is better. Bias makes it attempt horizontal. Of course if it sees a path in the way it stops there to avoid loops.
By the way shift mode more than 0 can help too. Makes a more complicated maze.

Actually I was using shift 3 with a twist of 5.
Just tried with shift 2 and overkill bias of 150 and the result looks much better. still some straight lines but but not straight to the finish, more false trails and and generally evil :D Thanks
btw, I modified the knob so there is a less severe overhang as I was getting mid-air printing on the internal horizontal sections

Not useless for me... I'm talking about the carved result. As it is, the horizontal carved lines overhang and print on air, by adjusting the knob the way I have, it carves a steeper underside which overlaps previous layers. The outer lug is also adjusted.
attaching before and after... my sample prints are perfect now.

Please read the readme and opt fmt text files first. Twist is a mode for staggering the maze to appear larger than it is. Makes it wrap more than 180 degrees. Twist stagers by an inputed value. All others involve random staggers except none. My favorite modes are 2 and 3. And a value of 1 for mode 3 twist amount.

How can I make them harder? The straightaways will make these mazes too easy to solve. I have generated them a dozen times and they always have long straightaways right to the end. I have attached a picture of my last attempt. As you can see, the last maze is too simple, my 5 year old could colve this!

Keep in mind that the smaller inner mazes will be easier than the outer. Bigger is better but takes more time and filament. However i noticed this somewhat on the larger mazes too. I was thinking of adding horizontal bias to the maze algorithm. But not now. I'm out of town. And i left my gear at home of course! Keep an eye on my YouTube spool2kool i have a kool video coming after the trip.

Thanks for uploading, this model is incredible! I've only printed the demo files but they work great. One question I had though: Is there an easy way to add a quick 90 degree turn at the "end" of each maze so that the tubes won't slide apart on their own if the ending of the maze has a bit of a straightaway?

what slicer? it worked for me. and have you double checked the file integrity with a repair tool (like netfab etc.)? I did have a weird issue with the outer shell but it printed and I just cleaned out the inside.

Remember to Post a Make!

Remember to come back and post what you've printed as Make.
It's good for the designer and the community (that means you)!
To post a Make, come back to this Thing and click Post a Make.
Or, you can use the Thingiverse Mobile app found on
Google Play
and the Apple App Store.

Show Some Love - Tip spool2kool

Let Them Know

Message sent!

We're sure spool2kool would love a Tip, but unfortunately they
have not setup their accounts to receive them yet.

We can let them know you were interested. Simply click the button below
and we'll pass along a note to them.