BimorphNodes v2.0 released

Hi fellow Dynamo junkies

I’ve just released bimorphNodes v2.0. There have been some significant upgrades since v1.5.1 and new nodes added! In addition, I’ve created a dedicated user guide with example files to support the package here

New Nodes added:

  1. DetailLinesFromCADLayers
  2. SetCADObjectStyles
  3. ReportCADLinks
  4. RemoveDuplicateCurves

Nodes with enhanced features and major upgrades:

  1. CurvesFromCADLayers
  2. DuplicateSheets

All other nodes have been upgraded.

Here are some highlights:

The node has been upgraded to convert DWG or DGN Links or Imports in any view. In previous versions, only the XY plane was considered which meant section or elevation views were not supported. There is also a new input lineStyleMap which enables Lines Styles to be mapped to each layer during the conversion process for even greater workflow flexibility.


You can now remove duplicates from a list of Curves. This node supports Dynamo Curves, Revit Model or Detail Lines. Revit Curves have the optional inputs to delete any duplicates from the document and input LineStyle names can be used to retain the duplicate curve of that style.

To simplify model element selection in Revit when using the Dynamo Select Model Elements node, heterogeneous lists (any Revit element type) can be input as the node filters the list for curves before processing.


DuplicateSheets has been upgraded significantly from previous versions. All view types are now supported, and if illegal characters are found in the view names (such as {3D} for example) they are cleaned to ensure the process doesn’t fail prematurely. In addition, any sheet annotations including dimensions, Symbols, Detail Lines and groups are also duplicated when the duplicateView input is set to true.

Lastly, the algorithm which controls the duplicate behaviour has been upgraded following this post. So in v2.0, whenever a dependent view is found, a new parent is created first, then the dependent is duplicated from this parent to maintain the existing view structure. It’s ‘clever’ enough to also check if the parent exists on subsequent runs to handle the possibility that it already exists should other related dependent’s be duplicated.

Check out the package and let me know if you spot any bugs, want to suggest improvements or have more node ideas!


thank you for all this Thomas!

1 Like

Good job Thomas.

I just tried to use CAD.CurvesFromCADLayers in Revit 2018, but isn’t working.

Do you know what is happening?

I’m using v2.1.2

Answered here:

ReportCADLinks is not in the 2.1.3 package:


@Antony_Mcphee It is the same as ReportInstances. Not at a computer with Dynamo at the moment but am 99% sure. Try it to see.

Found it, called ReportInstances in node menu.
I’ve never understood why node names can be different from their library name. can make finding nodes unnecessarily difficult.

@Antony_Mcphee I don’t really think this poses any unnecessary difficulty! I think bimorph nodes are well documented, and the update to the package was made very apparent to any users who regularly follow forums such as this, blogs, etc. It is just simply renaming it, and in my opinion, is a more concise rename of the node for future users with no experience with the previous versions of the package.


Full details of the name changes can be found in the table included in the post below. I rarely change node names, however porting BimorphNodes v2.1 entirely to C# provided the best opportunity to adopt Dynamo best-practice naming conventions as the switch results in breaking changes regardless.

1 Like

It seems like the CurvesFromCADLayers node doesn’t work in a family document (nor any of the other FromCADLayers nodes). Is this because I am doing something wrong or the functionality doesn’t exist?


They are compatible with all family types and will warn you if they are not thanks to the new exception handling and warning messages (see below). It could be your DWG that’s the problem or maybe one of your inputs is incorrect. If you expect a solution, start a new thread and include:

  • Example Family document where error occurs
  • Dynamo file
  • BimorphNodes version
  • Revit and Dynamo Version
  • Screenshot with error


I have no idea why it didn’t work before, but I just opened it up to recreate it, and it worked this time. Sorry about that!

I cannot reach your website.
Can you send it towith email or wetransfer

@Thomas_Mahon good job.
Just one question, in your node CAD.ReportInstances, the list per DWG doesnt show the view contianed the DWG imported.
any help about this??
A need to know where the DWG is hosted in the specific view.


Hi @PASCUALP that’s a bug, or rather, the view isn’t be wrapped in Dynamo’s Revit.Elements.Element wrapper class, thanks for reporting it. Its fixed and will be published in the next release of BimorphNodes.

In the meantime you can use this python script to make the view usable in Dynamo:

#Copyright 2018. All rights reserved. Bimorph Consultancy LTD, 5 St Johns Lane, London EC1M 4BH
#Written by Thomas Mahon @Thomas__Mahon Package: BimorphNodes
#Follow: | | @bimorphBIM

import clr
import Revit

report = IN[0]

wrappedViews = []
for subList in report:
	view = subList[5] 
	if view != None:

OUT = wrappedViews