Tool.assemblyviews

this script is work perfectly but i need fabrication schedule instead of partlist. if anyone know the solution to rewrite this script please help with this.
Developers 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=ListElementId
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

@sovitek i need assitance for this sir

Hi @bim6MRER3 sorry i cant help you. as i dont work in fabrication…

If you can’t get what you need from a Parts List, a Specialty Equipment schedule or a Material Takeoff, then you will probably have to create a regular multi-category schedule and use filters to get only the elements that relate to the assembly. You can still create the schedule and insert it onto your assembly sheet as part of your main graph/script, however you may have to use transactions to control the flow of operation.

thanks for your info sir

Is there a node that will create a Specialty Equipment Schedule from an assembly?

Not directly, that I am aware of. But under View Templates, you can create a “Schedules” view type template and have “Category” as one of the fields. Then set a filter for “Category” “equals” “Specialty Equipment”. From that point, set up a dynamo script to create a parts list from a selected assembly and have it apply the view template to that schedule.

That’s awesome! I’ll look into that. Thanks!

1 Like