Blender

Posts about Blender

The travel-size Wikipedia globes we had 3D printed are up on the Wikipedia thank you page!

So you may remember the wall-hung 3D Wikipedia logo we made a while ago when we were helping them out with redoing their offices.

Well, we took that same 3D model (done in Blender!) and we 3D printed small, round versions as well. They came out great!

Wikipedia has a picture of one up on their thank you page right now. Check it out!

We were really happy how they came out. Thanks to Ideate for the local printing services.

Blender 2.5 Alpha is out

Blender 2.5 Alpha has been released for testing. Why is this such a big deal? 2.5 includes the long-awaited UI overhaul! Blender's somewhat-crazy, non-standard UI has a reason and history that most folks don't know. But many try Blender, and give up on it, simply due to it's quirky interface. So it's currently a bit of a loose-loose, it's a hard yet rewarding UI to learn that hinders adoption. But to those that do learn it, they tend to find it to be pretty good.

Let me explain. Blender was originally written as an in-house tool for an European special effects and animation house. It's focus was entirely on making someone who already knows 3D animation and modeling as efficient and effective as possible, and not on ease of use or learn-ability. It was also written for a small, focused group of people with their own ideas and demands, for even after the parent company started selling Blender to other people, it was still a rather obscure tool that only a devoted few used. Later on, the parent company, that special effect house, went under and almost took Blender with it. But the orginal developers were able to raise the money to buy the rights and source-code from the Bankruptcy court, and they, in turn, made it open source. Which gave us a professional-quality open-source actively developed tool with a bizarre UI.

Old and Broken:

Fast forward several years, and the Blender team has re-written the UI from scratch, making it look a little more like Modo in the process, and adding the ability to animate anything, hook into anything, and configure anything. So far it looks like a real winner!

Teh New Hawtness:

So check it out, help with the Alpha, and if you've never used Blender give it a new try and let them know what you think.

The Wikipedia globe, now in 3D!

That's right! We've made the Wikipedia puzzle globe in 3D! No glasses required.

IMG_8765

We started out with a 3D model, manipulating the globe in Blender to be flattened so it could hang against a wall.

corner2

wall_preview

After creating a satisfactory version, we "sliced" the model in our CAM software, and set up the job to be cut on our CNC machine, Frank.

Using Trupan, a certified sustainably harvested fiber board that is very soft and mills well, we first made a prototype. Always, always first make a prototype.

IMG_7603

Here at BWC, we only use certified sustainably harvested woods, as we want to ensure there will be those far in the future making wonderful things like this. As you can see from the prototype, the globe was milled on the machine in horizontal slices, then built up into it's final shape. We created the globe to have two removable puzzle pieces. You can see one here in the final large version...

IMG_7635

At this point the globe has been glued up and sanded down. Next, many repetitions of primer, sealing and sanding occurred, which eventually gave us this:

IMG_7722

A smooth surface, with the letters and the puzzle piece lines well formed. A full day and a half of hand painting was next up. We wanted the globe to have a very rich, tactile look to it. Hand painting is the only way.

IMG_8623

The letters and puzzle lines were painted in with meticulous care. The final globe has two removable puzzle pieces, and is coated with a waterborne lacquer to protect it from greasy finger prints. (We only use water based and water borne finishes here at Because We Can)

IMG_8740

And now for a quick demonstration:

IMG_8770

IMG_8769

IMG_8774

IMG_8772

The Wikipedia Globe in 3D, brought to you by Because We Can!

IMG_8781

Blender to CNC

Something that we get e-mails about from time to time is how we use Blender with our CNC machine. Everyone wants to know software, formats, etc. The missing link here is something called CAM software.

You don't go directly from Blender to the CNC controller; there is an in-between step where you generate toolpaths for the CNC machine to follow. Blender can't do this directly, and no one has made a plug-in (yet) for it, so you'll need to use a separate CAM package to do the job.

