onsdag 18. november 2015

Ammo: Cutting Objects to Topography

I've worked with Revit as a modeling tool for quite some time now and every now and then I face the need to cut objects with a topography. This is typically dam constructions or other objects that need to fit to a rock surface.

I haven't been very thorough in my research online within the native Revit enviroment but as far as I can tell there aren't that many options, if any.

So naturally I have been searching for a solution with Dynamo, but so far it has been to no avail.

Until now that is.

Enter Dimitar Venkov's spring nodes.

Dimitar wonderful collection of nodes has been extended with a particularly useful node, the "FamilyInstance.ByGeometry"

By providing a family template file, category, name and the geometry itself it generates a family of whatever geometry you fancy. (With the disclaimer that his node is in beta. And Dynamo is beta.. and.. just try it.)


Couldn't quite get it to work with generating the family as a void, but that's a quick fix and nothing compared to the advantages this tool gives us.

The result in Revit:

And a quick youtube video, Enjoy!


10 kommentarer:

  1. Thanks for sharing. I particularly like how you can use this to create water volumes. I was able to generate a void without any problem.

    I do not like that you cannot control the visibility of the edges that result from cutting the void... but that is a relatively minor issue.

    SvarSlett
  2. Works only the first run...if I modify anything after first run it doesn't work for me anymore...last code block a[1] reterns error "index outside given range" and family instance is removed from the project browser and it is not regenerated/add back following 2nd or 3rd run... need to close Revit completely for it to work again... weird behavior.

    SvarSlett
  3. would you please share syn file ,topography.toposurface not found in spring.

    SvarSlett
  4. Hi, Nabeel. Haven't got the dyn for you at the moment, but the Topography.ToPolysurface node in spring nodes have changed to Mesh.ToPolysurface. Just add a Topography.Mesh node after selecting the topo and then feed that into the Mesh.ToPolysurface node.

    SvarSlett
  5. Thanks, Jostein for helping. realy I appreciate your effort.
    I followed your advice and found these :
    1- (Geometry.Split) Warning: Internal error, please report: Dereferencing a non-pointer.
    2- (Surface.Thicken) Warning: Internal error, please report: Dereferencing a non-pointer.
    3- (Surface.ByPatch) Warning: Surface.ByPatch operation failed.
    4- (PolyCurve.ByJoinedCurves) Warning: PolyCurve.ByJoinedCurves operation failed.
    Value cannot be null.
    Parameter name: source
    5- (CurveElement.Curve) Warning: No property called Curve on Revit.Elements.FamilyInstance could be found
    please help me.
    Regards

    SvarSlett
  6. please follow the link to find the error
    https://plus.google.com/photos/photo/107947918595743752419/6389144289198654738?icm=true

    SvarSlett
  7. I tried but there are some errors

    SvarSlett
  8. hello,
    would you please share me the same dyf files you already used:
    topograghy.ToPolySurface.dyf
    Geometry.Split
    FamilyInstance.ByGeometry
    regards

    SvarSlett