⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cadimage.h

📁 CAD转换工具 CAD转换工具 CAD转换工具 CAD转换工具
💻 H
字号:
/*
Copyright (c) 2002-2004 SoftGold software company

Module Name:

    cadimage.h

Description:

    Master include file CAD Image DLL version

*/
#ifndef _CADIAMGE_
#define _CADIAMGE_

#include <windows.h>

#define CS_STATIC_DLL

enum drawMode
{
	dmNormal = 0,
	dmBlack = 1,
	dmGray = 2,
};
typedef struct _CADDRAW 
{  
    DWORD Size;
    HDC DC;
    RECT R;
    BYTE DrawMode;
} CADDRAW, *LPCADDRAW;

/* for this construction use CreateCADEx with third parameter */
/* typedef struct _CADPROGRESS
{  
    HANDLE CADHandle; 
    BYTE Stage;
    BYTE PercentDone;
    BOOL RedrawNow;
    RECT R; 
    LPSTR Msg;
} CADPROGRESS, *LPCADPROGRESS; */

// Soft Gold float type (float in previous version)
typedef double sgFloat;

typedef struct _FPOINT
{
	sgFloat x;
	sgFloat y;
	sgFloat z;
} FPOINT, *LPFPOINT;

typedef union _FRECT
{
	struct
	{
		sgFloat Left;
		sgFloat Top;
		sgFloat Z1;
		sgFloat Right;
		sgFloat Bottom;
		sgFloat Z2;
	} Points;
	
	struct
	{
		FPOINT TopLeft;
		FPOINT BottomRight;
	} Corners;	
} FRECT, *LPFRECT;

typedef struct _DXFPOINT
{
	float X;
	float Y;
	float Z;
} DXFPOINT, *LPDXFPOINT;

typedef struct _DXFDATA
{
	WORD Tag;
	WORD Count;
	WORD TickCount;
	BYTE Flags;
	BYTE Style;    
	int Dimension;
    LPDXFPOINT DashDots;
    int DashDotsCount;
	int Color;
	LPVOID *Ticks;
	float Thickness;
	float Rotation;
	char* Layer;
	char* Text;
	char* FontName;
    unsigned long Handle;
    int Unused;
	DXFPOINT Point1;
	DXFPOINT Point2;
	DXFPOINT Point3;
	DXFPOINT Point4;

	union
	{		
		struct
		{
			float Radius;
			float StartAngle;
			float EndAngle;
		} Arc;
		struct
		{
			HANDLE Block;
			DXFPOINT Scale;
		} Blocks;
		struct
		{
			float FHeight;
			float FScale;
			float RWidth;
			float RHeight;
			BYTE HAlign;
			BYTE VAlign;
		} Text;
		LPDXFPOINT PolyPoints;
	} DATA;
} DXFDATA, *LPDXFDATA;

typedef enum AXES { axisX=0, axisY=1, axisZ=2 } TAxes;

typedef int (WINAPI *PROGRESSPROC)(BYTE);

