Unfolding software

papfo

New Member
Been working on my own unfolding software.
Got it to export to something usable by my cricut machine.
Though the numbers get

Probably should try a more advanced stl model, if any one has one I could try.

How important is it for the tabs to alternate?
I feel like a tab slot system would make assembly easier also...

upload_2019-1-25_10-45-8.png
 

Attachments

papfo

New Member
upload_2019-1-31_16-51-41.png


Added an Obj file loader to it.
My unfolding algorithm is quite slow and, needs more smarts :(.
I need to disable screen updates during the unfolding process and that should speed it up. Also need to add a progress bar.

Joining based on min angle / longest distance does not seem to result in good pieces.


Placement seems too tedius. Going to need to import a nesting library to automate piece placement.
 

Harri51

Well-Known Member
This will be amazing to have. Unfolding is my least favorite thing of all to do. most of anyone's that I head of.
 

papfo

New Member
Started working through Satchmo III tutorials.
That seems pretty tedious.

Some more parts are coming for my laser cutter today. Cricut machine is kind of annoying. Only handling 12 x 12 sheets.

Do people ever use shapeways / other laser cutting services?
 

TurboCharizard

RMO & BCO
405th Regiment Officer
Community Staff
Started working through Satchmo III tutorials.
That seems pretty tedious.

Some more parts are coming for my laser cutter today. Cricut machine is kind of annoying. Only handling 12 x 12 sheets.

Do people ever use shapeways / other laser cutting services?
Making friends with the local plastics shop is the best way to go. Trade design services for CNC mill and laser cutter time (y)
 

papfo

New Member
Detecting feature fold lines is turning out more challenging math problem than i thought.
This will take quite a bit of user slider working.

Ill probably add like 4 or 5 more sliders for users to get a baseline set of cuts / join edges.
Prior to the actual unfold process.

Should alleviate a lot of the initial clicking.

2019-02-04 23.23.39.gif
 
Last edited:

Satchmo III

Well-Known Member
Hi papfo! This is a pretty cool project and I must tell you that you have good taste when it comes to test models. Software development is a unique talent and thank you for sharing your progress.

I'll admit that, although time-consuming, I find some enjoyment in doing things like manually specifying open edges, laying out parts, and even specifying where tabs go (for me it's relaxing and not unlike putting together a puzzle). I'm trying to think what parameters might be effective for automating the unfold process. I can't think of any simple command instructions at the moment but will let you know if something comes to mind. Maybe it would be easier to focus on automating parts/tabs layout processes and leave open edge specification for the user?

One small thing you could check into...on that warmaster helmet I modeled most of the polygons as quads and not tris. I wonder if your OBJ importer can be adjusted to ignore making quads into tris, this might help to simplify the process by eliminating some of the potential cut or fold lines.

If I can help or test anything for you I'd love to do so. Good luck!
 
Last edited:

papfo

New Member
Im writing this as a web app. So I can use javascript libraries, and it should be cross platform compatible. Im on a mac for development.

Ive prototyped with SVGnest - Free and Open Source nesting for CNC machines, lasers and plasma cutters, and got that to work a while back. Have since broken that feature but it seems strait forward to get working again..
It wont keep similar parts near each other, But I could setup part groups so you could dump all of Left hand side into one group, and right hand side pieces into another group. Same with colors / etc.

the object loader code i'm using returns triangles to me, and not square faces. Also several of those square center lines are non zero angles so they should have score lines no?

I think your right on tabling the auto identification of feature lines. The papers I have read, they decimate the model to find the core feature lines, and then return the model back to its original shape. Not sure I want to implement this at the moment. Though there are lots of model optimizers out there.

Might be a while before I get it to a usuable state for you to test with. Thanks for making those smoothed models. Do you have any tutorials on smoothing out and decimating models?
 

Satchmo III

