Jeffrey McGrew's blog

Upstairs Bookshelf 'round two... FIGHT!

So a second, more 'organic' approach to the upstairs bookshelf. I'm diggin' the idea of making it via these CNC-cut 'ribs'. While I think this one is interesting, there's a third version that I like a lot more (that I'll post as soon as I have time to generate a model of it).
Second Bookshelf Try...
Last week at the full-time gig, so hopefully I'll soon have time to get the website looking better, get the Shopbot put together, yadda yadda yadda... All for now, too busy to post more!

Idea for the upstairs bookshelf...

Working on a design for a bookshelf we want to make for our place. The plan is for it to be a big ol' U shape, for then the low middle part can act like a bench and the two 'towers' will frame what we hope to be in the future a screen (or the wall) for a video projector to aim at. This is being optimistic that someday we'll be able to afford said video projector, but hey, it's a cool shape to work with anyways and it would be good to have a better bookshelf up there.
Wavy Bookshelf
I don't like this one, but it's a start, and now back to 'real work'. I like the idea of the flipping shapes cut on the CNC table to make up the body, but it's too rigid and too 'woody'. I think I need to make it more organic...

The Best Thing Ever.

From it's wonderful royal purple/blue color to the cartoons in it's instruction manual to what it represents, I do believe that this here thing is the best thing I've ever been lucky enough to own.
The Shopbot made a sudden unexpected appearance today. And after a panic-stricken last-minute cleaning of the shop, and the truck driver being nice enough to help me break open the crate (nice crate too!) and unload the parts, I now have all the parts sitting on the floor to make my very own Robot, and man, I couldn't be more excited.
Cudos to the Shopbot folks. Everything's clearly labeled, the three-ring binder it came with is very well done, it was even shipped well. Should have called/e-mailed me first, so I knew it was on the way, so I could have been ready for it... well.. actually, I probably wouldn't have been able to sleep... so maybe it's for the best that it arrived suddenly.
When Jillian gets home, we'll take some pictures, and when we start to put the thing together we'll post that too. But for now, back to work, and I've got to cleaning to do to make room for it. Sorry for my posts being spaced so far apart, busy wrapping things up at the current gig and all that. Much more to come in October!

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...

Revit -> Shopbot, Conversions & Diversions

OK, with the Shopbot on the way, I've been working on how we are going to get models out of Revit and produced with the Shopbot.
The issue here is that the Shopbot isn't a 3D printer, it's more a 3D remover. While the software it comes with is great for cutting out parts from a flat sheet, or taking a bitmap image and producing a carved relief from it, it doesn't have anything for freeform complex 3D models. So while it's going to be great for carving out lots of stuff we have ideas for, I'd like to someday scale this whole CNC process up to making whole Buildings, or at the very least lots of parts that go into the Building... and to do that, I'll need to be able to take a complex 3D model out of Revit and have the shopbot generate it...
Here's an example part I quickly made in Revit by combining a solid blend and a void blend:

See, there are two parts in this, first off I need a way to produce the 'Toolpaths' that will direct the moves of the shopbot so that it carves this complex shape. To do that I'm looking at a bit of software that's called Millwizard, because it can output directly to a format that the Shopbot can use. Here's a image of this part, exported from Revit as a solid and then converted into a 3DS file, with some example toolpaths:

