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

📄 sgcadimage.pas

📁 CAD转换工具 CAD转换工具 CAD转换工具 CAD转换工具
💻 PAS
字号:
{************************************************************}
{                                                            }
{                                                            }
{          CAD Image DLL version  function definitions       }
{                                                            }
{      Copyright (c) 2002-2004 SoftGold software company     }
{                                                            }
{************************************************************}

unit sgcadimage;

interface

uses Windows, SysUtils, Classes, sgConsts;

const
  CADImage = 'CADImage.dll';


type
  PCADDraw = ^TCADDraw;
  TCADDraw = packed record
    Size: DWORD;
    DC: HDC;
    R: TRect;
    DrawMode: Byte;
  end;

{ use with CreateCADEx
const
  CAD_BASE = $8001;
  CAD_PROGRESS = CAD_BASE + 0;

type
  PCADProgress = ^TCADProgress;
  TCADProgress = packed record
    CADHandle: THandle;
    Stage: Byte;
    PercentDone: Byte;
    RedrawNow: Boolean;
    R: TRect;
    Msg: PChar;
  end;
}

  TProgressProc = function(PercentDone: Byte): Integer; stdcall;

{$IFDEF CS_STATIC_DLL}
  TCADLayer = function(Handle: THandle; Index: DWORD;
    Data: PdxfData): THandle; stdcall;
  TCADLayerCount = function(Handle: THandle): DWORD; stdcall;
  TCADLayerVisible = function(Handle: THandle; Visible: Integer): Integer; stdcall;
  TCADLayout = function(Handle: THandle; Index: DWORD): THandle; stdcall;
  TCADLayoutName = function(Handle: THandle; Index: DWORD; Name: PChar; nSize: DWORD): Integer; stdcall;
  TCADLayoutsCount = function(Handle: THandle): DWORD; stdcall;
  TCADLayoutVisible = function(Handle: THandle; Index: DWORD; DoSetVisible, NewValue: BOOL): BOOL; stdcall;
  TCurrentLayoutCAD = function(Handle: THandle; Index: DWORD; DoChange: BOOL): THandle; stdcall;
  TCADLTScale = function(Handle: THandle; var AScale: Double): Integer; stdcall;
  TCADVisible = function(Handle: THandle; LayerName: PChar): Integer; stdcall;
  TCloseCAD = function(Handle: THandle): Integer; stdcall;
  TCreateCAD = function(Window: HWnd; FileName: PChar): THandle; stdcall;
  TCreateCADEx = function(Window: HWnd; FileName, Param: PChar): THandle; stdcall;
  TDefaultLayoutIndex = function(Handle: THandle): Integer; stdcall;
  TDrawCAD = function(Handle: THandle; DC: HDC;
    const R: TRect): Integer; stdcall;
  TDrawCADEx = function(Handle: THandle; const CADDraw: TCADDraw): Integer; stdcall;
  TDrawCADtoBitmap = function(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
  TDrawCADtoDIB = function(Handle: THandle; const R: TRect): THandle; stdcall;
  TDrawCADtoGif = function(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
  TDrawCADtoJpeg = function(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
  TGetBoxCAD = function(Handle: THandle; var AbsWidth, AbsHeight: Single): Integer; stdcall;
  TGetExtentsCAD = function(Handle: THandle; var ARect: TFRect): Integer; stdcall;
  TGetIs3dCAD = function(Handle: THandle; var AIs3D: Integer): Integer; stdcall;
  TGetLastErrorCAD = function(Buf: PChar; nSize: DWORD): Integer; stdcall;
  TGetPlugInInfo = function(Version: PChar; Formats: PChar): Integer; cdecl;
  TGetBoxCAD = function(Handle: THandle; var AbsWidth, AbsHeight: Single): Integer; stdcall;
  TGetCADCoords = function(Handle: THandle; const AXScaled, AYScaled: Single; var Coord: TFPoint): Integer; stdcall;
  TGetNearestEntity = function(Handle: THandle; Buf: PChar; nSize: DWORD; const R: TRect; var APoint: TPoint): THandle; stdcall;
  TGetPointCAD = function(Handle: THandle; var APoint: TFPoint): Integer; stdcall;
  TReadCAD = function(FileName: PChar; ErrorText: PChar): THandle; cdecl;
  TResetDrawingBoxCAD = function(Handle: THandle): Integer; stdcall;
  TSaveCADtoBitmap = function(Handle: THandle, const CADDraw: TCADDraw, FileName: PChar): Integer; stdcall;
  TSaveCADtoJpeg = function(Handle: THandle; const CADDraw: TCADDraw; FileName: PChar): Integer; stdcall;
  TSaveCADtoGif = function(Handle: THandle; const CADDraw: TCADDraw; FileName: PChar): Integer; stdcall;
  TSetBlackWhite = function(Handle: THandle; CMode: Integer): DWORD; stdcall;
  TSetBMSize = function(Value: Integer): BOOL; cdecl;
  TSetDefaultColor = function(Handle: THandle; const ADefaultColor: TColor): Integer; stdcall;
  TSetDrawingBoxCAD = function(Handle: THandle; const ABox: TFRect): Integer; stdcall;
  TSetProcessMessagesCAD = function(Handle: THandle; const AIsProcess: Integer): Integer; stdcall;
  TSetProgressProc = function(AProgressProc: TProgressProc): Integer; stdcall;
  TSetRotateCAD = function(Handle: THandle; const AAngle: Single;
    const AAxis: Integer): Integer; stdcall;
  TStopLoading = function: Integer; stdcall;

{$ELSE}
  function CADLayer(Handle: THandle; Index: DWORD;
    Data: PdxfData): THandle; stdcall; external CADImage name 'CADLayer';
  function CADLayerCount(Handle: THandle): DWORD; stdcall;
    external CADImage name 'CADLayerCount';
  function CADLayerVisible(Handle: THandle;
    Visible: Integer): Integer; stdcall; external CADImage name 'CADLayerVisible';
  function CADLayout(Handle: THandle; Index: DWORD): THandle; stdcall;
    external CADImage name 'CADLayout';
  function CADLayoutName(Handle: THandle; Index: DWORD; Name: PChar; nSize: DWORD): Integer; stdcall;
    external CADImage name 'CADLayoutName';
  function CADLayoutsCount(Handle: THandle): DWORD; stdcall;
    external CADImage name 'CADLayoutsCount';
  function CADLayoutVisible(Handle: THandle; Index: DWORD; DoSetVisible, NewValue: BOOL): BOOL; stdcall;
    external CADImage name 'CADLayoutVisible';
  function CurrentLayoutCAD(Handle: THandle; Index: DWORD; DoChange: BOOL): THandle; stdcall;
    external CADImage name 'CurrentLayoutCAD';
  function CADLTScale(Handle: THandle; var AScale: Double): Integer; stdcall;
    external CADImage name 'CADLTScale';
  function CloseCAD(Handle: THandle): Integer; stdcall;
    external CADImage name 'CloseCAD';
  function CADVisible(Handle: THandle; LayerName: PChar): Integer; stdcall;
    external CADImage name 'CADVisible';
  function CreateCAD(Window: HWnd; FileName: PChar): THandle; stdcall;
    external CADImage name 'CreateCAD';
  function CreateCADEx(Window: HWnd; FileName, Param: PChar): THandle; stdcall;
    external CADImage name 'CreateCADEx';
  function DefaultLayoutIndex(Handle: THandle): Integer; stdcall;
    external CADImage name 'DefaultLayoutIndex';
  function DrawCAD(Handle: THandle; DC: HDC; const R: TRect): Integer; stdcall;
    external CADImage name 'DrawCAD';
  function DrawCADEx(Handle: THandle; const CADDraw: TCADDraw): Integer; stdcall;
    external CADImage name 'DrawCADEx';
  function DrawCADtoBitmap(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
    external CADImage name 'DrawCADtoBitmap';
  function DrawCADtoDIB(Handle: THandle; const R: TRect): THandle; stdcall;
    external CADImage name 'DrawCADtoDIB';
  function DrawCADtoGif(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
    external CADImage name 'DrawCADtoGif';
  function DrawCADtoJpeg(Handle: THandle; const CADDraw: TCADDraw): THandle; stdcall;
    external CADImage name 'DrawCADtoJpeg';
  function GetBoxCAD(Handle: THandle; var AbsWidth, AbsHeight: Single): Integer; stdcall;
    external CADImage name 'GetBoxCAD';
  function GetCADCoords(Handle: THandle; const AXScaled, AYScaled: Single; var Coord: TFPoint): Integer; stdcall;
    external CADImage name 'GetCADCoords';
  function GetExtentsCAD(Handle: THandle; var ARect: TFRect): Integer; stdcall;
    external CADImage name 'GetExtentsCAD';
  function GetIs3dCAD(Handle: THandle; var AIs3D: Integer): Integer; stdcall;
    external CADImage name 'GetIs3dCAD';
  function GetLastErrorCAD(Buf: PChar; nSize: DWORD): Integer; stdcall;
    external CADImage name 'GetLastErrorCAD';
  function GetPlugInInfo(Version: PChar; Formats: PChar): Integer; cdecl;
    external CADImage name 'GetPlugInInfo';
  function GetNearestEntity(Handle: THandle; Buf: PChar; nSize: DWORD; const R: TRect; var APoint: TPoint): THandle; stdcall;
    external CADImage name 'GetNearestEntity';
  function GetPointCAD(Handle: THandle; var APoint: TFPoint): Integer; stdcall;
    external CADImage name 'GetPointCAD';
  function ReadCAD(FileName: PChar; ErrorText: PChar): THandle; cdecl;
    external CADImage name 'ReadCAD';
  function ResetDrawingBoxCAD(Handle: THandle): Integer; stdcall;
    external CADImage name 'ResetDrawingBoxCAD';
  function SaveCADtoBitmap(Handle: THandle; const CADDraw: TCADDraw; FileName: PChar): Integer; stdcall;
    external CADImage name 'SaveCADtoBitmap';
  function SaveCADtoJpeg(Handle: THandle; const CADDraw: TCADDraw; FileName: PChar): Integer; stdcall;
    external CADImage name 'SaveCADtoJpeg';
  function SaveCADtoGif(Handle: THandle; const CADDraw: TCADDraw; FileName: PChar): Integer; stdcall;
    external CADImage name 'SaveCADtoGif';
  function SetBMSize(Value: Integer): BOOL; cdecl;
    external CADImage name 'SetBMSize';
  function SetDefaultColor(Handle: THandle; const ADefaultColor: Integer): Integer; stdcall;
    external CADImage name 'SetDefaultColor';
  function SetDrawingBoxCAD(Handle: THandle; const ABox: TFRect): Integer; stdcall;
    external CADImage name 'SetDrawingBoxCAD';
  function SetProcessMessagesCAD(Handle: THandle; const AIsProcess: Integer): Integer; stdcall;
    external CADImage name 'SetProcessMessagesCAD';
  function SetRotateCAD(Handle: THandle; const AAngle: Single; const AAxis: Integer): Integer; stdcall;
    external CADImage name 'SetRotateCAD';
  function SetBlackWhite(Handle: THandle; CMode: Integer): Integer; stdcall;
    external CADImage name 'SetBlackWhite';
  function SetProgressProc(AProgressProc: TProgressProc): Integer; stdcall;
    external CADImage name 'SetProgressProc';
  function StopLoading: Integer; stdcall;
    external CADImage name 'StopLoading';
{$ENDIF}


implementation

end.

⌨️ 快捷键说明

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