Hi everyone,
I am familiarising myself with SysMLv2 using CATIA Magic 2026x. One of the key areas I am interested in is Evaluate functionality. Provided in the example below is the model developed to test Constraints Evaluation. I have made the model to simply evaluate whether the product's volume is greater than the driver's volume.
From this example, the volumeCheck result when evaluating part v01 was true. However, the result can be true when only scalar values are compared (500 > 499 in this example). The intention was rather to compare whether 500 L is greater than 499 m³ (499,000 L), in which the volumeCheck result should return false.
Is it possible in SysMLv2 to compare the values taking unit conversions in consideration? Or, are the units simply used only as a labelling tool?
part def Vehicle {
part cockpit {
attribute volume :> ISQ::volume = 500 [SI::L];
}
part driver {
attribute volume :> ISQ::volume = 200 [SI::'m³'];
}
assert constraint volumeCheck : VolumeCheck {
in productVolume = cockpit.volume;
in driverVolume = driver.volume;
}
}
constraint def VolumeCheck {
in productVolume : SI::L;
in driverVolume : SI::L;
productVolume > driverVolume
}
part v01 : Vehicle{
part :>> driver {
attribute :>> volume = 499 [SI::'m³'];
}
}
Thanks very much 🙂
Bright
