Abort If

This is just the beginning of a much longer graph, but it should illustrate my point. Depending on the inputs it can take a few minutes to run. If the user has not set a certain parameter on the wall, I know it will get the wrong results because it’s calculated from that parameter. I thought I could use a combination of pass through and if, but even if I trigger the warning message it’s still running all the calculations for the path not taken so to speak. It is taking the path even when it doesn’t need to. Where the if has only one output it feels like it should split in two, a separate branch of just returning the error message, which it does, but only after running calculations that are going to be scrapped because the parameter wasn’t set from the beginning. I tried changing the input for true to the list of walls but then I end up with a feedback loop of A Cyclic Dependency and the confusion of if returning 2 different data types, a list or a string. I’m not sure if I’m missing something in the logic or maybe it’s just a node, I’m not familiar with yet? So how would I bypass any unneeded calculations in the blue sections?

Abort_If.dyn (25.6 KB)

Pass a null if the rest should fail; this will set the execution time to basically nothing from everything thereout (though you will get warnings, which considering the issue before may be a good thing).

3 Likes

I think I can work with that, thank you

1 Like

scope if is also made for this -but it’s prone to issues - two input branches must be separate.