Author Archive

Thingiverse Thursday, May 21st

codemoney_cute

It’s been way too long, but I finally got a free day to sit down and hack on the ‘verse. Here’s what I did today:

* small tweaks/improvements to the publish system.
* fixed a bug where you could see unpublished content (oops!)
* new derivatives now default to original license (thanks TMR)
* when you publish your thing, it gets bumped to the top of the newest things. (thanks TMR)
* some tweaks to the rendering system which may or may not make it better.
* cleaned up ‘made things’ / ‘instances’ page and added comments
* new email notification when people comment on the object you’ve made
* new email notification when people have made one of your objects.

Lots of little tweaks this week. Hopefully next week I’ll have a chance to work on some fun features I’ve been wanting for a long time.

Comments (1)

Thingiverse Thursday Updates

This is seriously my favorite day of the week lately. I sit down, hack on my favorite website and make it do new and cool things. Here’s what I did today:

* Fixed a bug that showed the delete icon on derivatives that aren’t yours. (thanks syvwlch)
* Added ‘Publish’ functionality so your blank thing doesnt get shown to the world until you’re ready
* Added a Derivatives listing and an Instances listing which show you the things other people have made

publish-thing

New Feature: Publish Thing

I’ve noticed that it generally takes 5-10 minutes from uploading your file to finishing the description and metadata so that it is a fully filled out thing. Well, now I’ve added a feature so that your thing does not show up publicly until you actually click Publish. It should be pretty in-your-face about it, so don’t forget to publish your things.

things-people-made

New Feature: Derivatives and Instances

Since I fixed the derivatives system last week, there have been a good number of derivative things, and people have been hitting the ‘i made one’ link pretty hard. This is awesome, but we haven’t really had a good way to see what things people are making. Well, now we do. I’ve added a list of derivatives and a list of things people have made to the homepage, as well as created listing pages so you can look over all the previous ones as well.

Oh, and you can get rss feeds of derivatives and things people have made as well. :)

Comments (2)

Just Wingin’ It

Pimp My Bot

So I was printing some tweezers I downloaded the other day, and they turned out really nicely because it was basically one big outline with very few starts/stops of the extruder. Playing with them, seeing how strong they were, and also looking at the cool profile they made got me thinking: Wow, this sort of looks like the profile of a wing! That idea got into my head, and I decided that I absolutely needed to try and 3D print wings of some sort.

3D Printed Wing

Unfortunately I’m barely a n00b at 3D modeling, and I don’t know the first thing about wing design, so I hit up the Thingiverse Community to see if anyone had any models or experience. It turns out that a few of our members are avid RC plane hobbyists and were quick to post a few wing designs here and here. Their passion about this technology was really refreshing, and it was cool to collaborate digitally on a physical object.

3D Printed Wing

The wings themselves turned out really nice. The grains are all in the direction of flow, and they are really smooth. If they don’t outright work, it would be a very simple 5 minute sanding job to get them absolutely perfect. I havent weighted them, but they are strong and light-weight. They are 70mm long, but I’m going to try and print ones that are 120-130mm next (current max build height) The only problem I have is that I don’t have access to any sort of wind-tunnel or RC plane to test them on. Does anyone want samples to play with?

3D Printed Wing

(reposted from the MakerBot Blog)

Comments (1)

Thingiverse Thursday Improvements

After missing the past 2 weeks, I finally managed to revive Thingiverse Thursdays, my weekly spend-an-entire-day working on Thingiverse and trying to make it better. Its easy to get caught up in all the various projects I’ve gotten involved in *cough* MakerBot *cough*, and I really love the site that Thingiverse is growing to be (and already is)

Anyway, here’s a short list of things I fixed:

* general look/feel improvements (edit page tab colors, logout link, download button, etc.)
* fixed the derivative system / i made something system so it now works properly!
* worked on Aviary API integration (coming soon!)
* built and released a new Notifications system. right now, you can get notifications when: someone comments on your thing, someone makes a derivative of your thing, and when the mods feature your thing.

