AU
AU
OK, I think I resolved all the points. Let me know if you are OK with merging.
Can you share the step file? NB: CQ has no units.
So the defualt import/export unit of OCCT seems to be mm. You can change it for importing using `xstep.cascade.unit` via e.g. `OCP.Interface.Interface_Static.SetCVal_s("write.step.unit","UM")`
`test.val().isValid()` returns `False`. In general the shell function is not always reliable. You can using `test.val().fix()`
Try using `cq.Solid.extrudeLinear`
Are some cylinders identical? If so, using `located` instead of creating them always from scratch should result in a smaller step too.
> @adam-urbanczyk Not always, length can be 1 or 1.4142. Direction also could change, but it will always be horizontal, vertical or diagonal. The diameter never change. Can you give...
So did instancing (i.e. using moved on identical shapes with different locations) result in no change of the file size? If it was done correctly and there is no significant...
I can run your code without any issue using the master version of CQ / CQ-editor. Which version are you using? 
Good to hear @kkpal3 . You might be also interested ins using `spline` instead of `polyline` and note that one profile is misisng or the spine should not start at...