Marty McGuire

Archive for February 2011

Mon Feb 28

Thing-a-Day #28 - Finished an audiobook

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

After a long lazy Sunday spent catching up with old friends, I found myself in bed at 11:30pm realizing I had not done anything for thing-a-day.

And that this is okay. :)

Today I spent my bus ride from Baltimore to NYC, and a bit more time this evening, finishing the audiobook for Cory Doctorow’s For the Win.

For the unfamiliar, For the Win is a story about gold farmers (players who exploit in-game resources to sell them for real-world money) around the world coming together to fight for reasonable working conditions and pay.

I enjoyed both of the other Doctorow books I’ve read - Little Brother, Down and Out in the Magic Kingdom, and Makers - but the synopsis put me off of this one a bit at first.  My actual knowledge of gold farming extends only about as far as World of Warcraft music videos, so I just wasn’t that excited about it.

However, the story definitely grew on me. As usual, Doctorow does a really nice job of blending technology that’s “not quite here yet” and putting it to work in his stories. I’m a sucker for the near-future scifi. I’m also a sucker for obscure familiarity, so the odd coincidence I know someone who once worked at Coca-Cola games, the megacorp behind these towering virtual economies in the novel, was another good hook for me as well.  Story arc wise, there are compelling good guys and they encounter harrowing challenges at the hands of a colorful host of bad guys, from the misguided to the downright cruel, and I always enjoy the suspense.

Beyond these hooks, I also enjoyed being made to think about a great many more things that I expected to.  From stories of factory girls in China, to union organizers forced to live outside the system under a stream of false identities, to confidence scams and how they are played out on the small scale and the global scale alike.

So, my thing for today is the review you have (hopefully) just read. I hope that you enjoyed it.


I must say that, despite missing a day, I am quite pleased that I have managed to stick so well to thing-a-day this February.  I definitely learned a lot!

I went in with a lot of grand ideas about being able to knock out one little piece of a bigger project every day, but quickly found that little pieces are a lot bigger than I expected. I often found myself without a plan for a given day, and would (grumpily) have to both come up with something to do and then do it.  Still, this approach worked well in the beginning.  A bit more time spent refining my larger projects into little deliverables over the month could have gone a long way towards making it easier to stick to the commitment and towards the completion of a bigger project.

Complications aside, I made some awesome stuff that I might have never found the time for otherwise!  It is always easy at the end of a day to say “Meh, I’ll do those things later.” Having the thing-a-day structure meant that I was almost always making progress on something, even if it was frivolous, and it is nice to recognize little accomplishments, sometimes.

Anyway, thanks to those who followed along.  Let’s keep making stuff!

–Marty

Sun Feb 27
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Regi's American Bistro, Baltimore, MD.
Sat Feb 26

Thing-a-Day 2011 #26 - "Improved" scribbling in JavaScript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I played with the mouse coordinate handling a bit to try and compensate for the rotation, but it's still not great. For some reason, up-and-down movements seem to track well, but left-right movement causes the drawing point to move up and down relative to the cursor.

My guess is that I am just being bad at "the maths" and that I'll get it figured out later. :)

Derp
Play here: http://schmarty.net/hershey_js_demo/
Fri Feb 25
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Mount Vernon Stable & Saloon, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Joe Squared Pizza & Bar, Baltimore, MD.

Thing-a-Day 2011 #25 - Scribbling in SVG (+Hershey font typing)

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Added some scribbling to my little JavaScript app, which also gets saved to the SVG.

It's not great (my insistence on making these things map to the sticky note image means they don't line up right with the mouse), but it works!

Scribbs
As before, you can play with it here: http://schmarty.net/hershey_js_demo/
Thu Feb 24

Thing-a-Day 2011 #24 - Hershey Fonts in JS, now sized for Unicorn Plotting!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I tweaked my little Hershey Fonts in JavaScript toy a bit. Now, the SVG data that it produces is at the right size and scale to plot on a sticky note on a MakerBot Unicorn.  Save the SVG content, load it in Inkscape, and save it as .gcode using my Inkscape extension for Unicorn.

At long last, after a bunch of little thing-a-days, I can write out a sticky-note:

Belaird
Save the SVG data and open it in Inkscape:
Belaird-inkscape

And save it as G-Code for plotting on the Unicorn!

