CADDIT CAD CAM CNC Software - download AutoCAD compatible design software progeCAD Alibre T-FLEX and more
CADDIT Website Knowledge Base Search:
CL

progeCAD Help

CR
Welcome to progeCAD
Working with progeCAD
Command Reference
CAD System Variables
Programming progeCAD
Full Index (caution - 400kb)

Further Links:

Download progeCAD
Register progeCAD

Learning

T-FLEX PLM tutorial (PDF)
progeCAD IntelliCAD and AutoCAD training 
CATIA 2D 3D design tutorial
Alibre CAD/CAM basic tutorial

Resources

Educational CAD Software Solutions
Python scripting for DOS and Windows
Other free software downloads
CADDIT CAD CAM Forum Australia
__

sds_getpreviewbmp

int sds_getpreviewbmp (const char *szFileName, void** pHBITMAP, unsigned long* pAllocatedBytes, short* blsBitmap);


Returns the preview image of a specified drawing.


This function returns the preview image of a specified drawing file.

The argument szFileName represents an existing drawing file, for which you want to obtain the preview image.

The pHBITMAP parameter is the retrieved image.

The pAllocatedBytes parameter indicates how much memory was allocated in *pHBITMAP. You should free the memory when finished.

The blsBitmap parameter indicates whether the preview image is a bitmap or Windows metafile. progeCAD stores preview images with its drawing files.

Example

The code shows an example of how to use the generic data returned by this function.

short bIsBitmap;

void* hBitmap = NULL;

unsigned long pAllocatedBytes;

 

int ret = sds_getpreviewbmp(fname, &hBitmap, &pAllocatedBytes, &bIsBitmap);

if (ret && pAllocatedBytes)

{

 If (bIsBitmap)

 {

  BITMAPINFOHEADER *pHeader = (BITMAPINFOHEADER *)hBitmap;

  (CONST BITMAPINFO * )pHeader

 }

 else // meta file.

 {

  DWORD seekpos;<

  DWORD dwIsAldus = *((DWORD*)hBitmap);

  if (dwIsAldus != ALDUSKEY)

  {

  seekpos = 0;

  }

  else

  {

  seekpos = ALDUSMFHEADERSIZE;>

  }

  ALDUSMFHEADER* aldusMFHeader = (ALDUSMFHEADER*)hBitmap;

  BYTE *p = (BYTE *)hBitmap;

  METAHEADER* mfHeader = (METAHEADER*)( p + seekpos);

  DWORD dwSize = mfHeader->mtSize * 2;

  HENHMETAFILE m_emf = ::SetWinMetaFileBits(dwSize, (const BYTE*)mfHeader, NULL, NULL);

 }

}

free(hBitmap);

Programming Overview of SDS (Solutions Development System)

CADDIT® is a registered trademark in Australia. All Rights Reserved. Comments concerning the content of this site should be addressed to our webmaster. progeCAD is a trademark of ProgeCAD srl. Autodesk® and AutoCAD® are both registered trademarks or trademarks of a third party, and used only for comparison purposes. All other trademarks, trade names or company names referenced herein are used for identification only and are the property of their respective owners. Legal and Terms of Use. Google. Find us on Google+.