Special K.


0 notes

Revit Add-ins Pt2

In the last post, I wrote about how a small, insignificant problem created a need for a custom plugin with Revit to deal with Totalstation coordinates in the real world (bridging the digital realm with the physical one…foreshadowing perhaps?)

This time, we have another problem that was easily (well, not so easily) solved via a custom add-in in Revit MEP dealing with Electrical Panels and their respective circuits.

The situation was as follows:
11 story building, 480v and 208v panel on each floor + 480v emergency and 208v emergency for a total of 44 panels on the job. (Not that many you might say)

Each 42ckt panel was already loaded down with connected circuits, but a small problem arose. We now were moving the design from 42ckt floor mounted combo transformer/panelboards to 84ckt wall mounted panels and separate transformers.

If you don’t already know, Revit really doesn’t like to change Families between Electrical Equipment, even more so when the have many circuits attached to them and even much more so when you are moving from a floor/workplane hosted family to a wall/face based one.

Well, what is the next step? Logically you open the system browser, find you panel, find each circuit, select it and change panels in the ribbon tab for Electrical Circuits…as I assume those of you whom are reading this are smart enough human beings to realize this is a ridiculous way to spend your time just to change panel types.

I decided to do something about this because I would be damned if I was going to spend my time clicking 10000000 times in Revit to change circuits and panels and maximum 1pole breakers and…you get the point.

Here’s what I did: I decided to write a quick add-in that took all existing circuits that were attached to a panel of my choosing and move all of them over to another panel of my choosing. Simple right? Pretty much true, but with some small quirks on how the Revit MEP API lets you deal with circuits.

That’s enough for one post. Part III coming soon will include screen shots.

FYI - Source code for native QR code generation in revit ;)


Filed under revit electrical engineering opensource mep

0 notes

Revit Add-ins

So since I have been working in Revit exclusively for the past 5 months and pretty much haven’t touched AutoCAD at all (except for the occasional conversion of DWG to PDF) I quickly came across a lot of shortcomings in the program to help me with my daily tasks, specifically with regards to the way we utilize our models to construct buildings and adapt to major changes in design 2/3 of the way through.

I wanted to write a quick post to update on what I have been working on and what I plan to work on in the near future.


The first, largest issue I had was with using our robotic totalstation. In my previous company, we were totally AutoCAD based and the Sokkia unit we purchased from GetThePoint (awesome company) comes with an awesome plugin for AutoCAD that I used religiously and did some really cool things with our totalstation. However, at my current company, we have a Trimble unit and we don’t have any of the proprietary software to get points in and out of any software (let alone AutoCAD or Revit).

My predecessor had written a quick plugin to export a generic family out to a txt file that could be loaded onto the data collector and shoot points in the field, but there was no import routine written for Revit 2013 to bring in shot points back into my model. I didn’t even realize this until one of the projects I am working on required existing field conditions shot and placed in the model.

I decided to write a very comprehensive add-in that replaced the old export point routine that allowed actual descriptions and more detail added to each point for the field and the glorious import routine that created points in the model. I wrote two exporters and two importers to basically work with any format for any totalstation. TXT and CSV file formats in either Y,X,Z or X,Y,Z coordinate format.

It works so well for me and my company and thought there might be some other people out there that could use it as well and I have placed it for sale on the Autodesk appstore here.

Next post: Moving circuits between panels automatically…

Filed under revit totalstation construction API c veryhelpful

1 note

whut the wget

So I actually needed to use wget on my mac today to get a package from the terminal. To my surprise, wget is not included in lion. You have to get the source and compile it yourself. Apparently it’s not even enough to just have Xcode installed anymore, you have to have the command line toolset installed as well.

I found a great post here that helps you get wget installed.

One thing to add to that is:
if you don’t do a system-wide configure and make of wget, your binary will be compiled in ‘/usr/local/bin/wget’ but in order to use it, you need to create a symlink to your ‘/usr/bin/’ directory by issuing the following command

sudo ln -s /usr/local/bin/wget /usr/bin/wget

Don’t forget to source your bashrc file

source ~/.bashrc

You should now be able to use your trusty ‘wget’ command inside of Mac OS Lion

0 notes

troubles with getting pinterest pin-it button working on wordpress single posts

When updating themarshmallowstudio.com’s blog, I added a bunch of those annoying, but effective and sometimes useful social ‘like’ buttons so that people could share and ‘like’ or ‘pin’ the posts (mostly because of our demographic), but that’s a whole ‘nother story.

The problem lies when working with the pinterest pin-it button that tracks the number of pins from each post. I am sure there are a wealth of great wordpress plugins that handle this well, but I am getting really tired of looking for a plugin to solve a seemingly simple problem that I could figure out in about 10min. rather than try to research and make sure the plugin isn’t doing anything malicious to the blog or opening security holes (sorry wp plugin developers, but no, I don’t trust you as much as I trust myself).

Since pinterest isn’t really meant to pin blog posts, especially ones with lots of images in the body content, I had to come up with an automated way to give the tracker the data it needed based off the author’s input and not have to manually update the url or send it through some wacky api pre-processor.

My solution was (kinda) simple and I will share the code below.

the ‘pin-it’ button needs (3) inputs in the URL to work.
-The URL of the page for linking
-The URL of the image to use as a thumbnail
-A description for the pin (optional, but definitely recommended)

The permalink URL is a no brainer and I decided to use the post title as the description, but getting the permalink image URL provided a little more challenging because of multiple images, which one do I want to use for the thumbnail? For this, I enabled the post thumbnail feature in WP by adding the following tag to my functions.php file


This enables an author of a post to select a “Featured Image” when writing the post.