Well-Known Member
For putting together paper you do not want to score (aka fold) every line. The smooth paper model is achieved by ignoring fold lines between polygons that share an angle of about 160 or 165 degrees or higher. Any lower of an angle needs to be folded elsewise shape gets screwy. I think the slider bar you were messing with would be better suited to select fold-lines than cut-lines.

I don’t think I have any smoothing or decimating tutorials (I’m not sure exactly what you’re asking) but would love to discuss to figure something out.

What kind of papers are you reading? Anything available for others to partake?
 

papfo

New Member
Google Scholar
If you hit a paywall I usually just google the paper, and the school usually has the paper for free.

So any angles below 15 or above 160. should probably not have score lines.
Ill need to update my export function to use a slider on that.

Was wondering if you used blender / other 3d modeling program to decimate / cleanup the model to make it easier for papercrafting.
I plan on adding something like this into the model loading / resizing screen.
three.js webgl - modifier - Simplify Modifier using Stan Melax Polygon Reduction
And let you keep track of the smallest edge, to get rid of small pieces.
Though it might distort the model. Probably better to leave that up to blender.
However decimating the model lets you identify core model points / cut lines for the higher res version.
Im going to table auto finding feature lines till i get more of the user interface logic worked out.

Started working on the feature cut tool. Added some mirror logic, (not perfect mirror logic.)
Really want to be able to click, and then drag to cut down on the amount of clicking.
That will take a bit more logic.
I made most of my app progress during a work shutdown, so now back to the day job. So progress is probably going to slow down.
2019-02-08 00.53.52.gif
 

PerniciousDuke

RXO & BCO
405th Regiment Officer
Community Staff
I too find unfolding a model rewarding, but there probably are automations that could help.

One thing I dont like is that tabs are auto set to alternate. I move them so tabs are on the smallest piece with only a couple alternating to help for alignment. Or if the tabs connect to a piece in itself then I prefer them all to be on one side.

Cool idea you've got papfo thanks for sharing your progress.
 

xXDashIVXx

Active Member
If you havent considered it, you should add a mirroring option so you can only unfold one side or the fila and the other side would be reverse. I dont know if pepakura has it but I think this would be handy and convinient
 

papfo

New Member
xXDashIVXx pepakura does have a mirror option for doing joins/ marking cuts.

I started doing a similar option where I just look for lines with a mm but the z axis is different,
Auto identifying the mirror line, and mesh symmetry was something I didn't tackle. If the object doesn't have a mirror line exactly on the z axis, my algorithm falls apart.....

Spent the weekend working on my laser cutter, and doing some work stuff before vacation.
 

Satchmo III

Well-Known Member
Thanks for sharing those papers papfo. I'll definitely be giving them a look-through. They look pretty formal...I had no idea people were studying these kinds of things (it's awesome).

I've only briefly played with decimation in blender, I don't think it's effective for simplifying geometry for paper-craft since it eliminates intentional and intelligent edge-flow (well, when considering myself I use the word intelligent loosely). I think intention is important though, I had put together a brief write-up of modeling practices I use when simplifying game assets for paper-craft (LINK), perhaps there's a kernel in there that might be helpful to you.

The mirror function in pepakura designer needs the model to be centered on the xz plane also. I assume the program checks for identical y and z coordinates and the same absolute value of the x coordinate to match up the symmetry.

When you get to incorporating a click-and-drag edge selection function it'd be neat to restrict the selection so you can only select an edge that's connected to the one previously selected (instead of just selecting whatever edge you drag over). I think this would limit inadvertent edge selection.

Going anywhere interesting for vacation?
 

papfo

New Member
Heading to vegas for a friends wedding, and to see some of the sights.

Thats the plan Satchmo III ,
Click on an edge, and then you start dragging to hit nodes that are shown, and then when you hit a node, mark the edge as a cut / join. Then repeat.

Nice tutorial. I knew those game assets were going through some modifications for this site. Figured you guys had some recommended blender plugins that made your modification process easier.
 

