Worksets Conflicting With Script

Highlight untagged Rebar in view 5.0.dyn (11.4 KB)

I have this Script that overides the color of untagged Elements in view and works well in a Non - Collabrative File, But When using it with a central model with Worksets while other People Are working with different Worksets…it Doesnt seem to work…It Changes Color when the Scripts starts executing and Reverts back when the Script Stops.

that might be because a view is not check out yet.

2 Likes

Which View? I Tried Moving the Transaction Node with Different Versions of the Script but get the same Results.

Check your worksets.
Go to Collaborate>>Worksets
On the bottom of the view set all checkboxes to ON
Now click on the colomn header Owner twice
Do the same with Borrowers
Should any name appear in the view, thats the workset not checked out by that person (name).

Also, can you check if there are worksets that need to be filtered out before the buisiness end of the script?
If the script cannot sucseed it reverts back, which would be the same as getting an error in Revit and the only thing you can do is click Cancel.

1 Like

I detached the file preserving and owning all worksets and tried the script. still doesnt work.

However when i connect the rebars filtered from active view, direclty without the untagged filter and change color, it works well.

I think the problem is with Python Script that filters out the untagged rebars.When i Connect the ouput rebars from this node that are in the current view it doesnt work.

   `import clr`

    clr.AddReference('RevitAPI')
    from Autodesk.Revit.DB import *
    from Autodesk.Revit.DB.Structure import *

    clr.AddReference('RevitNodes')
    import Revit
    clr.ImportExtensions(Revit.GeometryConversion)
    clr.ImportExtensions(Revit.Elements)

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

    doc = DocumentManager.Instance.CurrentDBDocument

    #Preparing input from dynamo to revit
    tag = UnwrapElement(IN[0])

    OUT = []

    TransactionManager.Instance.EnsureInTransaction(doc)

    for t in tag:
    id = t.TaggedLocalElementId
    element = doc.GetElement(id)

    if element.GetType().ToString() == "Autodesk.Revit.DB.Dimension":
    uId = set([r.ElementId for r in element.References])
    for ui in uId:
    OUT.append(doc.GetElement(ui).ToDSType(True))
    else:
    OUT.append(element.ToDSType(True))

    TransactionManager.Instance.TransactionTaskDone()