Avoid scaling unity models
There is no benefit to applying the identity transformation to models when exporting the board to STEP Fixes https://gitlab.com/kicad/code/kicad/issues/12036
This commit is contained in:
parent
f78671fc2e
commit
98431eed79
|
@ -1379,7 +1379,6 @@ TDF_Label PCBMODEL::transferModel( Handle( TDocStd_Document )& source,
|
||||||
Handle( TDocStd_Document )& dest, TRIPLET aScale )
|
Handle( TDocStd_Document )& dest, TRIPLET aScale )
|
||||||
{
|
{
|
||||||
// transfer data from Source into a top level component of Dest
|
// transfer data from Source into a top level component of Dest
|
||||||
|
|
||||||
gp_GTrsf scale_transform;
|
gp_GTrsf scale_transform;
|
||||||
scale_transform.SetVectorialPart( gp_Mat( aScale.x, 0, 0,
|
scale_transform.SetVectorialPart( gp_Mat( aScale.x, 0, 0,
|
||||||
0, aScale.y, 0,
|
0, aScale.y, 0,
|
||||||
|
@ -1412,18 +1411,22 @@ TDF_Label PCBMODEL::transferModel( Handle( TDocStd_Document )& source,
|
||||||
|
|
||||||
if( !shape.IsNull() )
|
if( !shape.IsNull() )
|
||||||
{
|
{
|
||||||
brep.Perform( shape, Standard_False );
|
TopoDS_Shape scaled_shape( shape );
|
||||||
TopoDS_Shape scaled_shape;
|
|
||||||
|
|
||||||
if( brep.IsDone() )
|
if( aScale.x != 1.0 || aScale.y != 1.0 || aScale.z != 1.0 )
|
||||||
{
|
{
|
||||||
scaled_shape = brep.Shape();
|
brep.Perform( shape, Standard_False );
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ReportMessage( wxT( " * transfertModel(): failed to scale model\n" ) );
|
|
||||||
|
|
||||||
scaled_shape = shape;
|
if( brep.IsDone() )
|
||||||
|
{
|
||||||
|
scaled_shape = brep.Shape();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ReportMessage( wxT( " * transfertModel(): failed to scale model\n" ) );
|
||||||
|
|
||||||
|
scaled_shape = shape;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TDF_Label niulab = d_assy->AddComponent( component, scaled_shape, Standard_False );
|
TDF_Label niulab = d_assy->AddComponent( component, scaled_shape, Standard_False );
|
||||||
|
|
Loading…
Reference in New Issue