Satchmo III

Well-Known Member
I don’t know where you’re coming from but you might want to bring a fleece or hoodie...it’s been chilly here (30deg in the morning and getting into the 50’s during the day). I moved from Minnesota to Las Vegas last November. NV cold is no where near MN cold but it’s still a bit cool.

If you have access to a car and want to see some neat mountains you could investigate Red Rock national park. It’s about 25 miles west of the strip and for five dollars you can drive around its 13 mile loop and if you wanted to walk around there are a dozen places along the loop to park and jump on a trail.

Enjoy your friend’s wedding!

I’m not aware of any automated processes for making pepakura friendly models. I’ve been making models for a few years now and have picked up some tricks by becoming better acquainted with blender’s tools (which has been quite helpful), but whether making a model from scratch or modifying a game asset I’m ultimately moving the points around for the pepakura-geared result that I want.
 

papfo

New Member
Vegas was fun,

We ended up doing red rock, and then drove a bit further to this old timey miner town reenactment. kind of kid oriented but reminded me of an abandoned western town. Little too cold to do a lot of walking.

I mostly implemented the click and drag, it needs some cleanup though.

I need to draw the square boxes between the camera position, and the edge point.... Still not sure how to find the camera location so if you zoom in the red boxes disappear, as they are drawn behind the camera.

Also if a node has connection edges that is in the same direction as the look camera, then you end up selecting those when you start dragging. If that makes sense.

I did get the mirror feature into the click and drag though.

I looked into the square polygon thing. Its a feature thats missing from the obj loader for threejs. So that will need to go on the issue list also.
2019-02-20 13.42.59.gif

Going to table those issues and move back to unfolding / tabbing / layout.

Really want tabs with inserts, to avoid the amount of gluing i have to do on these models.

Laser cutter is starting to come together also.
 

Satchmo III

Well-Known Member
I think the old-timey town was Bonnie Springs. I thought that looked interesting but when I passed it I was on a bicycle and was tired and getting in there looked easy because you go down a hill but at the time I had semi-serious reservations that I wouldn’t be able to climb back out if I went down there. Glad you had fun on your trip.

The click-and-drag feature looks promising. It might be too complicated but perhaps you could integrate the ability to orbit the camera around the model at the same time as the user is dragging out the selection. If you can do something like orbit with the MMB while selecting with the LMB. Just a thought, this might help the user complete a fully intended cut that you might otherwise have to stop and start if you have to terminate a portion of a cut to rotate the model.

I’m interested in seeing how you might develop insert tabs. I will admit I’d be concerned about the strength of non-glued connections but agree with you that it would be nice if gluing wasn’t required. Perhaps you could incorporate the option for either tab style (it’s also the case that the folks working with foam are benefitted by having the ability to not draw the tabs at all if you wanted to think about that option).
 

papfo

New Member
I thought about moving the camera, but im having douts about it, maybe after its in a more completed state.
keeping the model position under the cursor while rotating the camera seems tricky....

Im struggling trying to update my threejs distro, and get my trackball controls working again....

When working on tabs i realized i need to fix the polygon import from objs.
I was trimming tabs based on the connection face / polygon. Doesn't work as well with just triangles. Didn't want tabs to overflow the end of a piece / bend.

My initial tab design i was just scaling the tab width based on its connection edge.
Im assuming people like set widths more than bigger edges having bigger tabs, and smaller edges having smaller tabs.
 

papfo

New Member
Progress update. Reworked the obj file importer to handle polygons, and not simplify to triangles...

Laser cutter is also coming together, hopefully will be able to burn this thing out in a month....
upload_2019-3-3_1-15-42.png
 

papfo

New Member
Don't get too excited. Lots of bugs before I can package it up, and get alpha testers.
Probably will offer laser cut patterns until the software is in a more of a finished shape.
Still working on the enclosure for this cutter.
 

Attachments

Top