Assemblies - Python Script - Steam Nodes Package

Hey All,

Has anyone else had issues with the SteamNodes Package with the Tool.AssemblyViews node in 2017? It doesn’t give any warning/yellow box, just results in a null value.

Investigating the python script, it was written for 1.0, but I would assume that it would still work with 1.3?

Script extract below.

> #python nodes in dynamo 1.0
> #proposed by Julien Benoit @jbenoit44 
> #http://aecuandme.wordpress.com/
> import clr
> clr.AddReference('ProtoGeometry')
> from Autodesk.DesignScript.Geometry import *
> # Import ToDSType(bool) extension method
> clr.AddReference("RevitNodes")
> import Revit
> clr.ImportExtensions(Revit.Elements)
> # Import geometry conversion extension methods
> clr.ImportExtensions(Revit.GeometryConversion)
> # Import DocumentManager and TransactionManager
> clr.AddReference("RevitServices")
> import RevitServices
> from RevitServices.Persistence import DocumentManager
> from RevitServices.Transactions import TransactionManager
> from System.Collections.Generic import *
> # Import RevitAPI
> clr.AddReference("RevitAPI")
> import Autodesk
> from Autodesk.Revit.DB import *
> 
> doc = DocumentManager.Instance.CurrentDBDocument
> uiapp = DocumentManager.Instance.CurrentUIApplication
> app = uiapp.Application
> uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
> 
> elt = []
> for i in IN[0]:
> 	elt.append(UnwrapElement(i).Id)
> 	
> tb=UnwrapElement(IN[13]).Id
> 	
> catid=doc.GetElement(elt[0]).Category.Id
> 	
> collection=List[ElementId](elt)
> viewlist=[]
> schedlist=[]
> sheetlist=[]
> # Start Transaction
> TransactionManager.Instance.EnsureInTransaction(doc)
> for a in elt:
> 	views=[]
> 	if IN[1] == 1:
> 		v=AssemblyViewUtils.Create3DOrthographic(doc,a)
> 		views.append(v)
> 	if IN[2] == 1:	
> 		ds2=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.HorizontalDetail)
> 		views.append(ds2)
> 	if IN[3] == 1:	
> 		ds3=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationTop)
> 		views.append(ds3)
> 	if IN[4] == 1:	
> 		ds4=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationBottom)
> 		views.append(ds4)
> 	if IN[5] == 1:	
> 		ds5=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationLeft)
> 		views.append(ds5)
> 	if IN[6] == 1:	
> 		ds6=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationRight)
> 		views.append(ds6)
> 	if IN[7] == 1:	
> 		ds7=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationFront)
> 		views.append(ds7)
> 	if IN[8] == 1:	
> 		ds8=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.ElevationBack)
> 		views.append(ds8)
> 	if IN[9] == 1:	
> 		ds9=AssemblyViewUtils.CreatePartList(doc,a)
> 		views.append(ds9)
> 	if IN[10] == 1:	
> 		ds10=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.DetailSectionA)
> 		views.append(ds10)
> 	if IN[11] == 1:	
> 		ds11=AssemblyViewUtils.CreateDetailSection(doc,a,AssemblyDetailViewOrientation.DetailSectionB)
> 		views.append(ds11)
> 	viewlist.append(views)
> 	if IN[12] == 1:
> 		sh=AssemblyViewUtils.CreateSheet(doc,a,tb)
> 		for v in views:
> 			if Viewport.CanAddViewToSheet(doc,sh.Id,v.Id) == 1:
> 				Viewport.Create(doc,sh.Id,v.Id,XYZ(0,0,0))
> 			else:
> 				ScheduleSheetInstance.Create(doc,sh.Id,v.Id,XYZ(0,0,0))
> 		sheetlist.append(sh)
> doc.Regenerate()
> # End Transaction
> TransactionManager.Instance.TransactionTaskDone()
> 
> OUT=viewlist,sheetlist

Hi. I tried again now and have no issue with 2017.2. can you post a pic of your graph?