opened
alas2
username_0
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 

	if( m_ModelOrDraughting ) {stream << ","; m_ModelOrDraughting->getStepParameter( stream ); } 
////////////////////**

}
Incorrect STEP line for IFCCURVESTYLE(2X3)
issue
created
ifcquery
username_1
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/username_1/Express2SourceConverter
comment