Belaird-gcode

Matt Griffin was kind enough to plot it for me on one of the Thing-O-Matics at the BotCave:

Belairicorn

... sorry for the Bel-Air... :)

You can play with it here: http://schmarty.net/hershey_js_demo/

Wed Feb 23
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Black Sheep Pub, Brooklyn, NY.

Thing-a-Day 2011 #23 - SVG Output for Hershey fonts in JavaScript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I really wanted to get SVG manipulation going in this demo, so I have ported the rendering (once again), this time using the jQuery SVG lib, which is really nice and easy to use: http://keith-wood.name/svg.html

Hershey-js-svg-output
You can play with it here: http://schmarty.net/hershey_js_demo/index.html
Tue Feb 22
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Joe Squared Pizza & Bar, Baltimore, MD.

Thing-a-Day 2011 #22 - Hershey Fonts in JS - on a Sticky Note!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Ok, this is more a kind of clever image arrangement than anything else, but it looks nice, I think.

Writing_on_a_sticky_note

You can play with it here: http://schmarty.net/hershey_js_demo/index.html

Until I change it again!

Mon Feb 21

Thing-a-Day 2011 #21 - Auto-scaling Hershey fonts in JavaScript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Ok, this is kind of fun, even though the code is very naive.

I've added a height-check at the end of my line-breaking code. If there are too many lines of text to fit within the allowed space, the algorithm will rescale everything and try again:

Auto_scale_hershey_js
This isn't great for real-time text flow, but it is fine for fitting text, I think.
Sun Feb 20

Thing-a-Day 2011 #20 - Hershey fonts in JavaScript on the canvas

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I haven't been making as much progress on my "draw things in the browser so a robot can draw them on the Unicorn" project, so I decided to take a stab at cleaning things up a little to make that easier.

Today I rewrote my little demo to use canvas 2D instead of Raphael.js.  It looks the same, for the most part:

Hershey_js_canvas
But being in canvas land instead of Raphael land means I can do real stacked transforms easily, without having to keep track of them myself. For instance: ROTATION!

Canvas_rotated
Sat Feb 19
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Joe Squared Pizza & Bar, Baltimore, MD.
🛠 Made a copy of Cube Gears by emmett.

Thing-a-Day #19 - Cube Gears!!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Today I finished and assembled the awesome Cube Gears by Emmett from Thingiverse!

They are so much fun to turn. Printable working gears for the win!

http://www.thingiverse.com/thing:6073

Photo
Fri Feb 18

Thing-a-Day #18 - Tweaking the Stepstruder MK6 on a Cupcake CNC

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Today I spent some time configuring my MakerBot to work well with the new (awesome!) stepper based plastruder from MakerBot.

The pieces shown here are from the Cube Gears on Thingiverse: http://www.thingiverse.com/thing:6073

Photo
Thu Feb 17
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Club Charles, Baltimore, MD.

Thing-a-Day 2011 #17 - Simple line-wrapping for Hershey JS demo

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I've decided to slowly expand this drawing-stuff-in-the-browser demo, and added some simple line-wrapping to the code on my demo page:

http://schmarty.net/hershey_js_demo/

Word wrapping is an interesting topic, and I hope to get this cleaned up a bit with features like breaking up words if they are too long, improving the algorithm to make nicer "squared" paragraphs, etc.

Line_wrapping_hershey_js
Wed Feb 16

Thing-a-Day 2011 #16 - Live demo of Hershey Fonts in Javascript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I made this demo a while ago to test out my ability to render Hershey text with JavaScript, but it is kind of a fun toy, so today I put it online for you folks to play with.

It's a simple HTML and JS page powered by jQuery (for awesomeness) and Raphael,js (for SVG drawing). As always Hershey fonts are interesting.

You can find the demo here: http://schmarty.net/hershey_js_demo/

Hershey_js_demo
Tue Feb 15

Thing-a-Day 2011 #15 - How-To docs for Inkscape Unicorn extension

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

It's about time this stuff was documented for other people to use easily!

So, I made this page on the MakerBot wiki:

http://wiki.makerbot.com/unicorn-output-for-inkscape

Unicorn_g-code_output_extension_for_inkscape_-_makerbot_industries
Mon Feb 14

Sticky Note Tweet