It goes like this. We model something up in Blender, sometimes from scratch and sometimes based upon an imported Revit model. Once we're happy with it, it gets exported to an .STL file. We then import that file into Vetric Aspire. Or, if it's a two or four-sided milling job, we use Vetric Cut3D (which is a nice cheap solution for 3D milling).

Toolpaths are generated by those tools, and saved out into jobs for the machine to run. Then we setup the material on our CNC machine, setup the machine, and then run that job. The machine goes to town, carving away, and then you've got your part!

We've yet to find a decent open source 3D CAM package. And honestly, the features and ease-of-use of the Vectric tools in combo with their cheap (for CAM software) prices really make it the way to go if you're at all serious about what you're making. While we understand that some out there want a 100% open source solution, we're using Blender because we like it and feel that it's got great features, not because it's free.

Anytime we get a question more than once via e-mail, we like to turn it into a blog post, so that we can share the answer with everyone!

Blender's new Deform Modifier

tilt5

Haven't talked about Blender in a little bit. A new version was just released, and it's got a few new features that are great additions.

LuxRender, a Open-Source Non-baised 'Maxwell-style' rendering engine

Ever since getting heavy into Radiance back in the day, and producing bad renderings on my beloved Amiga 2000 (until I got my MacBookPro, that was the last computer I honestly liked) with Caligari before that as a kid, I've always been a big old rendering geek. Heck, I'm even going to be teaching a lab on it (Mental Ray in Revit) at this year's Autodesk University.

Sketches to Sculptures via Blender!

Our friend, Michael Christian, a well-known local artist, approached us with an idea to produce some small, more affordable pieces for a more down-to-earth show he was going to have.

Frank Eyes Frank Faucet Frank Drip

Blender's new Z-Brush like 'Sculpt' mode

