Menyisipkan gambar DXF/DWG ke dalam DWG
Cara menyisipkan gambar DXF/DWG ke dalam DWG
Masalah: Cara menyisipkan gambar DXF/DWG ke dalam DWG.
Tips: Untuk melakukan ini, pertama buat CadInsertObject dengan nilai yang diperlukan, kemudian dapatkan semua blok dalam CadBlockDictionary, buat blok CadBlockEntity baru dan tambahkan ke CadBlockDictionary, tambahkan CadBlockDictionary ke BlockEntities dari gambar, tambahkan CadInsertObject ke entitas gambar untuk array, buat CadBlockTableObject berdasarkan referensi, kemudian tambahkan blok ke gambar.
Contoh:
CadInsertObject newInsert = new CadInsertObject(); | |
newInsert.Name = "foreground"; | |
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(); | |
CadBlockTableObject blockTableObjectReference = null; | |
CadBlockEntity cadBlockEntity = null; | |
foreach (CadBlockTableObject tableObject in cadImage.BlocksTables) | |
{ | |
if (string.Equals(tableObject.HardPointerToLayout.Value, cadImage.Layouts["Model"].ObjectHandle)) | |
{ | |
blockTableObjectReference = tableObject; | |
break; | |
} | |
} | |
if (blockTableObjectReference != null && cadImage.BlockEntities.ContainsKey(blockTableObjectReference.BlockName)) | |
{ | |
cadBlockEntity = cadImage.BlockEntities[blockTableObjectReference.BlockName]; | |
} | |
List blockEntities = new List(cadBlockEntity.Entities); | |
blockEntities.Add(newInsert); | |
cadBlockEntity.Entities = blockEntities.ToArray(); | |
cadImage.Save(...) |