Files

tweet.svg
85069 bytes. Updated

This work is licensed Creative Commons - Attribution.

Description

Experimenting with laying out tweets on a sticky note. Thinking about some fun automated Unicorn plots.

Unfortunately, once again, I am not home to plot this. I will try to put up pictures later, but feel free to give this a shot in the meantime.

Feedback welcome!

Instructions

To Plot

Using the Unicorn Inkscape extension: http://www.thingiverse.com/thing:5986

  1. Load tweet.svg in Inkscape
  2. Save as G-Code
  3. Plot

To Edit

  1. Edit the user_card, text, and timestamp layers. You’ll want to break up the groups.
  2. Use the Hershey Text extension for nice single-stroke text: http://www.evilmadscientist.com/article.php/hershey
  3. Plot.

To Change the Icon

  1. Grab your Twitter icon as a .JPG
  2. Import it into Inkscape.
  3. Select it and use the Path | Trace Bitmap option.
  4. Choose “Brightness Steps” under “Multiple Scans” and set it to 8.
  5. Select the result, remove the fill, and set the stroke to black. Tweak to your satisfaction.

Thing-a-Day 2011 #14 - Sticky Note Tweet template for Unicorn

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I've been toying with the idea of cool automatically generated plots for the Unicorn pen plotter. This one is an experiment in laying out a tweet for plotting on a sticky note.

It should be possible, layer, to use this as a template for creating new plots! Could be kind of fun.

Feel free to grab the file on Thingiverse.

http://www.thingiverse.com/thing:6425

Tweet
Sun Feb 13

8-bit Heart

Files

bitheart.stl
11484 bytes. Updated

This work is licensed Creative Commons - Attribution.

Description

Just in time for Valentine’s Day, it’s an 8-bit heart from my favorite video game series.

From Nintendo to me to 3DTin to you!

Instructions

Print as many as you have containers for. Red plastic is recommended.

Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at City Cafe, Baltimore, MD.

Thing-a-Day 2011 #13 - Cardboard spool for MakerBot plastic

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Inspired by Charles Pax’s design, but painstakingly faked with a ruler, pencil, string, and scissors. I also picked up a lazy susan for it to ride on, so I just need to get a plastic drawer to mount it all to.

http://www.thingiverse.com/thing:1550

Photo
Sat Feb 12

Thing-a-Day 2011 #12 - Blackout dinner

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

This is a bit silly, but sometimes thing-a-days can be silly, right?

The power in our apartment building went out while I was making dinner. The rice managed to mostly finish, so I decided I'd heat up this pouch of kidney bean curry over a candle. The aluminum pouch spreads the heat nicely, I just need to pick it up and squish the contents around every couple of minutes to make sure everything is heated evenly.

Photo
Fri Feb 11

*sta

Files

starsta.stl
1133121 bytes. Updated
star.svg
3782 bytes. Updated
starsta.gcode
4162681 bytes. Updated

This work is licensed Creative Commons - Attribution - Share Alike.

Description

After seeing Allan’s “*sta” post on the Thingiverse blog[1], I couldn’t help but actually make the “star-sta” a reality.

This is technically a derivative of yzorg’s Gangsta[2], but since I haven’t actually printed it, I don’t feel right clicking “I Made One”.

Thanks to tbuser for his 2D to 3D tutorial[3] which has the right pstoedit voodoo required to export things sanely from Inkscape to OpenSCAD.

Thanks to Inkscape for having a Star tool.

Thanks to MCAD for the oval generation code.[4]

Thanks to OpenSCAD for making ridiculous things like this possible.

Thanks to cibomahto for creating this mash-up madness.

[1] *sta - http://blog.thingiverse.com/2011/02/10/sta/
[2] Gangsta by yzorg - http://www.thingiverse.com/thing:5367
[3] 2D to 3D - http://tonybuser.com/2d-to-3d
[4] MCAD - https://github.com/elmom/MCAD

Instructions

Want your own *sta?

  1. Scale.
  2. Skein.
  3. ‘sta.

If you’d like to tweak the model, you’ll also need the gangsta.stl from yzorg’s Gangsta (linked above), then:

  1. ‘SCAD.
  2. Scale.
  3. Skein.
  4. ‘sta.

