buildingSMART / NextGen-IFC

61 stars 4 forks source link

expressions and variables #31

Open HerbertDobernig opened 4 years ago

HerbertDobernig commented 4 years ago

Description of the proposal:

Expressions and variables are useful for parameterizable designs (e.g. late fixing of storey height). Additionally, functional and logical dependencies can be represented by expressions. In electrical engineering we use this as well for repeated analysis (simulation) with different electrical properties of a component. See: https://www.analog.com/en/technical-articles/ltspice-using-the-step-command-to-perform-repeated-analysis.html

The common way to mark expressions is to embrace the expression by curly brackets. e.g.: { 70% * STOREY_HEIGHT } where STOREY_HEIGHT is a variable to be substituted later by value or another expression

Describe how it contributes to the objectives set in https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC: technology independence due to common mechanism used for expressions

What do we win: exchange of parameterized designs

What do we loose nothing

Schema impact: none

Instance model impact: ?

Backwards compatible: yes

Automatic migration possible: yes

Additional implications: unknown

EAzari commented 4 years ago

I like it, it causes be so close to the Modelica method for co-simulation

And equation development: 1) Inputs 2) Outputs 3) State Variables 4) State Equations 5) Output Equation

pjanck commented 4 years ago

Additional resource describing how to formally do this: PhD Thesis by Julian Amann