i’m pretty psyched about notifications. we use js-kit, which is awesome. they just don’t offer any sort of ability to specify who should get comment notifications and it sucks. their APIs suck, so i wrote a script that scrapes the rss feed of all comments on thingiverse. once i had that, then i could do all sorts of fun stuff with the comment data. now you’ll be able to know when people comment on your things! you can set this all up in your user profile.

next up: add ‘publish’ functionality to your thing so that it doesnt go live right away, and i’d like to start work on a parts lister ala parts.reprap.org

Comments (1)

Spaceship “MakerBot” Sighted!

Greetings denizens of the Thingiverse. Scientists from the Automated Tools Nebula are reporting the sighting of a new and interesting craft dubbed the CupCake CNC. Early reports indicate that it is a cubic shaped machine capable of producing small objects in an automated fashion from a variety of materials including both plastic and frosting. Evidently the creators of the craft are a species that call themselves MakerBot Industries and claim to be the creators of the Thingiverse itself!

This preposterous claim may seem unsubstantiated at first, but as scientists we must give it a fair examination. As the Thingiverse has no known origin, we must rely on the knowledge gained from critical evaluation of the Thingiverse ‘Footer’. It seems that it has changed to now read MakerBot Industries which does imply that the two are related. Obviously more research is needed to determine the true nature and relationship between the two.

The leaders of the mysterious MakerBot Industries have asked that we play the following message to all the leaders of the various Galaxies in the Thingiverse.

Leave a Comment

Improvements!

Good news, friends.

First, the boring stuff: Thingiverse has moved to its own private, dedicated server. This means no more 503 Access Denied errors and no more crappy Dreamhost slowness. Our new server is through Completely Dedicated. We have a 3.2ghz P4, 2gigs of ram, a 36gig 10K hdd, and I’m loving it. Pages load faster. We can handle boatloads more traffic, and we have full control over the server. Yay!

Second, the cool stuff: I fixed the rendering bug SVG files were suffering from: the black background of death on large images. All the large SVG files now have a nice, white background and look absolutely GAWGEOUS! Any files you upload should be rendered properly and I even put all the previously uploaded SVG files back through the renderer to get fixed. I’m so nice!

Cheers,
Zach Hoeken
Thingiverse Hackinator

Pirate Space Invader.

Leave a Comment

Happy Holidays!

I know that Christmas is almost here, but if you’re a slacker like me and you don’t have presents yet, dont worry!  All you need is access to a laser cutter and you’re good to go.  The awesome users at Thingiverse have created some cool designs that you can download and print.  Then you’ll have some very unique and cool gifts!

First, there is the Vector Snowflake Generator which will guarantee you a unique (and hopefully beautiful) snowflake:

Second, we have a cool Christmas Tree Christmas Tree Ornament. So meta!

Last, but not least a NYC Resistor Snowflake Ornament that will be sure to put a smile on faces when you customize it and cut it with your laser.

Happy Holidays,
Zach Hoeken & Bre Pettis
Creators of Thingiverse

PS. Santa’s elves (aka me) are working on a cool present I hope to deliver shortly after Christmas. If you wanna be sneaky, check out /tools. ;)

Comments (1)

Infrastructure: New Image System

I’m happy to announce a major change to the Thingiverse internals.  I’ve spent the past few weeks working on a complete overhaul of the image system.  The old system was a quick hack just to get the ‘verse up and running and it quickly showed its shortcomings (ie: being directly tied to Flickr, only supporting Flickr image sizes, etc.)

The new system is the image engine I’ve always wanted to write:  it supports multiple size options, you can add images from any url on the web, by flickr ids, and yes even by uploading them directly.  Basically, if you have an image, you can easily get it on Thingiverse.

