读取dxf文件,并对entities部分解析,调用mfc二维画图,包括缩放。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-12 10:27 CDxfCode_MFC
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCode
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeCDxfCode
文件 1345 2016-08-18 09:56 CDxfCode_MFCCDxfCodeCDxfCode.sln
文件 34304 2016-10-08 17:38 CDxfCode_MFCCDxfCodeCDxfCode.suo
文件 4833 2016-10-10 12:42 CDxfCode_MFCCDxfCodeCDxfCodeCArc.cpp
文件 1882 2016-10-10 13:57 CDxfCode_MFCCDxfCodeCDxfCodeCCircle.cpp
文件 19396 2016-10-09 15:42 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.aps
文件 1129 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.cpp
文件 88 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.def
文件 407 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.h
文件 6182 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.rc
文件 6105 2016-08-18 15:55 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj
文件 2622 2016-08-18 15:01 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj.filters
文件 143 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj.user
文件 2471 2016-08-18 17:18 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCodeDll.cpp
文件 7439 2016-10-10 12:16 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCodeDll.h
文件 916 2016-08-18 17:52 CDxfCode_MFCCDxfCodeCDxfCodeCEntity.cpp
文件 1765 2016-09-28 16:46 CDxfCode_MFCCDxfCodeCDxfCodeCLine.cpp
文件 40 2016-08-18 14:35 CDxfCode_MFCCDxfCodeCDxfCodeCPosition.cpp
文件 2155 2016-09-28 16:46 CDxfCode_MFCCDxfCodeCDxfCodeCRectangle.cpp
目录 0 2016-10-12 10:28 CDxfCode_MFCCDxfCodeCDxfCodeDebug
文件 2488 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeReadMe.txt
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeCDxfCode
es
文件 364 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeResource.h
文件 672 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCode
esCDxfCode.rc2
文件 139 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodestdafx.cpp
文件 1131 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodestdafx.h
文件 236 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCode argetver.h
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeipch
目录 0 2016-10-08 11:02 CDxfCode_MFCCDxfCodeipchdraw-a3396146
............此处省略47个文件信息
#pragma once
#include “stdafx.h“
#include “CDxfCodeDll.h“
#include “math.h“
IMPLEMENT_SERIAL(CArc CEntity 0)
CArc::CArc()
{
Init();
}
CArc::~CArc()
{
}
void CArc::Init()
{
CEntity::Init();
m_type = etArc;
m_center.Init();
m_begin.Init() ;
m_end.Init() ;
m_fStartAngle = 0.0;
m_fEndAngle = 0.0;
m_iDirection = CLOCKWISE;
}
CArc::CArc(const CArc& arc)
{
m_center = arc.m_center;
m_begin = arc.m_begin ;
m_end = arc.m_end ;
m_iDirection = CLOCKWISE;
}
CArc::CArc(const Position& centerdouble startAngledouble endAngledouble Radium)
{
Init();
m_center = center;
m_fStartAngle = startAngle;
m_fEndAngle = endAngle;
m_dRadius = Radium;
if (startAngle>endAngle)//////判断是顺时针还是逆时针;
{
m_iDirection = COUNTERCLOCKWISE;
}
else
{
m_iDirection = CLOCKWISE;
}
double startAnglePIendAnglePI;
startAnglePI = m_fStartAngle*PI/180.0;
endAnglePI = m_fEndAngle*PI/180.0;
m_begin.x = m_dRadius*cos(startAnglePI)+m_center.x;
m_begin.y = m_dRadius*sin(startAnglePI)+m_center.y;
m_end.x = m_dRadius*cos(endAnglePI)+m_center.x;
m_end.y = m_dRadius*sin(endAnglePI)+m_center.y;
///////求起点的坐标和终点的坐标
//double x1y1kStartkEndstartAnglePIendAnglePIDelta;
//Position temPosStart1temPosStart2temPosEnd1temPosEnd2temPos;
//x1 = m_center.x;
//y1 = m_center.y;
//startAnglePI = m_fStartAngle*PI/180.0;
//endAnglePI = m_fEndAngle*PI/180.0;
//kStart = tan(startAnglePI);
//kEnd = tan(endAnglePI);
//////temPosStart1.x>temPosStart2.x
//Delta = (2*x1+2*kStart*y1)*(2*x1+2*kStart*y1)-4*(1+kStart*kStart)*(x1*x1+y1*y1-m_dRadius*m_dRadius);
//temPosStart1.x = (2*x1+2*kStart*y1+sqrt(Delta))/(2+2*kStart*kStart);
//temPosStart1.y = temPosStart1.x*kStart;
//temPosStart2.x = (2*x1+2*kStart*y1-sqrt(Delta))/(2+2*kStart*kStart);
//temPosStart2.y = temPosStart1.x*kStart;
///////temPosEnd1.x>temPosEnd2.x
//Delta = (2*x1+2*kEnd*y1)*(2*x1+2*kEnd*y1)-4*(1+kEnd*kEnd)*(x1*x1+y1*y1-m_dRadius*m_dRadius);
//temPosEnd1.x = (2*x1+2*kEnd*y1+sqrt(Delta))/(2+2*kEnd*kEnd);
//temPosEnd1.y = temPosEnd1.x*kEnd;
//temPosEnd2.x = (2*x1+2*kEnd*y1-sqrt(Delta))/(2+2*kEnd*kEnd);
//temPosEnd2.y = temPosEnd2.x*kEnd;
}
CArc::CArc(const Position& centerconst Position& pos1 const Position& pos2)
{
Init();
m_center = center ;
m_begin = pos1 ;
double radius = m_center.Distance(m_begin) ;
double angle1 = GetAngleToXAxis(center pos1);
double angle2 = GetAngleToXAxis(center pos2);
m_begin = pos1;
m_end.x = radius * cos(angle2) + m_center.x ;
m_end.y = radius * sin(angle2) + m_center.y ;
}
Position CArc::GetEndPos()
{
return m_end;
}
Position CArc::GetBeginPos()
{
return m_begin;
}
Position CArc::GetCenterPos()
{
return m_center ;
}
void CArc::SetBeginPos(Position p)
{
m_begin.x=p.x;
m_begin.y=p.y;
}
void CArc::SetEndPos(Position p)
{
m_end.x=p.x;
m_end.y=p.y;
}
void CArc::SetCenterPos(Position p)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-12 10:27 CDxfCode_MFC
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCode
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeCDxfCode
文件 1345 2016-08-18 09:56 CDxfCode_MFCCDxfCodeCDxfCode.sln
文件 34304 2016-10-08 17:38 CDxfCode_MFCCDxfCodeCDxfCode.suo
文件 4833 2016-10-10 12:42 CDxfCode_MFCCDxfCodeCDxfCodeCArc.cpp
文件 1882 2016-10-10 13:57 CDxfCode_MFCCDxfCodeCDxfCodeCCircle.cpp
文件 19396 2016-10-09 15:42 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.aps
文件 1129 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.cpp
文件 88 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.def
文件 407 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.h
文件 6182 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.rc
文件 6105 2016-08-18 15:55 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj
文件 2622 2016-08-18 15:01 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj.filters
文件 143 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCode.vcxproj.user
文件 2471 2016-08-18 17:18 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCodeDll.cpp
文件 7439 2016-10-10 12:16 CDxfCode_MFCCDxfCodeCDxfCodeCDxfCodeDll.h
文件 916 2016-08-18 17:52 CDxfCode_MFCCDxfCodeCDxfCodeCEntity.cpp
文件 1765 2016-09-28 16:46 CDxfCode_MFCCDxfCodeCDxfCodeCLine.cpp
文件 40 2016-08-18 14:35 CDxfCode_MFCCDxfCodeCDxfCodeCPosition.cpp
文件 2155 2016-09-28 16:46 CDxfCode_MFCCDxfCodeCDxfCodeCRectangle.cpp
目录 0 2016-10-12 10:28 CDxfCode_MFCCDxfCodeCDxfCodeDebug
文件 2488 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeReadMe.txt
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeCDxfCode
es
文件 364 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodeResource.h
文件 672 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCode
esCDxfCode.rc2
文件 139 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodestdafx.cpp
文件 1131 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCodestdafx.h
文件 236 2016-08-18 09:22 CDxfCode_MFCCDxfCodeCDxfCode argetver.h
目录 0 2016-10-12 10:26 CDxfCode_MFCCDxfCodeipch
目录 0 2016-10-08 11:02 CDxfCode_MFCCDxfCodeipchdraw-a3396146
............此处省略47个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)