Blender's got a new Sculpt mode! This allows for Z-brush like modeling within Blender. It's just in the current testing beta, which you can download from here. But still, this is big news. Seems every time I turn around Blender suddenly makes a huge jump (which is great for us, for we use it a lot here at Because We Can). While it's still in beta, it is usable, and due out in a 'full' release soon. Also, obviously, it's not as feature-riffic as Z-brush is, but for an open-source package it's rather impressive and going to be very, very useful.
turning on Multires
For those that haven't used Z-brush, 'Sculpting' is a special sort of subdivision modeling, where using a mouse or a Wacom tablet (it's pressure-aware!) allows you to add to, subtract from, imprint, bend, stretch, and manipulate a model almost like clay. It's a very quick way to model complex organic forms (and a lot of fun).
turning on Multires
This is what five minutes of playing around with the Blender Monkey resulted in. I thought I'd take a moment and write up a quick tutorial to how to get the new Sculpt mode to work so y'all can play with too (it's a lot of fun!). First off, just open up the new Blender Beta, and add a simple cube to your scene.
turning on sculpt mode
Then you'll see two new things, a Sculpt mode on the Mode: menu, and a new control box called 'Multires'.
turning on sculpt mode
Multires allows you to turn up or down the level of subdivision on the fly, and is an important part of Sculpting. Don't worry about it for now, just know that you have to use it to Sculpt something.
turning on Multires
So let's pick that cube, then click 'Add Multires' and then click 'Add Level' five or six times. You'll see that the cube subdivides into a smooth egg shape.
turning on Sculpting
Now switch to Sculpt Mode, and pick on the new Sculpt tab that appears. Leave the rest of the options as-is, we'll come back to them later.
Drawing!
Then simply click and drag over the top of your cube, and you'll see that it 'draws' on the 3D surface of it. If you've got a Wacom tablet, it's pressure-aware, so if you press harder it will draw more (and vise-versa). Swap the 'shape' setting to 'Sub' instead of 'Add' to carve into the shape instead. Picking the 'Airbrush' option will make the warping happen constantly as you hold down the mouse button, instead of just when you drag the mouse. Size and Strength should be obvious. Then there are the other Brushes and the Symmetry buttons...
Grabbing!
Grab pulls the model around instead of drawing on it. And if you pick a Symmetry button, Blender will automatically make the model match on both sides as you edit just one side of it. Great for faces and cars!
setting up a texture brush
Brushes can also be derived from Textures. This is way cool. Click on the 'Brush' tab, and then select and empty slot; you'll get a list of all the Textures in your Scene and you can pick one. Here I'm just using a Noise Texture called 'Tex'. I also upped the subdivision level another notch or two via the Multires. Cool thing with this is that you can turn it up or down as you need more speed or more detail when modeling (and rendering).
drawing with textures
Go back to the Sculpt Tab, pick Draw, then Sub, up the strength a little, and now when you draw on the model, it will take the Noise pattern and apply that directly to the mesh. Too cool!
resultant mesh
Have fun with Sculpting! As you can see it's a terribly powerful and fast way to create very complex models, and a wonderful addition to an already great tool!
 
Rev: 12/15/06
 
Hey! This little tutorial made it onto Blender Nation, the best Blog for all things Blender. Welcome everyone, hope you find this a help!
 

Space Invader Noguchi...

Got this prototype modeled up just the other day, playing around with other ideas that we could do for coffee table bases, and this one was too much fun so we're gonna do it. It's two of the Space Invaders, actually the same one in it's two 'positions' it flashes between while flying about sending screaming electric death to those below. Put them together, and they can make a table, ala Noguchi...

 

 

The top would be a thick piece of clear plastic, with the underside carved out in the shape of one of the 'space demons' that were painted on the side of the original stand-up arcade game. Here it is shown on a white shag rug (something I'm not neat enough to own, actually, so I just throw them into my renderings instead).

 

Still not certain what material to make it out of. The above renderings, all done in Blender (new version! woot!) and Yafray (finally getting the hang of that rendering engine), are thinking that it would be made from a thick, shiny plastic. But here's one out of wood, to give it a try...

Watch for this one, soon to be on the store! Oh yeah, we got a working store now! Double woot! 

Reception Desk Photos...

So here's some more pics of the recption desk we finished recently. We're super happy with how it came out! Modeled in Revit, with parts modeled in Blender, and cut via CNC out of sustainably harvested walnut, this was our first big complex job we did via our design process.



We love the red our client choose for the wall behind it, it really makes it pop.



That's the wing, the only part that was modeled in Blender (and cut from solid walnut). The rest was modeled in Revit (and cut from walnut veneer plywood, with the guts just being cheap rough plywood). All the wood in the desk is sustainably harvested. The finish is a nice dark walnut stain with a poly sealer over the top.



We had this hourglass custom-made. Seeing that this lobby design is based upon the Death Jr. game, the client requested an hourglass prop for the table. It's a working hourglass, as in it really takes an hour for the sand to go from the top to the bottom. We had it custom inscribed to say 'To Backbone: Thanks for making my kid look cool. Death' and the other side has their logo on it. Everyone loves it! And I kinda want one for my own desk now.



The client also wanted a classic phone for the desk to go with the overall look. Ebay to the rescue, we found this lovely little bakelite number. It's a great shape and has a really nice action on the wheel. Very satisfying technology, with a nice and heavy receiver and cloth cord.

Y'all will see a lot more photos of this lobby soon, for we'll be finishing up the rest of the job here shortly! There's a logo to go on the wall (that's 80% done) and a display wall we'll be putting up soon. Our first 'big job'! So excited...

Mudflap Girl Chair prototype...

Just a silly idea, but here's a chair prototype that we're thinking of doing, lots of different versions with lots of different profiles. But the first one, well:



What can I say. I grew up in Wyoming.

And I'm finally starting to figure out more about Blender. The profiles were modeled using curves, which can be given a thickness so that they become 3D solids (under the mesh settings, look for 'Extrude' under 'Curve and Surface'), and also were linked so that if you change one, the other changes too (via the 'Alt-D' shortcut). The seats were subdivision surfaces, simple meshes 'melted'. It was rendered in Yafray, which as you can see I'm still learning. Now to just figure out how to get flat profiles cleanly out of Blender for cutting on the CNC..

Design -> Revit -> Blender -> CNC -> real life!

Here's a sneek peak at a big job we're in the middle of. We're doing a lobby for a local game design company, and we're very excited about it. The overall theme of this lobby is based upon an orginal creative work (a fun PSP game and a neat comic) of this company called 'Death Jr'. It's theme is that you are Death's kid and you've got to save your dad (who's in trouble because of something you did). We loved this image of Death's desk in his study from the comic:

