This is straightforward and a little playing around will help you learn.
Crudely:
regA = pya.Region(pya.Box(-1, -1, 1, 1))
regB = pya.Region(pya.Box(0.5, 0.5, 3, 3))
path_outside = (regA.sized(0.1)+regB.sized(0.1)).merged()
path = path_outside - re…
Thanks! I knew about the floating point precision issue, I just didn't know the OASIS standard stored 1/dbu instead of dbu. It's funny because I have been using DBU=1000 in my scripts for convenience and decided I should correct it to 0.001 to be co…
I forgot to add: if you create a new layout using the GUI and then load it with python, it will report dbu=0.001 as expected. Subsequent writing and re-reading the file reports 0.0009999999999999998
I don't know, it was strange. It did not find the wheel but instead tried to build itself. I just tried uninstalling and re-installing through pip and it does find the wheel now.
I managed to resolve this issue. I'm not sure exactly what the problem was, but I did un-install and re-install Microsoft Visual Studio 2017 (twice, actually), then everything worked again.