-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IFCMASSMEASURE and some other IFC types are not read when they have explicit IFC constructors #203
Comments
I just tested an example: #266940= IFCPROPERTYSINGLEVALUE('Weight',$,IFCMASSMEASURE(0.89336550494179),$); It is read correctly. Please check again, and use a debugger to reproduce a possible problem. If the problem persists, please provide the complete IFC file. |
Thanks. The file that I have is very large and it is difficult to reduce it. By looking at the IFC++ code, the sample you have should work fine as IFCQUANTITYWEIGHT reads doubles... etc different than IFCPROPERTYSINGLEVALUE. void IfcPropertySingleValue::readStepArguments( const std::vectorstd::wstring& args, const std::map<int,shared_ptr >& map ) IfcValue::createObjectFromSTEP( args[2], map ) While IfcQuantityWeight void IfcQuantityWeight::readStepArguments( const std::vectorstd::wstring& args, const std::map<int,shared_ptr >& map ) Within this function fcMassMeasure::createObjectFromSTEP( args[3], map ) } inline void readReal( const std::wstring& attribute_value, double& target ) |
IFCQUANTITYWEIGHT -Not Read.zip Please find attached file where IFCQUANTITYWEIGHT are NOT read. The issue same as mentioned alas2 commented on Dec 1, 2020 in all the above functions. Am hoping this will be fixed as every time we update the library we have to keep track of our local changes to fix this. Best regards, |
IfcMassMeasure is not defined as SELECT data type: TYPE IfcMassMeasure = REAL; Whereas IfcValue is defined as SELECT type: TYPE IfcValue = SELECT SELECT types need the explicit type written out like this: Because otherwise it wouldn't be clear which one it is. I can implement a change for all classes derived from IfcPhysicalSimpleQuantity, but currently that is not a priority |
For example, '#74= IFCQUANTITYWEIGHT('GrossWeight',$,$,IFCMASSMEASURE(196000.),$);'
readReal() in ReaderUtil.h expects double only i.e. 196000. not IFCMASSMEASURE(196000.). The same applies for readInteger(), readLogical(), readBool(), and readIntegerValue()
The text was updated successfully, but these errors were encountered: