You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ENTITY IfcIntegerVoxelData
SUBTYPE OF (IfcVoxelData);
Values : ARRAY [1:GridSize] OF IfcInteger;
Unit : OPTIONAL IfcUnit;
DERIVE
GridSize : IfcInteger := SIZEOF(SELF\IfcProduct.Representation.Representations[1].Items[1]\IfcVoxelGrid.Voxels);
END_ENTITY;
Usage of DERIVED attribute GridSize seems incorrect here as in the moment of IfcIntegerVoxelData creation GridSize is UNSET and ARRAY can not be instantiated in terms of EXPRESS, ISO 10303 p.11 says:
8.2.1 Array data type
NOTE 1 The bounds may be positive, negative or zero, but may not be indeterminate (?) (see 14.2).
That's why probably all previous IFC schemas use approach with kind of attribute "duplication", as
ENTITY IfcRationalBSplineCurveWithKnots
SUBTYPE OF (IfcBSplineCurveWithKnots);
WeightsData : LIST [2:?] OF IfcReal;
DERIVE
Weights : ARRAY [0:UpperIndexOnControlPoints] OF IfcReal := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
which looks more correct.
The text was updated successfully, but these errors were encountered:
Yes, that is correct. I can confirm that is not only an issue in EXPRESS but also in other languages (obviously 😄 ).
Same problem popped up I tried to compile the toolkit.
As proposed in a separate conversation, let's look at the updated proposal which I would post here once we aligned. After that I will create a PR with the amended code.
Usage of DERIVED attribute GridSize seems incorrect here as in the moment of IfcIntegerVoxelData creation GridSize is UNSET and ARRAY can not be instantiated in terms of EXPRESS, ISO 10303 p.11 says:
8.2.1 Array data type
NOTE 1 The bounds may be positive, negative or zero, but may not be indeterminate (?) (see 14.2).
That's why probably all previous IFC schemas use approach with kind of attribute "duplication", as
which looks more correct.
The text was updated successfully, but these errors were encountered: