I haven't posted a blog entry in a long long time. I've been so busy with work and the kids at home that it's hard to find the time these days to write up an entry.
I have been busy though, building costumes, fun projects with my 3d printer like a jukebox and an arcade cabinet. I've also been hard at work on a new programming project, and that project is a tool to aid in the building and designing of costumes. Something like this exists already called Pepakura Designer, but it's more aimed at paper craft models and not so much at actually building costumes and the development was fairly stale with not much for updates to the core functionality.
I decided it was time to do something about this and build a new tool myself. I'm using my own c++ framework that I've been developing for the last few years and Awesomium to handle the frontend. Using something like Awesomium for the frontend is great, there's so many samples out there for html that it was pretty easy to cobble together an interface. It will also make it easier if in the future I decide to bring on an artist for UI design, as they won't have to learn a new technology.
So my initial attempt was fairly simple, just get a PDO file( the format that pepakura uses ) loading and rendering. I wanted to add the ability to import PDO's as there's a wealth of them available out there and a large community behind them. It was crucial that I have that capability in the tool.
So here was my first attempt, just a 3d model( my own Iron Man Mark 3 chest ) and some line rendering for the unfolded patterns.
The next step was start to add some functional tools. The first ones I implemented were Translate, Rotate, and Cut/Join for the 2d patterns.
Now that I had some tools in place I wanted to get my own basic unfold algorithm in place so that a user could load up a 3d model and generate their own unfolded patterns from it without needing any external tool. This took me a while to get all the bugs out of it. Even now there's a few lingering things I need to fix up with it.
Next I did some work on the actual rendering of the 2d patterns. I added a mesh for the geometry, numbers for the edge Ids, and tabs for where the edges need to be glued together.
Now I was starting to get somewhere. I wanted to get the tool out to people so I could start getting feedback on what people thought. I spent a few months cleaning everything up. I added undo/redo functionality. I hooked up print functionality so users could print out their costumes. I created a file format for saving and loading. I also did a big overhaul to the front end.
To get ready for the first alpha release I put together a video demoing most of the features I had in the first alpha build.
I released the first early alpha last month, and quickly found out that not all versions of Windows are created equal. It crashed on all versions except Windows 7. It took me a while to figure it out but I was trying to access some memory before it had been allocated because of an early resize message from Windows. For whatever reason it seems that on Windows 7 accessing that memory doesn't cause a crash ( though one would think that it should ) and on all other versions of windows it crashes.
From trying to figure out that crash I discovered this awesome Microsoft site that has free virtual machines of all the different OS's for testing purposes.
So now here I am, here's the two latest screens from the tool. I just added support for textured models, which really bring things to life. I'm working on getting a scalable dummy in the tool that you can mount costume parts on to make scaling easier. Nothing worst than printing out a piece, building it, and finding out it needed to be 5% smaller or bigger. I'm hoping to get another stable alpha build out before the end of the month.
You can find out more about the tool, like download links at the discussion page.
As well you can follow me on Facebook to see all my latest projects,
I'll try to post more regularly as I continue to develop this tool. Thanks for reading!