Skip to Content

Work

xrayspx's picture

Converting Visio Stencils to OmniGraffle

Someday, we'll live in The Future, I swear it.

Last year I bought OmniGraffle 4 Pro, I really, really like that app, and it makes using Visio seem like self torture. Now only if the formats were open all the way around...

The thing that has held me back with OmniGraffle is the lack of stencils. Graffletopia does a great job, but I find myself using the Apple or Dell (mixed with the Sun, Netapp, etc) stencils that aren't really representative of my hardware, and I feel that it just doesn't seem that professional when I hand my boss a network or rack diagram that has all this disparate hardware that doesn't match anything we actually own. I have a lot of Visio stencils, some of which DO work in Omnigraffle using their preferred import method: Make a new drawing in Visio, drop your objects on there, save it as an xml drawing, and import that into OmniGraffle. The problem is that for a huge percentage of stencil sets, you get an error that you can't load the EMF data and get a grey rectangle or munged object.

Many people have been recommending blowing the objects way up in Visio and using a screenshot, or exporting the document from Visio as a PNG or some such. This will get you your objects, but they'll be raster images and you will lose both detail and the ability to scale them. What makes Visio and Omnigraffle (and PDFs, and Illustrator) work so well is that your objects are vector images and are scalable in all directions while maintaining quality.

To import those objects which don't convert properly, I've started using the following method, which isn't perfect, but the objects do come across, and you don't have to rasterize them.

I am using:
Visio 2002 in a Windows XP VM
Illustrator CS3
Omnigraffle 5 Pro

Go into Visio, create a document and populate it with some of the objects you want to convert. I've found that if I really load this up, it doesn't work so well. Save this document as .emf or .wmf (enhanced metafile or windows metafile). Oddly I've found that CS3 doesn't like the .ai files saved out from Visio 2002. YMMV. This would obviously be the preferred way to move files around, assuming it works.

Open the saved file in Illustrator on the Mac. You may have to ungroup/regroup your object and sub-objects. When you're ready, cut and paste your object from Illustrator into Omnigraffle using CMD-C and CMD-V. Dragging them from one app to the other didn't seem to work exactly as I would have expected.

Now, in Omnigraffle, click the gear icon in the Stencils panel and select "new stencil". This will open up a canvas that you can copy your new object into after whatever tweaking you want to do. In Omnigraffle 4, this is done with the Stencils menu instead.

There should be simpler ways to do this, but I haven't found any that produce results of the same quality with as few steps. I've found that you can use OpenOffice or NeoOffice to open the emf/wmf files, and then follow the same steps to import the objects, but it seems the NeoOffice rasterizes the files, so while it does work, you lose some detail. I'm also looking for other methods. Inkscape does a great job of opening and editing PDF documents, but doesn't seem to save in any vector format that can be loaded by Omnigraffle (mainly saves in SVG variants). Omnigraffle claims to be able to open PDFs, but I haven't had good luck with that in the Real World.

If I find an easier way to get quality stencils from Visio into Omni, I will update the page. In either case, I'll add screenshots soon enough.

I also wouldn't blindly upload any stencils you create to Graffletopia without running by them or the original stencil distributor, as that would almost certainly put you and Graffletopia both in hot legal water.

xrayspx's picture

Sprung

[music | Nick Cave & The Bad Seeds - Albert Goes West]

The gutters of Newton are filled with the corpses of spring.











Whoops

This is the saddest thing I saw all day. I really can't think of a more appropriate way for things to play out though. Dying to protect his tiny piece of rock, protecting it from someone who really loved him, but wanted to take his rock away.

I remember very little about that book because I never really read it when I was a little kid. I was way too damaged, and I probably still am. But that story sums up a lot about warring over politics.

Also, if the German had held up, it could have easily been "95 year old French author shoots down superfan".

xrayspx's picture

Tools and Hacky Stuff

Here are some tools I've written which could be of use to other folks. It's going to be mostly Cisco related, some of which is still being formatted before I upload it, more to come.

CSSManager is a tool to simplify suspending and activating services in a Cisco CSS load balancer. It adds a couple of features like the ability to "lock out" a server and to add comments to a suspended machine to give context for its suspension. More features to come.

CSSPump A tool to display at a click the state of all services on a Cisco CSS 11000 series load balancer. It reads the comments set by the CSSManager above and adds them to the display of active/down/suspended servers.

OpenSWAN to PIX VPN. How to configure FreeS/WAN (Now Openswan) on Linux and a Cisco PIX as endpoints for a 3DES IPSEC VPN.

xrayspx's picture

Jobby Surveys

[music | The Birthday Party - Hat's on Wrong]

Huh, my top 9 were all "mechanical" of some sort. I'm pretty sure that if I did anything more than fill my fluids I'd probably set my car on fire though. Strangely Printing Press Operator outranks my current job by 10.

1. Small Engine Mechanic
2. Appliance Repairer
3. Farm Equipment Mechanic
4. Millwright
5. Aircraft Mechanic
6. Motorcycle Mechanic
7. Automobile Mechanic
8. Heavy Equipment Mechanic
9. Diesel Mechanic
10. Electronics Repairer

xrayspx's picture

No Cure Show

Hmm. I just get a short contract job, and the only show to fall within the contract period gets cancelled the same day. Someone trying to tell me something?

xrayspx's picture

Cisco CSS Toy

[music | Bauhaus - Dark Entries (Live)]

This is the first of a few tools I have to release in the coming couple of weeks, mainly involving Cisco's CSS product. The purpose of me writing them is that Cisco's web interface to the CSS is both a terrible user experience and has shown itself to be vulnerable to trivial attacks in the past (in a security sense). I don't want to run the web gui on my CSS's, and most of our admins were terrified of the command line. So I wrote a bunch of tools to help do their jobs, without the possibility of screwing up the load balancers.

xrayspx's picture

For god's sake...

[music | Nick Cave And The Bad Seeds - God Is In The House]

Buy some of this stuff! Or get a free sample or something.

Here's the site

One annoyed programmer :-)

xrayspx's picture

I'm Free

[music | Big Black (all of it)]

To do what I want...any old time...

xrayspx's picture

"I dunno, '0'?"

[music | New York Dolls - Looking For a Kiss]

An email I just sent to our internal team. I've finally grown tired of getting several calls a week looking for baseball player guy, or Cheri. Many times I'll strike up a convo with whoever is on the other end. They end up asking "do you play baseball? Do you know X?" What, seriously, are the odds that I would *KNOW* whoever used to have my phone number?

I desperately need a new phone number. I just now (1:00EST) got what I hope to make my last wrong number. I get calls for at least two other owners of 339-555-1212(LJ Sanitized), someone named Sheri (Cheri?), and some baseball player guy. Aside from calls from Natalie, I'd say the ratio is about 3/1 wrong/right numbers. I get a few a week.

Anything with 972-9779 would be absolutely ideal, but beggars can't be choosers, I'm hoping to buck that trend.

I actually had like a 3 minute conversation with this last guy, he sounded kind of like Borat from Ali G, and he was asking for the "local number" for Verizon so he could call and complain. It was totally entertaining.

I just said "uh, I dunno, '0'?"

Syndicate content