Hi,
I also got into scale1D problems some time ago.
You might want to try something like @Helvetosaur did:
import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino, System
def ScaleObjectsEx(object_ids, plane, scale, copy=False):
"""Scales one or more objects. Can be used to perform a uniform or non-
uniform scale transformation. Scaling is based on supplied plane argument.
Parameters:
object_ids: Identifiers of objects to scale
plane: the plane for the transformation
scale: three numbers that identify the X, Y, and Z axis scale factors to apply
copy[opt] = copy the objects
Returns:
List of identifiers of the scaled objects if successful
None on error
"""
scale = rs.coerce3dpoint(scale, True)
if scale:
xform = Rhino.Geometry.Transform.Scale(plane, scale.X, scale.Y, scale.Z)
rc = []
for object_id in object_ids:
object_id = rs.coerceguid(object_id, True)
id = sc.doc.Objects.Transform(object_id, xform, not copy)
if id!=System.Guid.Empty: rc.append(id)
if rc: sc.doc.Views.Redraw()
return rc