I am trying to tag a specific filtered list of walls with a specific wall tag in views. I am trying the Create Annotation Tag and Create Tag nodes but both don’t tag the elements. I get a null list as a result. For tag location I am using the Element.Location node and picking up the curves.
I expect this might be part of why things are not working. I also wonder since not all the walls in my list are in the view I am choosing if that is part of the reason for the issue.
I have checked other topics on this but I am not having luck still.
As you’ve said, curves are at least one issue here. A tag location would be a point, not a curve. So you need to determine where on the curve/wall you’d like the tag placed (Curve.PointAtParameter
would likely help here). Your list structure may also be causing some trouble. The walls you have selected are wrapped in multiple lists. The List.Create
node is not needed - it’s actually just adding another list dimension which doesn’t help. Try cleaning those things up and see where you get. Also make sure you have IronPython2.7 installed as it’s likely needed for some of these nodes.
5 Likes
So, the Curve.PointAtParameter is helping get a point to establish location for the tag, but the Create Tag nodes are still reading null. IronPython2.7 is installed, and I removed the additional List.Create node that I didn’t need. Not sure what to try now.
Have you confirmed you have a working IronPython2 engine in your environment?
Place a Python node, right click, and select the IronPython2 option in the engine. If there isn’t an IronPython2 engine you will either need to edit the custom node, build a new custom node/Python node, or install a functional IronPython2 engine for your environment.
Note that IronPython2 is not a supported engine and as such you shouldn’t go that route from an infosec standpoint (you are risking the business to do the automation by goi f that route).
Seems to be installed, but you’re correct I should look at rebuilding the custom node for a longer term use.
It would be helpful if we could see the elements list you’re tagging. It still looks like you have some list structure mismatches. I’d also recommend copying the contents of the custom node (I think it’s just a python node) and using that within your graph so that any errors are surfaced.
1 Like
I copied the contents to the graph for Create Annotation Tag and I get Evaluator Operation Failed; Could not load type. System.Runtime.Remoting Services.
I had a list of element Id’s from a CSV:
And have you tried the OOTB Nodes?
The archi-lab node Create Annotation Tag has an error on line 94 BuiltInCategory.OST_SpaceTags
should be BuiltInCategory.OST_MEPSpaceTags
Just a note - use an Element’s UniqueId
property rather than ElementId
. See API remarks (emphasis mine)
The Value within the ElementId is only unique with a single project. It is not unique across several projects. The Id can be used to retrieve a specific element from the database when needed. However ids are subject to change during an Autodesk Revit session and as such should not be retained and used across repeated calls to external commands. If a manner is needed to uniquely identify an element beyond this limitation then a shared parameter should be added to the element containing a unique identifier managed by the external application.
Thanks - will try the OOTB nodes and see!
Issue is that we need to pick a specific wall tag type and the OOTB Nodes won’t let you select the specific tag. All good. I am going to find another work around if I am unable to resolve the issue with the Create Annotation Tag.
Change the type after placing or set the default in the Loaded Tags and Symbols dialogue
1 Like