Embed (or Bind) Images in a DWG file

If you work with images in your drawings, you have probably wished you could embed (or bind) an image instead of it being referenced like an xref. There are some workarounds such as:

  • Insert the image as an OLE object
    • In AutoCAD, run the INSERTOBJ command.
    • Choose “Create New”, then choose “Bitmap Image”.
    • Next, Windows Paintbrush should open up.
    • In Paintbrush, choose the Edit menu, then PasteFrom
    • Select your existing image file (JPG, BMP, PNG, TIF, etc.)
    • While still in Paintbrush, choose File, then Exit and Return to AutoCAD
  • A third party add-on for AutoCAD named ToolPac, includes an IMAGE BIND command. This command reads the image (either an image on disk, or one that exists in the drawing) and creates AutoCAD geometry to represent the image.
  • Use an standalone program such as Img2CAD. This program will accept most raster images as input, and then output one of the following: DXF, EMF, WMF or HPGL. I tested a 132,000,000 pixel TIFF file and converted it to a DXF. Depending on the options selected, the output DXF was anywhere from 52MB to 96MB in size. Quite large, but the program was able to perform the conversion in about a minute. Not bad for such a large image.

Starting with Raster Design (ARD) 2008, there is a new command called IEMBED, that allows you to embed a raster image in the DWG file. What’s the catch? Besides needing ARD, image embedding only works on bitonal (black and white) images and if the recipient of this DWG file does not have ARD, they will need the Raster Design Object Enabler to view the image. Also, commands like IMAGECLIP and IMAGEADJUST will not work on an embedded image. The embedded image is a AECIDBEMBEDDEDRASTERIMAGE entity.

Embedded images can be “unembedded”, or converted back to an IMAGE entity using the IUNEMBED command in ARD. When you do this, you are asked to provide a file name and path. It does not link the IMAGE back to the original location.