Thing-a-Day 2011 #11 - *sta (a.k.a. "Starsta")

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Thingiverse has recently caught mashup fever, and our current LOLcat/exploitable seems to be this awesome Gangsta by yzorg.

When I saw Allan's "*sta" post on the Thingiverse blog, I got the mash-up bug and had to make this:

Starsta
Want to make your own *sta? Just grab the model from Thingiverse.
Thu Feb 10
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Joe Squared Pizza & Bar, Baltimore, MD.

Thing-a-Day 2011 #10 - A lot more Baltimore Node ping-pong balls

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Because... it's fun!

Node_ballz
I took my EggBot to the Baltimore Node this evening and plotted out a bunch of ping pong balls with our logo in 2-colors.

EggBotting is kind of zen.

Wed Feb 9
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Turp's, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Land of Kush, Baltimore, MD.

Thing-a-Day 2011 #9 - Plots of the 2-color Baltimore Node logo!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I made this version of the Baltimore Node logo the other day in Inkscape, but wasn't at home to test it. Here are the resulting plots on both EggBot and Unicorn!

The Unicorn version came out a little messed up due to my sizing the file wrong - the pen went off the edge of my sticky note pad and mussed everything up. I resized the plot to fit the sticky note fine, but had some pen registration issues with the now-crumpled sticky note pad. I'll probably try this again later with some nicer stock.

New files and more detailed description over on Thingiverse.

Node-2-color-eggbot
Node-2-color-unicorn
Tue Feb 8

Thing-a-Day 2011 #8 - Hershey font rendering in JavaScript with Raphaël

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

After exporting a bunch of Hershey vector fonts to SVG the other day, I was concerned that the next step in using them in a program would be painful. Specifically, I expected to have to create a mapping from each ASCII character I care about to the individual glyphs that represent them.

Halfway through a couple of different strategies for making the mapping easy, I realized that these fonts are, for the most part, already aligned with ASCII.  So, the "space" character (ASCII 32) is the first glyph in most of the Hershey fonts, and the other characters follow thereafter. So to get the glyph for a given ASCII, I just have to pull it out of the array at glyph[character - 32].

My code for this is starting to take shape, but it's not useful (or clean) enough to share, yet. Still, it is worth a nice picture:

Hershey_fonts_in_js

I'm having a really good time doing Thing-a-Day. It's been very challenging to find the time to keep going, but each time I do I am quite happy with what I'm able to produce. The undeniably awesome part is that these things are all adding up to bigger projects I would have never had time to tackle, otherwise!

Update: I could not resist adding a text field and going crazy with live rendering:

Hershey_font_js_lulz

 

Mon Feb 7

2-color Baltimore Node logo (Unicorn and EggBot)

Files

node-logo-2layer-75x75.svg
11034 bytes. Updated
node-logo-2layer-eggbot.svg
11319 bytes. Updated
node-logo-2layer-75x75.gcode
17439 bytes. Updated
⮩🛠 This is a derivative of Baltimore Node logo (Unicorn) by schmarty.

This work is licensed Creative Commons - Attribution.

Description

To go with the new multiple-color plotting functionality of my Unicorn G-Code Output extension for Inkscape, here’s a new version of the Baltimore Node logo.

This one is ready to plot in 2 layers - all of the black parts at once, followed by all of the blue ones, with a pause at the beginning of each layer to allow a pen change.

I also made use of my Hershey Fonts in SVG to make the word “baltimore” more readable after plotting. This should make it look nice, for example, on an EggBot.

UPDATE!

I forgot to resize the original for a sticky note pad (whoops!) and I was right that the EggBot version needed layers beginning with a number.

Updated files attached and pictures added!

Instructions

If you have a Unicorn, try out the attached G-Code. It’s set to start with the pen centered over 0,0 and fits on a sticky note pad (75mm x 75mm).

If you have an EggBot, try plotting the SVG using the Layers dialog. Layer 1 is black, Layer 2 is blue.

Thing-a-Day 2011 #7 - 2-Color Baltimore Node Logo Plot

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I'm on the road and away from my MakerBot, etc., but I've created a version of the Baltimore Node logo that should be plottable in 2 colors using either the MakerBot Unicorn or the EggBot! I also replaced the outline text we were using with a Hershey Font version using the SVGs I posted yesterday.