That red 'fuzz' of lines represent the passes that the router will have to take in order to carve out this shape. I left out the 'rough-in' cutting, where the part is initial quickly whittled down into a rough shape just for legibility (it would be too many lines, you wouldn't be able to see it).
This software not only figures out the toolpaths based upon the router bit you're using and the router/tool speed, but it will also figure out the 'layers' you'll need to stack if you're trying to make something that's thicker than you've got the ability to make.
For example, the Shopbot we ordered can only move up to 6" in the Z-axis, so if we wanted to make something very sculptural that's thicker than that, we'd have to do it in 6" layers. This software will figure that kinda stuff out for us. We'd also have to flip it over to be carved from the other side too, for the Shopbot is only a 3-axis machine, but we'll figure that out when we start working with it (I hope).
This is just a rough pass of testing, obviously that 3DS file could be better subdivided to be smoother...
But the general idea here is that Revit Families could be generated that make up pre-fab parts of a house, that house could be quickly designed and modeled, and then the parts that were used (in all their variations and sizes) could be exported out individually and either carved directly via the Shopbot or have molds generated via the Shopbot that then are used to cast the desired parts, and the house goes together like one big puzzle...
But first, baby steps, gotta clean out the shop, wire up an outlet, make some simple products to sell and/or consulting side jobs to fund the bigger dream...

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 its 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.

OK, so the how-to-do-this part:
First off: You'll need something that can run X11 on both ends. In my case, that's Cygwin on a Windows laptop (the local), and OS X or Ubuntu Linux on the server (the remote). If you're using Cygwin, you'll need to tell it to install X11 & OpenGL. If you're using an older version of OS X, you'll have to install X11 onto it (I think 10.3 and up have it built-in). I'm not going to talk too much about this here, for this isn't something that's too hard to get going. Most all flavors of Linux have X11 already installed (it's what Gnome/KDE/whatever use).
Second Off: Once you've got X11 on the local and remote machines, you'll also need to get SSH on both. It's built-in within OS X, but you'll need to install it on some Linux flavors and within Cygwin, too, if I remember correctly.
Third Off: You'll need some way for the two machines to find and talk to each other. You'll need the Remote machine's IP address and/or name (if you've got some kinda name server thing). You'll also need to make certain that port 22 (or whatever port you're going to use for SSH, 22 is the default) is open and not blocked by a firewall. Finally, you'll obviously need a login on the remote machine as well.
Fourth Off: Test your X11, make certain it works locally, and then test your SSH, and make certain you can talk with the remote machine just via a simple command line.
Fifth Off: OK, now's the only somewhat-tricky part. You'll need to edit your SSH configuration files to tell it to allow X11 forwarding on the remote machine. You'll need to find a file called 'sshd_config'. It's usually within /ECT/SSH/, however to keep things fun and interesting different folks put it in different places. Simply add these lines somewhere within it:
X11Forwarding yes
X11DisplayOffset 10
These tell it that it's OK for the SSH Daemon running on the server to forward the requested X11 windows out over SSH (duh) but I'm too stupid to know what the 'X11DisplayOffset 10' line is for...
Sixth Off (and we're on!): OK, now's the not-tricky-at-all-part. Fire up whatever runs X11 for ya (in my case, that's going into Cygwin and typing 'startx'), and run a new xterm by cleverly typing in 'xterm'. This is an X11 shell, and it should open up a new window. Now, type in 'ssh  -Y your_login@your_remote' (obviously, put in your login and your remote's IP/server name in there instead, and make certain that's an uppercase Y in there, for that puts it into a trusted mode that makes this work). Type in your password to your account on the remote machine, and hit enter. You should be presented with a simple command prompt on the remote machine. Let's test that it's working, so type in 'xclock' and hit enter. You should see a window pop-up with a clock within it (ooooh!). Now, simply run any normal command that uses a GUI by typing in it's name (ala 'blender' in my case) and lo and behold it's window will pop up on your local machine, but the program will be running on the remote machine. Welcome to the 1980's!

Now, why would you ever want to do this? Well, you can use this to easily slave any number of machines running Blender to your work desktop, send them into Rendering jobs, check on their progress easily, see the visual end result, and Get More Done from the comfort of anywhere with a fast Internet connection...
You can also use it to see the results of various X11-window-generating Radiance commands, like doing a test RAD, or viewing a Radiance picture...
You can use it to run software (like Radiance) that's only available for Unix-based systems from offa a Windows machine, but get to use your mouse and a GUI...
You can use it to run software that you're not allowed or don't want  to run locally due to your workplace, ala remote web-browsing, IM'ing, and the like...

Shopbot Acquired. Bonus x1000.

Hooray! We are the proud soon-to-be-owners of a PRT96 Shopbot!
A 'Shopbot' is a entry-grade CNC routing table, 4' x 8' x 6". It Cuts Things. Anything non-ferris, more or less.
It's got a great company and a great group of users behind it. We were able to score a cheap-but-new 'PRT' model vs. the newer, faster, better and more expensive 'PRTalpha' due to a special deal they have right now, due to having lots of left-over PRT motors left over from folks upgrading to the PRTalpha motors instead. So ours will be slower and less accurate, but since we're not a production shop (yet) I don't think it's an issue, and if it becomes one we can always upgrade later too. All told, we're under $7K, which is about half the cost of a new 'normal' CNC table out there...
This is a very exciting day, something we've been working towards for a long time now. Honestly, ever since I was a little kid, I've always thought of just having a Robot that would Make Stuff based upon what I drew, and, when older, and using 3D software (and later Revit) just wished that I could just go from the model directly to fabrication, instead of all the tedious documentation and inaccurate power tools...
We've got big plans for this machine. Furniture, Products, and someday maybe whole Buildings. From computer model to real-world model, baby! woot!
I knew that my becoming a big ol' Revit dork would pay off someday...
So... once we figure out how to make the Shopbot make another Shopbot, we'll TAKE OVER THE WORLD! Ahahaha!

Pages

Subscribe to RSS - Jeffrey McGrew's blog