Open alas2 opened 6 years ago
The attribute ModelOrDraughting was introduced in IFC4. The IFC version implemented in IFC++ is IFC4, so it is correct to write the attribute. If you want to export in older IFC versions, you need the IFC classes in that version. You can use this tool for that: https://github.com/ifcquery/Express2SourceConverter
In the code below, if ModelOrDraughting is nullptr then should not be exported at all not even $. For instance, for IFC2X3 it doesn't have this value.
void IfcCurveStyle::getStepLine( std::stringstream& stream ) const { stream << "#" << m_id << "= IFCCURVESTYLE" << "("; if( m_Name ) { m_Name->getStepParameter( stream ); } else { stream << "*"; } stream << ","; if( m_CurveFont ) { m_CurveFont->getStepParameter( stream, true ); } else { stream << "$" ; } stream << ","; if( m_CurveWidth ) { m_CurveWidth->getStepParameter( stream, true ); } else { stream << "$" ; } stream << ","; if( m_CurveColour ) { m_CurveColour->getStepParameter( stream, true ); } else { stream << "$" ; } **//////////////////////////// stream << ","; if( m_ModelOrDraughting ) { m_ModelOrDraughting->getStepParameter( stream ); } else { stream << "$"; } stream << ");";
/// Change to
////////////////////**
}