Hi, not sure, but I think I found this same/similar problem.
1- I've created a spreadsheet, added some value with alias (val1_mm). The value has no unit, but the display unit is mm.
2- Added a Contraints.contraint1 (in mm).
3- Added a second constraint using the expression "Contraints.contraint1 + Spreadsheet.var1_mm", got the error "Incompatible unit for + operator".
4- Added units to the value, in the spreadsheet and the no error.
5- If using operator "*", the inverse happens. No error when there is no unit, and there is an error "Incompatible unit for * operator" when there is a unit in the spreadsheet value.
Note: Plese check attached example file, from which the images were taken.
multiplying by (1 mm) like stated below did solved the problem, its documented in:
2- https://www.freecadweb.org/wiki/Manual: ... readsheets
If using values from the spreasheet it works, they are unit compatible in the example I've used, which makes sense, thought might become difficult to understand in complex expressions. Note none of them has units in this example, the var1_mm has no units neither var2.
I would suggest documentation improvement, stating these examples an solution.
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11580 (Git)
Build type: None
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0