I want to scale a wire so I can do a loft() to a shrunken copy of itself (like OpenSCAD's linear_extrude with scale != 1). So the first step should be to shrink a (2d) object … right?
f = 0.5
m = cq.Matrix([[f,0,0,0],[0,f,0,0],[0,0,f,0]])
ws = cq.Workplane("XY").rect(5,5) # simple example
s = ws.objects[0].transformShape(m)
I want to scale a wire so I can do a
loft()
to a shrunken copy of itself (like OpenSCAD'slinear_extrude
withscale
!= 1). So the first step should be to shrink a (2d) object … right?Unfortunately this attempt results in
I have no idea why this matrix is considered to be non-orthogonal, nor how to fix this.
NB, the same thing happens when I try to scale a 3D shape.