I recently updated an old script from 0.8.2 into the latest 1.2 version. It was easier than expected. However, by doing that I may have found an issue (or at least an unexpected behaviour at least from my side) related to the node Geometry.Scale (geometry,xamount,yamount,zamount).
Indeed while I was trying to scale a bunch of geometry (polycurve, lines and arcs; the list is flatten) only in X and Y (keep Z as 1) the results seemed strange (screenshots).
My script actually extracts room boundaries, doors locations and stairs to analyse the connectivity of the rooms. The geometry I want to scale is therefore something like that:
If I use the geometry.scale (uniform) it works (result above similar to the input geometry but smaller… as expected), if I use the same amount for x,y,z it is also ok but if the amount is different (0.26 instead of 0.25) the result is then strange again.
After some investigations I discovered that only the lines were not scaled correctly.
IF SCALING NOT UNIFORM Polylines and arcs are transformed into NurbsCurve after scaling and lines are transformed into Polycurves.
IF SCALING UNIFORM (and therefore works for everything) Lines stay lines, arcs = arcs and polycurves stay polycurves.
IF I EXPLODE THE GEOMETRY (+Flatten or not) BEFORE SCALING IT (I have a list of 362 elements instead of 324) it works perfectly.
This was working before (in 0.8.2). I do not know what has changed since that version.
If this could be useful to anyone…