diff --git a/src/App/FreeCADInit.py b/src/App/FreeCADInit.py index b17957f620..7d391edd32 100644 --- a/src/App/FreeCADInit.py +++ b/src/App/FreeCADInit.py @@ -306,7 +306,13 @@ App.Units.KiloPascal = App.Units.Quantity('kPa') App.Units.MegaPascal = App.Units.Quantity('MPa') App.Units.GigaPascal = App.Units.Quantity('GPa') +App.Units.PoundForce = App.Units.Quantity().PoundForce +App.Units.Torr = App.Units.Quantity().Torr +App.Units.mTorr = App.Units.Quantity().mTorr +App.Units.yTorr = App.Units.Quantity().yTorr + App.Units.PSI = App.Units.Quantity('psi') +App.Units.KSI = App.Units.Quantity('ksi') App.Units.Watt = App.Units.Quantity('W') App.Units.VoltAmpere = App.Units.Quantity('VA') @@ -325,12 +331,15 @@ App.Units.KMH = App.Units.Quantity('km/h') App.Units.Degree = App.Units.Quantity('deg') App.Units.Radian = App.Units.Quantity('rad') App.Units.Gon = App.Units.Quantity('gon') +App.Units.AngularMinute = App.Units.Quantity().AngularMinute +App.Units.AngularSecond = App.Units.Quantity().AngularSecond App.Units.Length = App.Units.Unit(1) App.Units.Area = App.Units.Unit(2) App.Units.Volume = App.Units.Unit(3) App.Units.Mass = App.Units.Unit(0,1) App.Units.Angle = App.Units.Unit(0,0,0,0,0,0,0,1) +App.Units.Density = App.Units.Unit(-3,1) App.Units.TimeSpan = App.Units.Unit(0,0,1) App.Units.Velocity = App.Units.Unit(1,0,-1) @@ -349,6 +358,14 @@ App.Units.Force = App.Units.Unit(1,1,-2) App.Units.Work = App.Units.Unit(2,1,-2) App.Units.Power = App.Units.Unit(2,1,-3) +App.Units.SpecificEnergy = App.Units.Unit(2,0,-2) +App.Units.ThermalConductivity = App.Units.Unit(1,1,-3,0,-1) +App.Units.ThermalExpansionCoefficient = App.Units.Unit(0,0,0,0,-1) +App.Units.SpecificHeat = App.Units.Unit(2,0,-2,0,-1) +App.Units.ThermalTransferCoefficient = App.Units.Unit(0,1,-3,0,-1) +App.Units.HeatFlux = App.Units.Unit(0,1,-3,0,0) +App.Units.DynamicViscosity = App.Units.Unit(-1,1,-1) +App.Units.KinematicViscosity = App.Units.Unit(2,0,-1) # clean up namespace del(InitApplications) diff --git a/src/Base/QuantityPyImp.cpp b/src/Base/QuantityPyImp.cpp index 86729b7e49..508d566e58 100644 --- a/src/Base/QuantityPyImp.cpp +++ b/src/Base/QuantityPyImp.cpp @@ -663,8 +663,26 @@ void QuantityPy::setFormat(Py::Dict arg) getQuantityPtr()->setFormat(fmt); } -PyObject *QuantityPy::getCustomAttributes(const char* /*attr*/) const +PyObject *QuantityPy::getCustomAttributes(const char* attr) const { + if (strcmp(attr, "Torr") == 0) { + return new QuantityPy(new Quantity(Quantity::Torr)); + } + else if (strcmp(attr, "mTorr") == 0) { + return new QuantityPy(new Quantity(Quantity::mTorr)); + } + else if (strcmp(attr, "yTorr") == 0) { + return new QuantityPy(new Quantity(Quantity::yTorr)); + } + else if (strcmp(attr, "PoundForce") == 0) { + return new QuantityPy(new Quantity(Quantity::PoundForce)); + } + else if (strcmp(attr, "AngularMinute") == 0) { + return new QuantityPy(new Quantity(Quantity::AngMinute)); + } + else if (strcmp(attr, "AngularSecond") == 0) { + return new QuantityPy(new Quantity(Quantity::AngSecond)); + } return 0; } diff --git a/src/Base/UnitPy.xml b/src/Base/UnitPy.xml index 47e8dcf7e6..484a9060a0 100644 --- a/src/Base/UnitPy.xml +++ b/src/Base/UnitPy.xml @@ -34,5 +34,11 @@ - + + + Returns the signature. + + + + diff --git a/src/Base/UnitPyImp.cpp b/src/Base/UnitPyImp.cpp index 4698d70889..cbce411eb4 100644 --- a/src/Base/UnitPyImp.cpp +++ b/src/Base/UnitPyImp.cpp @@ -182,6 +182,21 @@ Py::String UnitPy::getType(void) const return Py::String(getUnitPtr()->getTypeString().toUtf8(),"utf-8"); } +Py::Tuple UnitPy::getSignature(void) const +{ + const UnitSignature & Sig = getUnitPtr()->getSignature(); + Py::Tuple tuple(8); + tuple.setItem(0, Py::Long(Sig.Length)); + tuple.setItem(1, Py::Long(Sig.Mass)); + tuple.setItem(2, Py::Long(Sig.Time)); + tuple.setItem(3, Py::Long(Sig.ElectricCurrent)); + tuple.setItem(4, Py::Long(Sig.ThermodynamicTemperature)); + tuple.setItem(5, Py::Long(Sig.AmountOfSubstance)); + tuple.setItem(6, Py::Long(Sig.LuminousIntensity)); + tuple.setItem(7, Py::Long(Sig.Angle)); + return tuple; +} + PyObject *UnitPy::getCustomAttributes(const char* /*attr*/) const