Of course those aren’t the only improvements I’ve made:  I’ve consolidated the images rendered from files with the images you’ve added (you can set a render as the thumbnail!)  I’ve also done some very extensive work on the rendering system itself and have managed to uncover a few deep-seated and rare bugs (and eliminate them)  The rendering system itself is much faster.  Previously, we were using a cron based system which would check an SQS queue every minute for new render jobs.  Now, we have a rendering daemon that will check the queue every second for new jobs.  Not only that, but the daemon uses fork() so render jobs are processed in parallel.  This technique has also been applied to the ‘finished jobs watcher’ that handles all of the finished job information.  The net result of this is that render overhead goes from a minimum of 120 seconds to a minimum of 2 seconds.   The whole process is a lot smoother.

Oh, and finally, in order to batch convert all of the previous images, I went through the legwork of setting up the rendering system on Amazon EC2.  You’ll be happy to know that the rendering system will happily scale up very nicely for when Thingiverse starts getting hundreds of uploads per minute, or when we start generating gorgeous raytraced flyby movies of the 3D models people upload.

Anyway, just wanted to poke my head out of the trenches and let people know whats happening in the Thingiverse.  The next major feature I have planned will be very cool and will be very useful. There may not be anything like it anywhere else on the internet.

PS. we now have a custom ‘not found’ image instead of piggybacking on the fail whale.  Yay!

Comments (1)

Thingiverse, SQS, and Open Source

Here at Thingiverse, we use a lot of open source software. Sometimes it works great, and sometimes it needs a bit of tweaking. Sometimes it needs a lot of tweaking. Here’s a story about how open source works for us. If we take a peek under the hood, Thingiverse has a distributed rendering system for producing web-friendly images of the various funky file formats that digital designs come in. To do this, we have 2 different ‘tiers’ of software: the front-end servers which serve up all the images, html, etc. and the rendering servers which take all the images (dxf, stl, png, etc) and render them to the lowest common denominator: jpg.

When I build things, and Thingiverse in particular, I want to build something of quality and power. Instead of rolling my own queue system, I decided to use Amazon’s SQS aka Simple Queue Service aka super-scalable queueing service. This is a simple little service allows me to put messages on the queue from one place, and get messages off the queue from another place. Thats about it. I use this (as well as Amazon S3) to let the front-end tell the renderers that there are jobs to be done. I also use it to let the renderers let the front-end know that jobs are finished. It works great and it was a really enjoyable system to write.

So, where is this all leading? In order to talk to Amazon SQS, you need some sort of API. I found a PHP class developed by Intellispire that implements it. It was a nice class, but unfortunately it was from 2006 and Amazon had changed the SQS protocol since then. I had to give the class a complete work-over in order to get it working properly with the new SQS and in the process slipped a few improvements in there as well. As a member of the open source community, I’d like to offer my new and improved version back to the community so that others may use and enjoy it.

You can download it here.

Comments (3)

Announcing Thingiverse.com or, “Why you need a RepRap machine”

One of the most frequent questions I get after people understand what a RepRap does, is a variant of either ‘Why do you need a machine like this?’ or ‘What do you make once you have one?’. Well, Thingiverse.com is an answer to that. This is no ordinary object sharing website. Thingiverse.com is a home for all your digital designs. If you can represent a physical object digitally, then we want it on Thingiverse. You can upload 3D files for a RepRap machine, vector files for a lasercutter, or even a PDF of instructions on how to buildh a sock puppet.

One of the tricky things with digital designs for things is that your average web browser doesn’t know an STL from a dodo, which is why we support automatic renderings of common digital design formats. If you give us a file, we’ll try our best to generate a rendering of it so that when people come to look at it or download it, they will be able to know what it is. We support STL, DXF, SVG, AI, and many other formats including Eagle PCB design files. Even if we don’t support rendering it, we’ll still put it up for other people to download. Not only that, but once we add support for your file, we’ll render the previously uploaded files of that type too. Yay!

The dream behind Thingiverse is that someday in the not so distant future, when everyone has a RepRap machine, they will be able to go to Thingiverse.com, find a useful/interesting/cool thing, download it, print it, and 15 minutes later be able to hold the actual thing in their hands. This is the coming revolution of digital fabrication and we want to help you make it happen. If you want to be involved, now is the time to step up and get involved.

Comments (3)