Another tweak - I played around with Inkscape's XML editor to get these things into layers. It's a neat trick, but kind of a pain. I also reordered several of the paths for better and/or more interesting drawing order. I'll see how it turns out when I get back to my bot.

You can find it on Thingiverse: http://www.thingiverse.com/thing:6204

And here's what Posterous does with the SVG when I upload it. No promises that it will be useful for anything.

Node-logo
Sun Feb 6

Hershey Fonts in SVG

Files

hershey_svg.zip
149280 bytes. Updated
hershey.zip
107203 bytes. Updated
astrology.svg
32309 bytes. Updated
cursive.svg
20791 bytes. Updated
cyrilc_1.svg
22660 bytes. Updated
cyrillic.svg
23636 bytes. Updated
futural.svg
15480 bytes. Updated
futuram.svg
22512 bytes. Updated
gothgbt.svg
35125 bytes. Updated
gothgrt.svg
36666 bytes. Updated
gothiceng.svg
35041 bytes. Updated
gothicger.svg
36582 bytes. Updated
gothicita.svg
30219 bytes. Updated
gothitt.svg
30303 bytes. Updated
greek.svg
16383 bytes. Updated
greekc.svg
21662 bytes. Updated
greeks.svg
15541 bytes. Updated
japanese.svg
55942 bytes. Updated
markers.svg
5566 bytes. Updated
mathlow.svg
16193 bytes. Updated
mathupp.svg
15783 bytes. Updated
meteorology.svg
16078 bytes. Updated
music.svg
26086 bytes. Updated
rowmand.svg
23433 bytes. Updated
rowmans.svg
15379 bytes. Updated
rowmant.svg
31035 bytes. Updated
scriptc.svg
25598 bytes. Updated
scripts.svg
22608 bytes. Updated
symbolic.svg
19740 bytes. Updated
timesg.svg
22309 bytes. Updated
timesi.svg
23030 bytes. Updated
timesib.svg
30928 bytes. Updated
timesr.svg
21818 bytes. Updated
timesrb.svg
30830 bytes. Updated
math-drawing.svg
8619 bytes. Updated

This work is licensed Public Domain.

Description

Making text for Unicorn or EggBot plots isn’t always a fun process. Most tools require you to convert text into paths, and even then you get the outlines of shapes, which can often turn messy at small sizes.

mifga pointed me towards the Hershey fonts[1]. They’re a set of fonts for vector plotters named after creator Dr. A. V. Hershey who made them for the National Bureau of Standards.

These files are in a weird, weird, format. But after some normalizing, wailing, and gnashing of teeth, I was able to write some code to parse them and spit them back out as SVG! Now you can use these fonts in your Unicorn drawings.

Each SVG contains a layout of one of the Hershey fonts. The hershey_svg.zip file below contains all of the SVG files. The hershey.zip file contains the (cleaned up) original .jhf files. math-drawing.svg is just an example of using these glyphs, including scaling and stretching. I think the result is nice!

To use these in Unicorn plots, you’ll want to grab my Unicorn G-Code extension for Inkscape[2].

[1] Hershey fonts - http://emergent.unpythonic.net/software/hershey
[2] Unicorn output for Inkscape - http://www.thingiverse.com/thing:5986

Instructions

To use these fonts in your Unicorn plots:

  1. Download the SVG file containing the font of your choice, or grab the whole hershey_svg.zip to get them all.
  2. In your Inkscape drawing, use File | Import to load the font you want
  3. Drag around and duplicate the characters that you want to use.
  4. Delete the ones that you don’t.
  5. Plot it!
    • (Unicorn users) Save your file and Save a Copy to get your .gcode!
    • (EggBot users) Plot directly from Inkscape. :)

Thing-a-Day 2011 #6 - Hershey Fonts in SVG

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I just posted these guys over on Thingiverse!

Making text for Unicorn plots isn't always a fun process. Most tools (even my Inkscape plugin) require you to convert text into paths, and even then you get the outlines of shapes, which can often turn messy at small sizes.

mifga pointed me towards the Hershey fonts. They’re a set of fonts for vector plotters named after creator Dr. A. V. Hershey who made them for the U.S. National Bureau of Standards.

