kicad2step: provide a basic default product name
It would be ideal if it would use the s-expr kicad_pcb.general.title_block.title by default, and then fall back to something based on the output step file, but even just the output step file is a far better default than the "open cascade step translator version..." text it uses at the moment. Similar improvements using the title_block would be future work. Signed-off-by: Karl Palsson <karlp@etactica.com>
This commit is contained in:
parent
d18afa42cd
commit
658bc2f4b2
|
@ -914,16 +914,26 @@ bool PCBMODEL::WriteSTEP( const wxString& aFileName )
|
||||||
ReportMessage( wxString::Format( "No valid PCB assembly; cannot create output file %s\n", aFileName ) );
|
ReportMessage( wxString::Format( "No valid PCB assembly; cannot create output file %s\n", aFileName ) );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
wxFileName fn( aFileName );
|
||||||
|
|
||||||
STEPCAFControl_Writer writer;
|
STEPCAFControl_Writer writer;
|
||||||
writer.SetColorMode( Standard_True );
|
writer.SetColorMode( Standard_True );
|
||||||
writer.SetNameMode( Standard_True );
|
writer.SetNameMode( Standard_True );
|
||||||
|
|
||||||
|
// This must be set before we "transfer" the document.
|
||||||
|
// Should default to kicad_pcb.general.title_block.title,
|
||||||
|
// but in the meantime, defaulting to the basename of the output
|
||||||
|
// target is still better than "open cascade step translter v..."
|
||||||
|
// UTF8 should be ok from ISO 10303-21:2016, but... older stuff? use boring ascii
|
||||||
|
if( !Interface_Static::SetCVal("write.step.product.name", fn.GetName().ToAscii()) ) {
|
||||||
|
wxString s("Failed to set step product name, but will attempt to continue");
|
||||||
|
ReportMessage(s);
|
||||||
|
}
|
||||||
|
|
||||||
if( Standard_False == writer.Transfer( m_doc, STEPControl_AsIs ) )
|
if( Standard_False == writer.Transfer( m_doc, STEPControl_AsIs ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
APIHeaderSection_MakeHeader hdr( writer.ChangeWriter().Model() );
|
APIHeaderSection_MakeHeader hdr( writer.ChangeWriter().Model() );
|
||||||
wxFileName fn( aFileName );
|
|
||||||
// Note: use only Ascii7 chars, non Ascii7 chars (therefore UFT8 chars)
|
// Note: use only Ascii7 chars, non Ascii7 chars (therefore UFT8 chars)
|
||||||
// are creating issues in the step file
|
// are creating issues in the step file
|
||||||
hdr.SetName( new TCollection_HAsciiString( fn.GetFullName().ToAscii() ) );
|
hdr.SetName( new TCollection_HAsciiString( fn.GetFullName().ToAscii() ) );
|
||||||
|
|
Loading…
Reference in New Issue