"multiple" call to Compute

What is the status of being able to batch call (i.e. Multiple=True) functions like compute_rhino3d.AreaMassProperties.Compute(…) ? (also getBoundingBox, Curve.GetLength)

I don’t seem to be able to get them to work, and found this: https://mcneel.myjetbrains.com/youtrack/issue/COMPUTE-71

I have scripts that are 1000x slower than they need to be, without batch calls.

I’m understanding the current state of things correctly aren’t I? Using the ‘Multiple’ flag doesn’t currently work?

I’m not sure if I’ve asked something that is obvious to everyone, but to me it isn’t…?

Hey @fergus.hudson, are you using Python 2 or 3?

Hi @will, python 3.8.

Does this mean I’m reading the situation correctly @will, ‘multiple’ calls aren’t currently working?

Hey @fergus.hudson, I looked into it and here’s the current situation… Functions that take only one argument (not including multiple) work fine in Python 2 and 3, including

  • AreaMassProperties.Compute()
  • Curve.GetLength()

Functions that take more than one argument are not currently working in Python 3, e.g. GeometryBase.GetBoundingBox().

This is due to a change in the behaviour of zip() in Python 3. Working on a fix now to support both versions…

Ok, cheers for letting me know @will!

Exciting to see that pr 136 has been merged to master!

Any word on when it’ll be compiled and released on pypi?

@fergus.hudson, I’ve just published v0.12.2 of to PyPI. Please give it a try when you get a chance :slight_smile:

Fantastic, thanks @will! Trying it out today.