These files are in a weird, weird, format. But after some normalizing, wailing, and gnashing of teeth, I was able to write some code to parse them and spit them back out as SVG! Now you can use these fonts in your Unicorn drawings.


Hooray-math Music

To use these in Unicorn plots, you'll want to grab my Unicorn G-Code extension for Inkscape.

Instructions

To use these fonts in your Unicorn plots:

  1. Download the SVG file containing the font of your choice, or grab the whole hershey_svg.zip to get them all.
  2. In your Inkscape drawing, use File | Import to load the font you want
  3. Drag around and duplicate the characters that you want to use.
  4. Delete the ones that you don’t.
  5. Save your file and Save a Copy to get your .gcode!
Sat Feb 5
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Aloha Sushi, Baltimore, MD.

gml2unicorn - Graffiti Markup Language to Unicorn G-Code

Files

gml2unicorn.py
2237 bytes. Updated
20226.gcode
4189 bytes. Updated
20226.gml
29892 bytes. Updated

This work is licensed BSD License.

Description

When I first heard of Graffiti Markup Language (GML)[1] I was like “An XML format for graffiti? Pfft!” Then yesterday I was like “Wait, I have a pen plotter.”

There are a ton of tags for you to play with at 000000book[2], so go get some files and start tagging … with post-it notes!

Updates

Watch for updates on GitHub:

https://github.com/martymcguire/gml2unicorn

[1] http://graffitimarkuplanguage.com/
[2] http://000000book.com/

Instructions

Installation

To use this script, you’ll need to have Python and the PyGML library installed:

https://bitbucket.org/keegan3d/pygml

Usage

  • Edit the configuration section of gml2unicorn.py to match your Unicorn plotting preferences.
  • Acquire a GML file. 000000book is great for this.
  • python gml2unicorn.py my_graffiti.gml > my_graffiti.gcode
  • Load my_graffiti.gcode in ReplicatorG
  • Build!

Thing-a-Day 2011 #5 - Graffiti Markup Language (GML) to Unicorn!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

When I first heard of Graffiti Markup Language (GML) I was like "An XML format for graffiti? Pfft!" Then yesterday I was like "Wait, I have a pen plotter."

gml2unicorn is a Python script that will take GML files and convert them into G-Code compatible with the MakerBot Unicorn pen plotter.

Gml Gml-orig
Learn more on Thingiverse, or grab the code on GitHub.
Fri Feb 4
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at City Cafe, Baltimore, MD.

Thing-a-Day 2011 #4 - Pen-Changing!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Once again, I'm work on the MakerBot Unicorn G-Code Output extension for Inkscape.

Today's update is kind of a simple-but-clever hack, inspired by the code for EggBot.

It lets you create multi-color plots by putting paths of different colors on different layers. For example to create this image:

Thing-a-day-unicorn-2-color
I put the text on a layer named "text" and the unicorn logo on a layer named "unicorn".

Inkscape-unicorn-layer-pause
And selected the new "Pause on layer change?" option!

When plotting, everything pauses before starting a new layer and I get the message "Plotting layer '[LAYERNAME]'". I can use that pause as an opportunity to change out the pen, as I did in this example, using a black pen for the text layer and a blue pen for the unicorn layer.

Thu Feb 3
🛠 Made a copy of Inchworm Caterpillar by mifga.

Thing-a-Day 2011 #3 - Copies and continuous plotting for inkscape-unicorn

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

The the MakerBot Unicorn G-Code Output extension to Inkscape I've been working on so far for Thing-a-Day now has a new feature - support for copies and continuous plotting!

I've incorporated mifga's multi-sheet print-to-pad hack to prompt for changing sheets between copies. I've also added support for plotting sheet-after-sheet, continuously, using the "M30" G-Code, which causes ReplicatorG to start the program over from the beginning, effectively running until you stop it yourself.

For the curious: have some diffs on GitHub! Also, pictures:

Thing-a-day-unicorns Inkscape-unicorn-copies
Wed Feb 2
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Turp's, Baltimore, MD.
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.

Thing-a-Day 2011 #2 - New features for inkscape-unicorn: pen registration and homing support

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Today I made some improvements to the inkscape-unicorn plotter extension that I released yesterday.

Inkscape-unicorn-reg-and-homing

