Copy warning message in Revit 2023

I can’t seem to copy the warning from the Python node onto the clipboard.

Is it an error/ something I’m doing / moose in the system?

@Alien do you have access to the Graph Node Manager? :slight_smile: You can do it from there.

I’m in 2.16 so I think I have. Never used it though.

Will that allow me to allow C+P or do I need to run that to lift the text?

@Alien you’ll need to have the Graph Node Manager open, then run it and the text will be copyable to clipboard from it then.

2 Likes

OK, thanks…

Any chance the simple copy and paste will be reintroduced please?

Yes it’s in our backlog :slight_smile: We have some major changes underway under-the-hood for Dynamo 3.0 (.NET upgrade from 4.8 to 6.0) that are eating up most of our bandwidth right now, but should be able to look at this after that gets released.

1 Like

Argh, not more major changes. I’ve only just started playing with Revit 23 and I’m already struggling :grimacing: :scream: :sob:

Can you introduce a - “leave it as it is for dummies” button please :smiley:

1 Like

These ones are not Graph Author affecting, unless you use packages (Some will need to be recompiled). Beyond that we’re limiting any fall-out. The majority of the work is on us to fix things behind the scenes that should never be touched nor necessarily need to be known about by any standard Dynamo user :slight_smile:

The reason this is important is if we don’t do it, there won’t be a Dynamo as Revit, Civil 3D etc. are all upgrading. There are benefits to this too like better performance!

4 Likes

how do you open graph node manager?

With proper error handling you wont get errors on the python node because you catch the error, make a string from it and do with it whatever you want, for example copy to clipboard automatic. You can only catch the error or also add the traceback message.

Example:

image

import sys
import traceback

def risky_function():
    # Your code here
    # For example, a division by zero error
    return 1 / 0

try:
    # Call your function or execute risky code
    result = risky_function()
except Exception as e:
    # Capture the exception and traceback
    exc_type, exc_value, exc_traceback = sys.exc_info()
    traceback_details = traceback.format_exc()

    # Print or send to OUT
    error_message = "Error: {}\nTraceback: {}".format(str(e), traceback_details)
    OUT = error_message
else:
    # If no exception occurs
    OUT = result

1 Like

@19078188 - It’s available in Dynamo 2.15 and higher :slight_smile:

1 Like

Civil 3D users need to watch out for Autodesk.AutoCAD.Runtime namespace overwriting the python builtin Exception class when importing all with import *.

See AutoCAD API here Exception Class

You could get around this by adding the line at the top imports

from builtins import Exception as PyException

or something like that

3 Likes