Finally, I created a small script to strip out the permalink URL for the image selected as the Featured Image and urlencode it to send to the pin-it button script. The final output is below for reference

//separate script
  $pinURL = urlencode(get_permalink());
  $pinThumbAr = explode("src=\"", get_the_post_thumbnail());
  $pinThumb = explode(".jpg",$pinThumbAr[1]);
  $pinThumbUrl = urlencode($pinThumb[0].".jpg");
//a tag
<span class="pin-home-btn"><a href="http://pinterest.com/pin/create/button/?url=<?php echo $pinURL; ?>&media=<?php echo $pinThumbUrl; ?>&description=<?php echo urlencode(the_title()); ?>" class="pin-it-button" count-layout="horizontal"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a></span>

quick and dirty, but it works and doesn’t require a plugin to be updated and worried about security.

0 notes

Visibility issues with Phasing in Revit MEP with Architectural Links

In attempting to cleanup and link an Architect’s Revit model to my MEP model (since I am currently only using Revit MEP and have not yet got my “one-box” setup) I performed all the proper procedures to purge and cleanup the Architectural model, but after linking into my MEP template, there were problems.


Clean Arch Model                                                  Linked Model

All the walls, windows, floors, etc. were all missing in my views. I began to poke around a little and see if the visibility graphics were not being brought through or the view properties were off. Everything seemed to be ok, but I could not figure out why none of the walls were showing. I immediately thought of phasing issues, but never dealt with multiple phases of projects from linked files since your MEP template only has the phases you setup and doesn’t bring over the phases from linked rvt files.

I searched around the interwebs for a few minutes but found nothing. The only thing I found was a forum post on revitcity (although there are hundreds) that talked about setting the visibility graphics for the linked Revit file and setting the options to ‘By linked view’ and setting the linked view to a specific view from the linked file. (What?!)

This is supposed to match your view to equal that from the linked file. It worked, but not what I needed for the whole project.

Then I noticed there was an option for Phasing from the linked file. 

Setting this option to ‘<Last>’ instead of ‘<By host view>’ will match the phase of the Architectural model. Voila! It worked and my walls/doors everything finally showed up correctly.

I had to write it down somewhere so I wouldn’t forget and maybe somewhere out in the world there is another poor soul having the exact same issue.

Filed under bim mep revit cad

9 notes

New opensource project management app for BIM projects

I have been contemplating using a webapp for managing our BIM projects for a while now. I have been studying implementing a SCRUM workflow to get it done (found some stuff I can use and some I cannot). Looked at using Redmine, ProjectPier, Trac and others that are popular and get a lot of developer attention and most importantly, are open source.

Have been trying to standardize on ProjectPier simply because of my familiarity with PHP and ease of install on a local development machine to test, but have found so many issues with third-party themes and people not keeping them updated. Instead of delving into the abyss of theming an existing project that doesn’t really fit the needs of my company (and probably that of other people in my situation) I decided to start a new project specifically aimed at the BIM world.

I started a new project over at github with a blank Rails project called BIMPMapp which is a Project Management application devoted to managing all things related to a BIM project. From the people involved internally and externally, documents, emails, models, ASIs, etc. all the way down to a conversation you had on the phone with a vendor or field foreman on something that might get lost through the cracks.

I am hoping to get this launched into the great world of AEC to bring the advancements and light-bulb moments that software developers use on a daily basis to our world which I know will only make things better, easier and faster.


I was initially debating which language to write the app in. I know PHP very well and am very comfortable writing/debugging and reading PHP, but I am almost in love with Ruby and the Rails framework [RoR]. I also realize that 99.999% of our industry is in the Autodesk world and even considered using .NET to write the app in (which was quickly thrown out for other reasons listed below) since I write all of my plugins for AutoCAD and Revit in .NET. I decided to initially begin the project in RoR.

That isn’t to say that the final published v1.0 language will be Ruby, but that I am starting it in that for three reasons.
1. To increase my knowledge of the RoR framework/language
2. To tap into the knowledge of my fellow webdev comrades who are all nuts about RoR right now and
3. To get an initial prototype of the app up and running quickly with minimal setup like would be required in PHP.

All that said, I would love to get some more people involved in the project and help direct it to where it will be a usable product for the industry. I will start developing it with my own needs in mind, but gladly incorporate ideas of others. Help me out and let’s make something great together. 

Filed under BIMPMapp opensource rails RoR web

0 notes

Thoughts on GoDaddy.com and SOPA

After all this scoff about pros and cons for SOPA (most logical/non-political people are against it) I am still not sure whether or not it is a good idea. also been hearing a lot of chatter about the GoDaddy support for and then now against, but not really sure what their official stance is anymore.

I was thinking at first (before the retractment) to transfer all client domains and hosting off GoDaddy and finally bite the bullet and get a VPS through MediaTemple or similar, but the thought of how much work it would be to transfer everything over made me take a “wait-and-see” approach to it. Sure enough, now this talk about GoDaddy pulling their SOPA support, so we’ll see.

Seems like the only way around this nonsense is to get political with it and lobby against it.

Wondering what everyone else thinks while I still debate whether to pull out of GD.

2 notes

The Marshmallow Studio website redesign


Today is the official launch day for the newly re-designed TMS website. My wife has worked hard getting the recognition and business squared way and now it is my turn to help out and provide my small skillset of designing and developing the site for her so she doesn’t have to shell out thousands of clams for a re-design.

Please take a peak and browse the site. Maybe you will find something you like for your next event.


Filed under web design TMS dev

0 notes


Bodum Chambord french press. Use it every day and it is perfectly designed. The weight ratio between the handle and beaker is perfect, it looks nice and works every time I use it; It never fails me.

Bodum Chambord 4-cup coffee press