Specifically, I've added two things:

  • The option to do a pen-registration check at the beginning of each plot, taken from mifga's original.
  • The option to set where "home" is, for people who like to start their plots with the platform anywhere other than in the center.

This should help make some nice plots!

Tue Feb 1
Map tiles © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
📍 Checked in at Baltimore Node, Baltimore, MD.

Unicorn G-Code Extension for Inkscape

Files

martymcguire-inkscape-unicorn-43629f0.zip
10222 bytes. Updated
inkscape-unicorn.svg
37763 bytes. Updated
inkscape-unicorn.gcode
30111 bytes. Updated

This work is licensed GNU - GPL.

Description

One problem that has often plagued users of the MakerBot Unicorn[1] is the long and confusing chain of tools required to go from a nice vector drawing to a G-Code file that can be plotted from ReplicatorG.

mifga did an awesome tutorial[2] that made it possible to understand the steps needed to work all of these tools, but it was obvious that something better was needed.

So, I made a mashup of scribbles.py[3] and the Egg-Bot Driver for Inkscape[4] to bring you the inkscape-unicorn extension for Inkscape!

Once installed, this extension allows you to save files in “MakerBot Unicorn G-Code (*.gcode)” format!

Learn more, download, and contribute at the GitHub page for this project:

https://github.com/martymcguire/inkscape-unicorn

If you’re desperate, you can also download the zip file attached to this thing, but it is guaranteed to be out of date. Please get the latest version from GitHub. :)

Thanks to langfordw for the original Unicorn Logo[5] used as an example on this Thing.

UPDATES!

I’m updating and adding features to this script as my first days for the February Thing-A-Day. Updates below:

[1] Unicorn - http://store.makerbot.com/makerbot-unicorn-pen-plotter-kit.html
[2] mifga’s Unicorn Tutorial - http://wiki.makerbot.com/unicorn-tutorial-01
[3] scribbles.py - https://github.com/makerbot/Makerbot/tree/master/Unicorn/Scribbles%20Scripts
[4] Egg-Bot Driver for Inkscape - http://code.google.com/p/eggbotcode/
[5] Unicorn Logo by langfordw http://www.thingiverse.com/thing:4197

Instructions

From the README:

Install

Copy the contents of src/ to your Inkscape extensions/ folder.

Typical locations include:

  • OS X - /Applications/Inkscape.app/Contents/Resources/extensions
  • Linux - /usr/share/inkscape/extensions
  • Windows - C:\Program Files\Inkscape\share\extensions

Usage

  • Size and locate your image appropriately:
    • The CupCake CNC build platform size is 100mm x 100mm.
    • Setting units to mm in Inkscape makes it easy to size your drawing.
    • The extension will automatically attempt to center everything.
  • Convert all text to paths:
    • Select all text objects.
    • Choose Path | Object to Path.
  • Save as G-Code:
    • File | Save a Copy.
    • Select MakerBot Unicorn G-Code (*.gcode).
    • Save your file.
  • Preview
    • For OS X, Pleasant3D is great for this.
    • For other operating systems… I don’t know!
  • Print!
    • Open your .gcode file in ReplicatorG
    • Set up your Unicorn and pen.
    • Center your build platform.
    • Click the Build button!

Thing-a-Day 2011 #1 - Unicorn Pen Plotter extension for Inkscape!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I spent some time this weekend making this plugin and today went through the process of releasing it via GitHub and posting it to Thingiverse: http://www.thingiverse.com/thing:5986

Inkscape-unicorn

One problem that has often plagued users of the MakerBot Unicorn is the long and confusing chain of tools required to go from a nice vector drawing to a G-Code file that can be plotted from ReplicatorG.

mifga did an awesome tutorial that made it possible to understand the steps needed to work all of these tools, but it was obvious that something better was needed.

So, I made a mashup of scribbles.py and the Egg-Bot Driver for Inkscape to bring you the inkscape-unicorn extension for Inkscape!

Once installed, this extension allows you to save files in “MakerBot Unicorn G-Code (*.gcode)” format!

Learn more, download, and contribute at the GitHub page for this project:

https://github.com/martymcguire/inkscape-unicorn

If you’re desperate, you can also download the zip file attached to this thing, but please consider getting the latest version from GitHub. :)

Thanks to langfordw for the original Unicorn Logo used as an example on this Thing.