So we proposed to base the reception desk design off of it. We were very excited that the client liked the idea, and we designed and modeled the desk in Revit:


Which formed the majority of the desk. However, we wanted to do some very custom parts for the desk. We mocked up these wings for the front in Revit, but we wanted them to look more carved instead of flat. So I exported the wing from Revit into Blender, and then remodeled it until we liked the look:

And then we exported that model from Blender to the CNC toolpathing software, and then carved it out from a solid chunk of walnut we got from Pals down the street (certiified sustanably harvested, Pals rocks). Those extra bits in the model are to save some of the wood, so we're not carving it all away:

Then we sanded and finished the wing. We're very happy in how they came out:

They were a nice touch to the overall desk.

We'll be posting a lot more photos of this when we're done, but here's a sneak peak of what it looks like now:

OGLE: The coolest thing I've seen in a while! (or 3D screenshots-to-model!)

Wow, am I jazzed about this:

http://ogle.eyebeamresearch.org/
It's a tool that lets you take 3D 'screenshots' and save them down as 3D models. So, like, you open up Google Earth, hit a keyboard combo, and it saves what you're looking at as a 3D model. See, here's looking at the area surrounding my new gig:
I left my heart...
And here's that same 3D info grabbed out of Google Earth, Buildings and all, and then pulled into Revit:
...in San Francisco!

It works for games too. Some people are using it to generate 3D models of their Everquest/WoW characters, so that they can clean up the mesh and get them 3D printed. So that they can have a real-world little figurine of their in-game character. THAT'S SO COOL!

(image from the OGLE site)
Or, in my case, I could grab a model from something and then feed it to the CNC-table to make a real-world version!
It works like this, and it only works with programs that use OpenGL:
It's actually two tools, one that can siphon off the OpenGL system calls, and this OGLE tool that can then turn those calls into a .OBJ file.
Whenever your system is using OpenGL for anything, it's sending the 3D info you're looking at to the graphics card, which then draws it on the screen. It does this because it's faster that way than the processor doing that job instead. So once it's set up you hit a keyboard combo that you define to trigger it, it steps in and grabs a 'frame' of info, and then passes it to the OGLE tool, which then in turn turns that OpenGL data into a standard .OBJ file. You then can open that file in any 3D application, and in the above example I saved it out as a DWG using 3D Studio and then imported it into Revit...

Blender 2.40 is out...


The new version of Blender came out a little while ago, and man oh man, there is some good stuff in there! Some wonderful updates (modifiers and more), bug fixes (Python scripts work under Windows again), and some really neat things that were donated by Google's summer of code (soft bodies & fluids). My favorite so far has to be the FUR!

Too much fun. Fur tools are neat because you don't have to model those bits of hair, they are generated automatically upon render and based upon a set of controllable parameters. The hair can also be effected by wind, gravity, and other physics if you're an animator. It amazes me that what a few years ago cost many thousands of dollars to do now is available for free via open source. Viva la Open Source!
Blender talks nicely to my CNC software as well, so it's one of my main tools that I'm using, and you'll soon see some Blender -> CNC -> product how-to's soon. It's just great to see this software growing so quickly!

Follow-up to X11-over-SSH post, X11DisplayOffset explained!