#ifndef CS_STATIC_DLL 
	typedef HANDLE (WINAPI *CADLAYER)(HANDLE, DWORD, LPDXFDATA);
	typedef int    (WINAPI *CADLAYERCOUNT)(HANDLE);
	typedef int    (WINAPI *CADLAYERVISIBLE)(HANDLE, int);
	typedef int    (WINAPI *CADVISIBLE)(HANDLE, LPCSTR);
	typedef HANDLE (WINAPI *CREATECAD)(HWND, LPCSTR);
	typedef HANDLE (WINAPI *CREATECADEX)(HWND, LPCSTR, LPCSTR);
	typedef int    (WINAPI *CLOSECAD)(HANDLE);
	typedef HANDLE (WINAPI *CADLAYOUT)(HANDLE, int);	  
	typedef int    (WINAPI *CADLAYOUTBOX)(HANDLE, LPFRECT);
	typedef int    (WINAPI *CADLAYOUTNAME)(HANDLE, DWORD, LPCSTR, DWORD);
	typedef int    (WINAPI *CADLAYOUTSCOUNT)(HANDLE);                            
	typedef BOOL   (WINAPI *CADLAYOUTVISIBLE)(HANDLE, int, BOOL, BOOL);
	typedef int    (WINAPI *CADUNITS)(HANDLE, int*);
	typedef HANDLE (WINAPI *CURRENTLAYOUTCAD)(HANDLE, int, BOOL);
	typedef int    (WINAPI *DEFAULTLAYOUTINDEX)(HANDLE);
	typedef int    (WINAPI *DRAWCAD)(HANDLE, HDC, LPRECT);
	typedef int    (WINAPI *DRAWCADEX)(HANDLE, LPCADDRAW);
	typedef HANDLE (WINAPI *DRAWCADTOBITMAP)(HANDLE, LPCADDRAW);
	typedef HANDLE (WINAPI *DRAWCADTODIB)(HANDLE, LPRECT);
	typedef HANDLE (WINAPI *DRAWCADTOJPEG)(HANDLE, LPCADDRAW);
	typedef HANDLE (WINAPI *DRAWCADTOGIF)(HANDLE, LPCADDRAW);
	typedef int    (WINAPI *GETBOXCAD)(HANDLE, float*, float*);
	typedef int    (WINAPI *GETCADBORDERTYPE)(HANDLE, int*);
	typedef int    (WINAPI *GETCADBORDERSIZE)(HANDLE, double*);
	typedef int    (WINAPI *GETCADCOORDS)(HANDLE, float, float, LPFPOINT);
	typedef int    (WINAPI *GETEXTENTSCAD)(HANDLE, LPFRECT);
	typedef int    (WINAPI *GETIS3DCAD)(HANDLE, int*);
	typedef int    (WINAPI *GETLASTERRORCAD)(LPCSTR, DWORD);
	typedef int	   (WINAPI *GETNEARESTENTITY)(HANDLE, LPCSTR, DWORD, LPRECT, LPPOINT);
	typedef int    (WINAPI *GETPOINTCAD)(HANDLE, LPFPOINT);
	typedef int    (WINAPI *RESETDRAWINGBOXCAD)(HANDLE);
	typedef int    (WINAPI *SAVECADTOBITMAP)(HANDLE, LPCADDRAW, LPCSTR);
	typedef int    (WINAPI *SAVECADTOJPEG)(HANDLE, LPCADDRAW, LPCSTR);
	typedef int    (WINAPI *SAVECADTOGIF)(HANDLE, LPCADDRAW, LPCSTR);
	typedef BOOL   (WINAPI *SETBMSIZE)(int); 
	typedef int    (WINAPI *SETCADBORDERTYPE)(HANDLE, int);
	typedef int    (WINAPI *SETCADBORDERSIZE)(HANDLE, double);
	typedef int    (WINAPI *SETDEFAULTCOLOR)(HANDLE, int);
	typedef int    (WINAPI *SETDRAWINGBOXCAD)(HANDLE, LPFRECT);
	typedef int    (WINAPI *SETNULLLINEWIDTHCAD)(HANDLE, int);	
	typedef int    (WINAPI *SETPROCESSMESSAGESCAD)(HANDLE, int);
	typedef int    (WINAPI *SETPROGRESSPROC)(PROGRESSPROC);		
	typedef int    (WINAPI *SETROTATECAD)(HANDLE, float, int);
	typedef int    (WINAPI *SETSHOWLINEWEIGHTCAD) (HANDLE, int);
	typedef int    (WINAPI *STOPLOADING)();
	typedef int    (WINAPI *STRG) (LPCSTR, LPCSTR, LPCSTR);
