Memasukkan gambar DXF/DWG ke dalam DXF

Cara memasukkan gambar DXF/DWG ke dalam DXF

Masalah: Cara memasukkan gambar DXF/DWG ke dalam DXF.

Tips: Untuk melakukan ini, Anda harus terlebih dahulu membuat CadInsertObject dengan nilai yang diperlukan, kemudian mengambil semua blok di CadBlockDictionary, membuat blok CadBlockEntity baru dan menambahkannya ke CadBlockDictionary, menambahkan CadBlockDictionary ke BlockEntities dari gambar, menambahkan CadInsertObject ke entitas gambar untuk array.

Contoh:

/ this part is not required but detects the first available free ID for handle as each object should have unique one
// assuming that we only make export, but not saving to dxf/dwg, you may assign any unique value
string newObjectID = "FFFFFF";
if (cadImage.Header.HeaderProperties.ContainsKey(CadHeaderAttribute.HANDSEED))
{
newObjectID = ((CadStringParameter)cadImage.Header.HeaderProperties[CadHeaderAttribute.HANDSEED][0]).Value;
int nextAvailableID = int.Parse(newObjectID, System.Globalization.NumberStyles.HexNumber) + 1;
((CadStringParameter)cadImage.Header.HeaderProperties[CadHeaderAttribute.HANDSEED][0]).Value = nextAvailableID.ToString("X");
}
CadInsertObject newInsert = new CadInsertObject();
newInsert.Name = "foreground";
newInsert.SoftOwner.Value = cadImage.Layouts["Model"].BlockTableRecordHandle;
newInsert.ObjectHandle = newObjectID;
newInsert.LayerName = "0";
newInsert.InsertionPoint.X = 200;
newInsert.InsertionPoint.Y = -1300;
CadBlockDictionary allBlocks = cadImage.BlockEntities;
CadBlockEntity newBlock = new CadBlockEntity();
newBlock.XRefPathName.Value = "foreground.dwg";
allBlocks.Add(newInsert.Name, newBlock);
cadImage.BlockEntities = allBlocks;
List entities = new List(cadImage.Entities);
entities.Add(newInsert);
cadImage.Entities = entities.ToArray();
cadImage.Save(...)