Friday, 20 February 2015

Civil 3D assemblies and adaptive components

In preparation for a training I got a little sidetracked when I needed to model a road. Relatively sane people would open up civil 3D create an alignment add an assembly and create a corridor. 

When a corridor gets created in Civil 3D, an assembly is placed along a 3D path (combination of the alignment and a vertical profile) and surfaces are generated between every successive instance of that assembly. (in the image below you see a bunch of assemblies placed, without the surfaces)
A simple assembly could look like this one below
With this adaptive component family I can do similar things as with the assembly above.
If we add a bit of dynamo and one of the best BIM tools (excel) in to the mix. Let's place a whole lot of this adaptive component and create a loft between these. (this is not the same road as the one shown above in Civil)

In order to do that I first created an excel file with the coordinates for the adaptive points. For me it worked better if I split the xyz values on different sheets in excel.
I tried an adaptive component with 3 points but something kept going wrong for me so I used a two point adaptive component for left and right.
Get the points together from left and center. Do some list thingies. Tell the adaptive component to be placed at those points.
You will get something like this
Select them all and and press the create form. Do the same for the right side. 

Roads tend to be build up out of several layers. You can reuse the excel data you have for the first and add a dynamo trick. Take the z values and subtract the thickness. The nodes in the green area are copies of earlier work.
Of Course this is nowhere near a real road but if I were to get the xyz values from a corridor surface from civil I could recreate quite a bit of it. 

Some of the extensions are doing this already. But that's not nearly as much fun as trying to do it yourself with dynamo.

Sunday, 15 February 2015

Sinus Waves Bridges

Having some fun with Dynamo.

Not much tips or helps this time. Just some things to show. It's no where near anything ready for production. ( it's pretty far of from even a preliminary design) It took a little while to figure out. I got a couple of sinus waves controlling xyz coordinates. Explaining the dynamo part is best describe as trial and error, error, error, error, error, error, error, 

I set it up to controll the following:
Bridge length
Bridge width
Bridge height of the middle
The sides of the bridges can flare out
Thickness of the middle
Thickness of the endpoints

Thursday, 12 February 2015

Translating shared parameters

When you open a Revit shared Parameter file it says:
# This is a Revit shared parameter file.
# Do not edit manually.

I don't know about you guys but I always feel like trying to see what you can edit anyways. These sort of statements always have this sort of effect on me.
BIG DISCLAIMER do not edit shared parameters that have been used in projects or families! If you do any edits based upon what you read here. It is your OWN responsibility! Next BIG DISCLAIMER this was all done with Revit 2015 R6

The most interesting thing about editing this file for me is: Will it work if I translate the parameter names to other languages. A very small test showed me that these parameters, I tried, worked out. Be aware I have only tested these. Just because these work does not mean others will work!

I did the following:
I created a new shared parameter file with 4 shared parameters with Dutch names. I created a family and I used these parameters. I loaded the family into a project and I created a schedule. Nothing fancy it works, of course.

Next I copied the sp file and renamed it to something else. I edited the sp file and I changed the names of the shared parameters to an english equivalent. Next I created a new family with these english shared parameters. What happens if both these families get into a project? It depends who was loaded first. Revit will use the names of the parameter which came first. 

It get's a little bit more interesting if you use linked files. For example a Dutch architect and an English engineer. 
If you link the architect file into the engineers file it's the other way around.
This would make you think it works. But I have heard people with different stories. It's worth further investigation.

Other edits I tried.

Moving Parameters to another group
A simple edit that so far I have been able to get away with was moving parameters from group to group. 

Changing the parameter type:
It is possible to change the type of a parameter. But I recommend you don't! Because the following below is something you will see in your project very soon!

The shared parameter '4d3f4a8c-357e-4af0-a8f9-de40e87e2f6d' cannot be added with name 'diepte' and type 'Text' because it conflicts with the existing name 'diepte' and type 'Length'.

If you change this value from 1 to 0 it will have the effect whether the parameter is visible in the project. Except if you have used this parameter already in the project. It will retain it's setting from the first family.

If you change this value from 1 to 0 it will have the effect whether the parameter is changeable in the project. Except if you have used this parameter already in the project. It will retain it's setting from the first family.

Important to remember if the parameter has already been used in a project than the changes described above will have no effect or will render the family you are adding later useless. You might have noticed I haven't edited the GUID. This will definitely break it.

Google+ Badge