#else
	#ifdef CS_DLL_EXPORT
		#define CS_API __declspec(dllexport)
	#else
		#define CS_API __declspec(dllimport)
	#endif
	extern "C"
	{
		CS_API HANDLE WINAPI CADLayer(HANDLE, DWORD, LPDXFDATA);
		CS_API int    WINAPI CADLayerCount(HANDLE);
		CS_API int    WINAPI CADLayerVisible(HANDLE, int);
		CS_API int    WINAPI CADVisible(HANDLE, LPCSTR);
		CS_API HANDLE WINAPI CreateCAD(HWND, LPCSTR);
		CS_API HANDLE WINAPI CreateCADEx(HWND, LPCSTR, LPCSTR);
		CS_API int    WINAPI CloseCAD(HANDLE);
		CS_API HANDLE WINAPI CADLayout(HANDLE, int);
		CS_API int    WINAPI CADLayoutBox(HANDLE, LPFRECT);
		CS_API int    WINAPI CADLayoutName(HANDLE, DWORD, LPCSTR, DWORD);
		CS_API int	  WINAPI CADLayoutsCount(HANDLE);
		CS_API BOOL   WINAPI CADLayoutVisible(HANDLE, int, BOOL, BOOL);
		CS_API int    WINAPI CADUnits(HANDLE, int*);
		CS_API HANDLE WINAPI CurrentLayoutCAD(HANDLE, int, BOOL);
		CS_API int	  WINAPI DefaultLayoutIndex(HANDLE);
		CS_API int    WINAPI DrawCAD(HANDLE, HDC, LPRECT);
		CS_API int    WINAPI DrawCADEx(HANDLE, LPCADDRAW);
		CS_API HANDLE WINAPI DrawCADtoBitmap(HANDLE, LPCADDRAW);
		CS_API HANDLE WINAPI DrawCADtoDIB(HANDLE, LPRECT);
		CS_API HANDLE WINAPI DrawCADtoJpeg(HANDLE, LPCADDRAW);
		CS_API HANDLE WINAPI DrawCADtoGif(HANDLE, LPCADDRAW);
		CS_API int    WINAPI GetBoxCAD(HANDLE, float*, float*);
		CS_API int    WINAPI GetCADBorderType(HANDLE, int*);
		CS_API int    WINAPI GetCADBorderSize(HANDLE, double*);
		CS_API int    WINAPI GetCADCoords(HANDLE, float, float, LPFPOINT);
		CS_API int    WINAPI GetExtentsCAD(HANDLE, LPFRECT);
		CS_API int    WINAPI GetIs3dCAD(HANDLE, int*);
		CS_API int    WINAPI GetLastErrorCAD(LPCSTR, DWORD);
		CS_API int    WINAPI GetNearestEntity(HANDLE, LPCSTR, DWORD, LPRECT, LPPOINT);
		CS_API int    WINAPI GetPointCAD(HANDLE, LPFPOINT);
		CS_API int    WINAPIV GetPlugInInfo(LPCSTR, LPCSTR);
		CS_API int    WINAPI ResetDrawingBoxCAD(HANDLE);
		CS_API int    WINAPI SaveCADtoBitmap(HANDLE, LPCADDRAW, LPCSTR);
		CS_API int    WINAPI SaveCADtoGif(HANDLE, LPCADDRAW, LPCSTR);
		CS_API int    WINAPI SaveCADtoJpeg(HANDLE, LPCADDRAW, LPCSTR);
		CS_API BOOL   WINAPI SetBMSize(int);
		CS_API int    WINAPI SetDefaultColor(HANDLE, int);
		CS_API int    WINAPI SetDrawingBoxCAD(HANDLE, LPFRECT);
		CS_API int    WINAPI SetCADBorderType(HANDLE, int);
		CS_API int    WINAPI SetCADBorderSize(HANDLE, double);
		CS_API int    WINAPI SetNullLineWidthCAD(HANDLE, int);
    CS_API int    WINAPI SetProcessMessagesCAD(HANDLE, int);
		CS_API void   WINAPI SetProgressProc(PROGRESSPROC);
		CS_API int    WINAPI SetRotateCAD(HANDLE, float, int);
		CS_API int    WINAPI SetShowLineWeightCAD(HANDLE, int);
		CS_API int    WINAPI StopLoading();
		CS_API int    WINAPI StRg(LPCSTR, LPCSTR, LPCSTR);
	}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -