|
|
|
|
//
|
|
|
|
|
// Copyright (c) Advantech Corporation. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// Use of this source code is subject to the terms of the Advantech end-user
|
|
|
|
|
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
|
|
|
|
|
// If you did not accept the terms of the EULA, you are not authorized to use
|
|
|
|
|
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
|
|
|
|
|
// install media.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#if !defined(ADVDXFREADER__INCLUDED_)
|
|
|
|
|
#define ADVDXFREADER__INCLUDED_
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C"
|
|
|
|
|
{
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
#pragma once
|
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
|
|
|
|
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
|
|
|
|
#define ADVDXFREADERAPI __stdcall
|
|
|
|
|
#endif
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define CLOSE 1
|
|
|
|
|
#define NOT_CLOSE 0
|
|
|
|
|
|
|
|
|
|
#ifndef SUCCESS
|
|
|
|
|
#define SUCCESS 0
|
|
|
|
|
#endif
|
|
|
|
|
//#define PI 3.1415926535897931
|
|
|
|
|
// DXF <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtEmptyPathErr 0x01 //·<><C2B7>Ϊ<EFBFBD>մ<EFBFBD><D5B4><EFBFBD>
|
|
|
|
|
#define AtFileTypeErr 0x02 //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
|
|
|
|
|
#define AtEmptyFileErr 0x03 //<2F>ļ<EFBFBD>Ϊ<EFBFBD>մ<EFBFBD><D5B4><EFBFBD>
|
|
|
|
|
//#define AtSerialNumErr 0x04 //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>кų<D0BA><C5B3><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtSampleTypeErr 0x05 //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
|
|
|
|
|
#define AtDataLoseErr 0x06 //<2F><><EFBFBD>ݶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtCreatSpaceErr 0x07 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿռ<DDBF>ʧ<EFBFBD>ܣ<EFBFBD>mallocʧ<63>ܣ<EFBFBD>
|
|
|
|
|
#define AtInputLocusNumErr 0x08 //<2F><><EFBFBD><EFBFBD><EFBFBD>켣<EFBFBD><ECBCA3>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtLocusPtrErr 0x09 //<2F>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtInputSampleNumErr 0x0a //<2F><><EFBFBD><EFBFBD>ͼԪ<CDBC><D4AA>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtSamplePtrErr 0x0b //ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define AtInputPataErr 0x0c //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OpenDxf<78><66><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define CW 0
|
|
|
|
|
#define CCW 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtOpenDXF(char *dxfFilePath, //<2F>ļ<EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
double Proportion, //CAD<41><44>ʵ<EFBFBD><CAB5>ͼ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>е<EFBFBD>ͼ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
|
|
|
|
DWORD Ellipse_Cut_Min_Angel, //<2F>ָ<EFBFBD><D6B8>鲹<EFBFBD><E9B2B9>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>С<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
DWORD Spline_Cut_Step //һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ֱ<EFBFBD>߶<EFBFBD>
|
|
|
|
|
); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetType(DWORD * Type,
|
|
|
|
|
DWORD Direction,
|
|
|
|
|
DWORD Locus_Num,
|
|
|
|
|
DWORD Sample_Num);
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetArc(double * Center_x, //Բ<><D4B2>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xֵ
|
|
|
|
|
double * Center_y, //Բ<><D4B2>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yֵ
|
|
|
|
|
double * Center_z, //Բ<><D4B2>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zֵ
|
|
|
|
|
double * r, //Բ<><D4B2><EFBFBD>İ뾶
|
|
|
|
|
double * Start_X, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
|
|
|
|
|
double * Start_Y, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
double * Start_Z, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
double * End_X, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
|
|
|
|
|
double * End_Y, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
|
|
|
|
|
double * End_Z, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
|
|
|
|
|
DWORD * MoveDirection, //<2F>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double * Start_Angle, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
double * End_Angle, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
DWORD * Plane, //Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
|
|
DWORD Direction, //<2F>켣<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|
|
|
|
DWORD Locus_Num, //<2F>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
DWORD Sample_Num); //ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetLine(double *Start_x, //ֱ<><D6B1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xֵ
|
|
|
|
|
double *Start_y, //ֱ<><D6B1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yֵ
|
|
|
|
|
double *Start_z, //ֱ<><D6B1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zֵ
|
|
|
|
|
double *End_x, //ֱ<><D6B1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xֵ
|
|
|
|
|
double *End_y, //ֱ<><D6B1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yֵ
|
|
|
|
|
double *End_z, //ֱ<><D6B1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zֵ
|
|
|
|
|
double *k, //ֱ<>ߵ<EFBFBD>б<EFBFBD><D0B1>
|
|
|
|
|
DWORD Direction, //<2F>켣<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|
|
|
|
DWORD Locus_Num, //<2F>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
DWORD Sample_Num);//ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetPoint(double *Point_x,//Point's x value
|
|
|
|
|
double *Point_y,//Point's y value
|
|
|
|
|
double *Point_z,//Point's z value
|
|
|
|
|
DWORD Direction, //<2F>켣<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|
|
|
|
DWORD Locus_Num, //<2F>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
DWORD Sample_Num);//ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetMostValue( double * Min_x, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
|
|
|
|
|
double * Min_y, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>
|
|
|
|
|
double * Min_z, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD>
|
|
|
|
|
double * Max_x, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
|
|
|
|
|
double * Max_y, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>
|
|
|
|
|
double * Max_z //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetLocusCount( DWORD * Count); //<2F><>ȡ<EFBFBD>켣<EFBFBD><ECBCA3><EFBFBD><EFBFBD>Ŀ
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtGetSampleCount(DWORD * Count, //<2F><>Locus_Num<75><6D><EFBFBD>켣<EFBFBD><ECBCA3>ͼԪ<CDBC>ĸ<EFBFBD><C4B8><EFBFBD>
|
|
|
|
|
DWORD Locus_Num); //<2F>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>켣
|
|
|
|
|
LRESULT ADVDXFREADERAPI AtCloseDXF();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif
|