OK, so a friend (one of the two people who read this Blog) explained to me more about the whole X11-over-SSH voodoo, and I thought I'd post it here as a follow up. I'm very proud to present that information to the other reader of my Blog, who probably knows it already:
So says my friend SPACEMONKEY:
Hey, I really liked that description of doing the blender  remote stuff (at http://www.becausewecan.org/node/23 ); in the whole 'spirit-of-blogging' thing, I might could shed some light on the X11DisplayOffset thing: Hope you've got some coffee...
In X, you're not limited to having a single remote host fooling around on your desktop (or vice versa). If you wanted to play with two, three, or (even) four other machines, all opening up windows on your laptop, X11 does this by having all those machines open sockets up to the Xserver running on your desktop (which the Xclient finds, typically, by a environment variable called DISPLAY). 'k?
Note this is a different model than, say, telnet or ssh; with those, you connect to the server and the server starts talking to you. With X, you run a program on the server and it connects back (opens up sockets) to your client.
Back in the golden days when no one cared about security (ie, when X11 was developed) that was swell. But, when you introduce ssh, it needs to be able to hijack (tunnel) all the socket data between two machines so it can be encrypted before going over the wire (otherwise it's just a quick packet sniff away from the cover of the NY Times).
Okay, back at the server side, you run a fancy program to look at pictures of puppies. The fancy program tries to open up a window, the local X instance creates a socket (just like normal)... but it can't talk directly to your laptop, as you're running ssh. But, ssh doesn't *know* you're running an X11 program and there's no way for it to (cleanly) know about programs you're running that talk to your laptop, so it can't intercept the socket calls it needs to tunnel the traffic back. And, furthermore, you could ssh into one machine, telnet from that machine to *another* machine, and run a program on that third machine which opens a window back to your laptop (all through the magic of X).







Twist Couch Idea

Here's a quick study of an idea I had for a couch. Not too happy with the renderings, I couldn't get Yafray to work out of Blender without crashing on this model, and I'm still redoing my linux machine over to Ubuntu so my Radiance (and hence Brad) isn't working too well yet either... teach me to go fiddlin' when I've got ideas to get out...

The big idea behind it is that it's the same twisted form that makes up the bottom and the back, it's just that one has been flipped over and the two have been 'nested' together.

It's sort of a 3D yin-yang made into a low mod-ish couch. You can see more & bigger images of it here in this photo album.
The form itself at first was inspired by a couch in a Glen Barr painting, but then once I came upon the flipping-and-nesting idea for the back, it quickly diverged away into what it is now...






Old Dogs, Old Tricks: Running Blender (or anything else) via X11 over SSH... Work from anywhere / any OS!

OK. I'm a big ol' Geek.
There.
I said it.
Anyways, here's a new trick I learned that's going to be very useful in the future. It's something all my Unix-God-Sysadmin friends chuckle at my excitement over (for they have been doing stuff like this for a very long time), but it's also something a lot of non-Unix-Gods don't know anything about. Also, seeing that the 80's are back, and that this was invented then, I figure it will be hip to bring it up again, retro-style, like wearing a bad t-shirt and listening to Old New Wave.
It's running things remotely via X11/OpenGL & SSH. What this means is that, in my case, I can run Blender, but have all the number-crunching-rendering happening on one computer (a cheap tower sitting under a desk) but yet have all the OpenGL-GUI-mousing happening on another (my laptop, which in this case doesn't even need to have Blender loaded on it).
This is a lot like Microsoft's Remote Desktop, however, instead of the whole desktop being shared, it's just the application window you're running remotely. And it also works on almost any computer. And it can be a lot faster than Remote Desktop or VNC, for the window-drawing effort is happening on the local computer, instead of on the remote and an image of it's desktop being sent over the Internet (and constantly refreshed) instead. Oh, and it's Free, which rocks.
So, in my Blender Example, when the OpenGL interface hits my laptop, my laptop's graphics card is doing all the work to draw the GUI, and the only thing that's passing back and forth along the Internet are the GUI's system calls back to Blender, which is actually running on the other computer altogether (again, it doesn't even need to be loaded onto my local machine).
So, in other words, it's real snappy on my end, but when I hit Render my CPU meter doesn't even spike, for the remote computer is doing the number-crunching for me (so it's double-snappy).

The X11 is the part that allows these application windows to be drawn remotely, and the SSH is the part that allows you to do it over the Internet from anywhere.