dxflib_qcad: add dimscale support for leaders

upstream commit
049e1bf95138f32360609b83372e358963a9dd9c
This commit is contained in:
Marek Roszko 2020-11-19 19:00:36 -05:00
parent ac31cee0cc
commit 5ea6755594
3 changed files with 35 additions and 16 deletions

View File

@ -4061,6 +4061,18 @@ void DL_Dxf::writeLeaderVertex( DL_WriterA& dw,
}
}
void DL_Dxf::writeLeaderEnd( DL_WriterA& dw, const DL_LeaderData& data )
{
if( version == DL_VERSION_2000 )
{
dw.dxfString( 1001, "ACAD" );
dw.dxfString( 1000, "DSTYLE" );
dw.dxfString( 1002, "{" );
dw.dxfInt( 1070, 40 );
dw.dxfReal( 1040, data.dimScale );
dw.dxfString( 1002, "}" );
}
}
/**
* Writes the beginning of a hatch entity to the file.

View File

@ -310,6 +310,8 @@ public:
const DL_Attributes& attrib );
void writeLeaderVertex( DL_WriterA& dw,
const DL_LeaderVertexData& data );
void writeLeaderEnd( DL_WriterA& dw,
const DL_LeaderData& data );
void writeHatch1( DL_WriterA& dw,
const DL_HatchData& data,
const DL_Attributes& attrib );

View File

@ -1579,23 +1579,25 @@ struct DXFLIB_EXPORT DL_LeaderData
* Constructor.
* Parameters: see member variables.
*/
DL_LeaderData( int lArrowHeadFlag,
int lLeaderPathType,
int lLeaderCreationFlag,
int lHooklineDirectionFlag,
int lHooklineFlag,
double lTextAnnotationHeight,
double lTextAnnotationWidth,
int lNumber )
DL_LeaderData( int arrowHeadFlag,
int leaderPathType,
int leaderCreationFlag,
int hooklineDirectionFlag,
int hooklineFlag,
double textAnnotationHeight,
double textAnnotationWidth,
int number,
double dimScale = 1.0 ) :
arrowHeadFlag(arrowHeadFlag),
leaderPathType(leaderPathType),
leaderCreationFlag(leaderCreationFlag),
hooklineDirectionFlag( hooklineDirectionFlag ),
hooklineFlag( hooklineFlag ),
textAnnotationHeight( textAnnotationHeight ),
textAnnotationWidth( textAnnotationWidth ),
number( number ),
dimScale( dimScale )
{
arrowHeadFlag = lArrowHeadFlag;
leaderPathType = lLeaderPathType;
leaderCreationFlag = lLeaderCreationFlag;
hooklineDirectionFlag = lHooklineDirectionFlag;
hooklineFlag = lHooklineFlag;
textAnnotationHeight = lTextAnnotationHeight;
textAnnotationWidth = lTextAnnotationWidth;
number = lNumber;
}
/*! Arrow head flag (71). */
@ -1621,6 +1623,9 @@ struct DXFLIB_EXPORT DL_LeaderData
/*! Number of vertices in leader (76). */
int number;
/*! Dimension scale (dimscale) style override. */
double dimScale;
};