This is (probably) related to the fact that ‘2.0’ in Python is type ‘double’ [8 bytes] and not ‘float’ [4 bytes] (even though Python calls it ‘float’ it is 8 bytes and interpreted as ‘double’ in .NET).

I’m not sure why multiplication as ‘int’ does work though.

If you construct a Vector3d from the Vector3f using copy constructor and scale that, it should work.

Hi Mitch, Al and Menno - we could add a multiplication operator – but with a double, it should return a Vector3d to retain precision. Would that work for you? We could also just make it work in Python, and then return a Vector3f, but it would still lose the precision of the multiplicand.

I don’t really know how to answer that question… I don’t even really know the difference between a vector3d and a vector3f… All I wanted to do was scale the vectors that resulted from mesh vertex normals (which turned out to be 3f), I looked for a scale method in RhinoCommon and came across Multiply…