Supress screen updates until end of process


I know there is a way to do this but I can’t find it in the API docs.
Please remind me.
Normally this doesn’t come up, but in this case I am

  1. Transforming a component instance back to the origin so I can measure its bounding box,
  2. Opening an input box.
  3. Scaling the instance.
  4. Putting it back where it was.

I don’t need user to see result until the end. Currently user sees result of first transform behind the inputbox.

I could transform it back before the input box and then again after input box but that seems kinda dumb.


You are maybe thinking of the second argument, disable_ui, to Model.start_operation?


Thanks again.


You do not need to do that. Instead use it’s parent definition’s bounds. The definition’s bounds is always untransformed.

For a group, there is a wrapper method named local_bounds, whose description notes the difference in the bounds method between a component instance and definition. (When it really should also be noted in the bounds method description proper.)


Not to do the measurement, but it has to be untransformed (and unrotated) to apply x y and z scales per user input.