## Tuesday, July 19, 2016

### April Fool’s Day

Unfortunately, or fortunately depending on your opinion of the day, I missed doing an April 1st day post this year. Well to make up for it I’m going to show how you can prank your coworkers next April 1. The first thing to do is install Infraworks on their computer. Then teach them how to do expressions.

Well that’s not the entire prank, only the first part of it. Before you teach them how to use expressions go into their computer and find the appropriate language folder. For US English it is:

C:\Program Files\Autodesk\InfraWorks 360\en-US

Then open up the  ExpressionEditorTooltips.json in your favorite text editor. Then go through and change any of the descriptions to funny work appropriate phrases.

The next time they open up Infraworks the phrase will show up in the expression editor when they hover over the words associated in the json file. Have fun!

## Saturday, July 16, 2016

### Subassembly Composer SurfaceOffset Target

Sometimes we want to know where a point above a surface might be located. Something like what’s in this idea. While I haven’t tried this in a drawing, this method might work to replicate it.

First create an Auxiliary Surface Link.

In the properties set the Start X and End X distances to an expected design area width. I’d use 0 to 50 ft if my right of way was 50’ wide. In the image below I’m using two points to determine the X distances to use. Also set the Depth to the required value. This will adjust the link to be above (negative) or below the surface and create a link that follows the surface above or below the surface at the specified distances.

Then create your other links as necessary. Remember you can use Intersection Points to find the intersection between the Auxiliary Surface Link and your design.

I haven’t tried to run this in a drawing, but I suspect it should work. Here is a link to an SAC packet with the properties shown in this post.

## Wednesday, July 13, 2016

### Creating Formulas for SAC

When creating formulas for Subassembly Composer (SAC) it can get confusing on how you want to set up checks and even look up values. For instance you may want to grab a value from a table to determine the dimensions to use. Recently I’ve started using Excel to help me grab the appropriate values.

I start by creating an enumeration, under the view tab in SAC, and add an item for each case. If I have a complex table I will use the CONCATENATE option to join the strings together.

The formula for the enumName is:

=CONCATENATE("N_",TEXT(A3,"00"),"_S",B3,"_",C3,"x","R",D3,"_",E3)

Then I can copy and paste the value from Excel into SAC without having to think too hard.

Then I can build If/Then statements to grab the appropriate value from the table of data.

So the formula for the various item looks like this:

=CONCATENATE("IF(SpanRiseValue=",\$G3,",",(ROUND(P3+(Q3/12),3)),",",CHAR(13))

The CHAR(13) is a carriage return so once in SAC everything is formatted nicely.

The IF/Then values are then combined in another cell, something like this: