I recommend that in the future .NET APIs (not .NET Frameworks), DPoint3d type should separate "Add" function to "Add" and "AddScaled". Mathematically "AddScaled" is more likely representing a line form and "Add" is more likely representing a translation. The parameter scale in "AddScaled" should have room to improve: Allowing user to scale either in uniform or scale in x, y, z part.