RevisionCloud.ByCurve doesn't work?

I’m trying to create copies of revision clouds from one sequence of revisions to another. I was referencing some steps in the thread:

The problem is, the node RevisionCloud.ByCurve does not appear to function correctly. There is no curve data that can be plugged into this node that does not produce an error. Is there a problem with my install? My logic: Sheets versus View, etc.? Or is there a problem with this node?

Thanks.

2017_0202_Revision Copy.dyn (11.6 KB)

Hi, could you send a screenshot too? I have no problem with duplicating revision clouds like so:

Definitely not functioning on my end:

look at the difference between what @Yna_Db posted and what you are doing. He basically duplicated all of the revisions by getting a view, curves and revision for each set of clouds and creating a new one from it. What you are trying to do is to get the view, curves and creating a new set of these in a different revision. Your lists are not matching because now you have nViews, nCurves but only one revision. Try duplicating the revision so that it matches the length of the view/curves list.

I’ve tried that version too and it still comes down to the final node producing the error. I don’t see another way to get around it. I don’t think I’m doing anything vastly different here. Am I wrong? Pretty much the exact same thing. See the post I linked at the beginning of the thread.

Hi @Cody_Winchester

Could you please show us watch node for “Element.OwnerView” and “Revision.Cloud.Curves”.

Why not using the RevisionCloud.Revision node instead of Select Revision? You already filtered your clouds by revision just before, so the resulting ones all have the revision number you chose…

It will eventually be used amongst several revision sequences so it will be necessary to isolate a specific revision. This doesn’t affect the error regardless. I’ve tested it. There is just a persistent problem with this node apparently. Dead in the water.

@Cody_Winchester,

Just an FYI that is not really consequential here, but annoying regardless. @Kulkul asked to see what the inputs are into the RevisionCloud.ByCurve node and specifically the two inputs that are lists. He wants to see if your lists are matching. You only showed him one, which does nothing to further his understanding of what could potentially be causing the issue. Please remember that people here trying to help, need information. They need the “whole” story, not just snippets of it. So, if I was you, i would share an image that illustrates both input lists, and preferably the warning that was caused by them. It would be even better to share a sample file, but i understand that it’s not always possible.

Cheers!

1 Like

I can run the graph later and post the image. In the meantime I did post my graph at the start of the post. If that works on your end let me know. Thanks!

All seems to work fine actually:

Definitely does not work on my end. There seems to be a problem with Dynamo here. Below is the screen shot from my run if that helps. In the meantime I will try to reinstall Dynamo to see if that gets rid of the bug.

Are you trying to create the clouds on a sheet?

The file I was testing this on, yes the clouds are on the sheets rather than views. You think that could be the issue?

Definitely. This is something I tried and didn’t work. It was a similar issue with Detail Lines and drafting views.

I opened this issue for this.

Thank you for confirming! I was beginning to think I was taking crazy pills. Cheers.

1 Like

Here is a python script you could use if you like:

import clr

# Import List ( ICollection(ElementId) = List[ElementId]() )
clr.AddReference('System')
from System.Collections.Generic import List

# Import Revit API
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

# Import ToDSType(bool) extension method
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

# Import DocumentManager and TransactionManager
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

# Input
view = UnwrapElement(IN[0])
revisionId = ElementId(IN[1])
dynamoCurves = IN[2]

curves = List[Curve]()
for curve in dynamoCurves:
	curves.Add(curve.ToRevitType())
 #Make changes to Revit DB in a Transaction
TransactionManager.Instance.EnsureInTransaction(doc)
OUT = RevisionCloud.Create(doc,view,revisionId,curves).ToDSType(False)
TransactionManager.Instance.TransactionTaskDone()
2 Likes