Skip to content

Commit

Permalink
Some fixes in unit system
Browse files Browse the repository at this point in the history
  • Loading branch information
jriegel committed Dec 8, 2013
1 parent b602501 commit cfa7045
Show file tree
Hide file tree
Showing 10 changed files with 282 additions and 210 deletions.
9 changes: 5 additions & 4 deletions src/App/FreeCADInit.py
Expand Up @@ -136,6 +136,7 @@ def InitApplications():
App.GuiUp = 0

# fill up unit definitions

App.Units.NanoMetre = App.Units.Quantity('nm')
App.Units.MicroMetre = App.Units.Quantity('ym')
App.Units.MilliMetre = App.Units.Quantity('mm')
Expand Down Expand Up @@ -170,9 +171,9 @@ def InitApplications():
App.Units.Candela = App.Units.Quantity('cd')

App.Units.Inch = App.Units.Quantity('in')
App.Units.Foot = App.Units.Quantity('fo')
App.Units.Thou = App.Units.Quantity('th')
App.Units.Yard = App.Units.Quantity('yr')
App.Units.Foot = App.Units.Quantity('ft')
App.Units.Thou = App.Units.Quantity('thou')
App.Units.Yard = App.Units.Quantity('yd')
App.Units.Mile = App.Units.Quantity('mi')

App.Units.Pound = App.Units.Quantity('lb')
Expand All @@ -195,7 +196,7 @@ def InitApplications():
App.Units.Watt = App.Units.Quantity('W')
App.Units.VoltAmpere = App.Units.Quantity('VA')

App.Units.Joul = App.Units.Quantity('J')
App.Units.Joule = App.Units.Quantity('J')
App.Units.NewtonMeter = App.Units.Quantity('Nm')
App.Units.VoltAmpereSecond = App.Units.Quantity('VAs')
App.Units.WattSecond = App.Units.Quantity('Ws')
Expand Down
4 changes: 2 additions & 2 deletions src/Base/Parser.sh
@@ -1,2 +1,2 @@
flex -oQuantityLexer.c QuantityParser.l
bison -oQuantityParser.c QuantityParser.y
flex -oQuantityLexer.c < QuantityParser.l
bison -oQuantityParser.c QuantityParser.y
8 changes: 7 additions & 1 deletion src/Base/Quantity.cpp
Expand Up @@ -210,6 +210,8 @@ Quantity Quantity::Ounce (0.0283495231 ,Unit(0,1));
Quantity Quantity::Stone (6.35029318 ,Unit(0,1));
Quantity Quantity::Hundredweights (50.80234544 ,Unit(0,1));

Quantity Quantity::PoundForce (224.81 ,Unit(1,1,-2)); // Newton are ~= 0.22481 lbF

Quantity Quantity::Newton (1000.0 ,Unit(1,1,-2)); // Newton (kg*m/s^2)
Quantity Quantity::KiloNewton (1e+6 ,Unit(1,1,-2));
Quantity Quantity::MegaNewton (1e+9 ,Unit(1,1,-2));
Expand All @@ -220,13 +222,17 @@ Quantity Quantity::KiloPascal (1.00 ,Unit(-1,1,-2));
Quantity Quantity::MegaPascal (1000.0 ,Unit(-1,1,-2));
Quantity Quantity::GigaPascal (1e+6 ,Unit(-1,1,-2));

Quantity Quantity::Torr (101.325/760.0 ,Unit(-1,1,-2)); // Torr is a defined fraction of Pascal (kg/m*s^2 or N/m^2)
Quantity Quantity::mTorr (0.101325/760.0,Unit(-1,1,-2)); // Torr is a defined fraction of Pascal (kg/m*s^2 or N/m^2)
Quantity Quantity::yTorr (0.000101325/760.0 ,Unit(-1,1,-2)); // Torr is a defined fraction of Pascal (kg/m*s^2 or N/m^2)

Quantity Quantity::PSI (0.145038 ,Unit(-1,1,-2)); // pounds/in^2
Quantity Quantity::KSI (145.038 ,Unit(-1,1,-2)); // 1000 x pounds/in^2

Quantity Quantity::Watt (1e+6 ,Unit(2,1,-3)); // Watt (kg*m^2/s^3)
Quantity Quantity::VoltAmpere (1e+6 ,Unit(2,1,-3)); // VoltAmpere (kg*m^2/s^3)

Quantity Quantity::Joul (1e+6 ,Unit(2,1,-2)); // Joule (kg*m^2/s^2)
Quantity Quantity::Joule (1e+6 ,Unit(2,1,-2)); // Joule (kg*m^2/s^2)
Quantity Quantity::NewtonMeter (1e+6 ,Unit(2,1,-2)); // Joule (kg*m^2/s^2)
Quantity Quantity::VoltAmpereSecond (1e+6 ,Unit(2,1,-2)); // Joule (kg*m^2/s^2)
Quantity Quantity::WattSecond (1e+6 ,Unit(2,1,-2)); // Joule (kg*m^2/s^2)
Expand Down
8 changes: 7 additions & 1 deletion src/Base/Quantity.h
Expand Up @@ -145,6 +145,8 @@ class BaseExport Quantity
static Quantity Hundredweights;
static Quantity Mile;

static Quantity PoundForce;

static Quantity Newton;
static Quantity KiloNewton;
static Quantity MegaNewton;
Expand All @@ -155,13 +157,17 @@ class BaseExport Quantity
static Quantity MegaPascal;
static Quantity GigaPascal;

static Quantity Torr;
static Quantity mTorr;
static Quantity yTorr;

static Quantity PSI;
static Quantity KSI;

static Quantity Watt;
static Quantity VoltAmpere;

static Quantity Joul;
static Quantity Joule;
static Quantity NewtonMeter;
static Quantity VoltAmpereSecond;
static Quantity WattSecond;
Expand Down

0 comments on commit cfa7045

Please sign in to comment.