嗨,
我正在开发一个编辑外部参照的工具。对于dwg外部参照,它工作正常。对于图像,它的工作(我可以编辑路径),但图像消失了,我无法找到一种方法来重新加载它。基本上我不想做REDIR在Express Tools中做的事情。
下面是我编辑路径的步骤:
- // XREF DWG
- BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForWrite) as BlockTable;
- foreach (ObjectId btrId in bt)
- {
- BlockTableRecord btr = tr.GetObject(btrId, OpenMode.ForWrite) as BlockTableRecord;
- if (btr.IsFromExternalReference)
- {
- btr.PathName = btr.PathName.Replace("U:\", cServerName);
- collection.Add(btrId);
- }
- }
- // XREF IMAGE
- if (dictDB.Contains(imgkey))
- {
- DBDictionary imgDic = (DBDictionary)tr.GetObject(dictDB.GetAt(imgkey), OpenMode.ForWrite);
- foreach (DBDictionaryEntry dbe in imgDic)
- {
- if (String.IsNullOrEmpty(dbe.m_key)) continue;
- RasterImageDef underlayDefinition = (RasterImageDef)tr.GetObject(dbe.Value, OpenMode.ForWrite);
- if (underlayDefinition.SourceFileName.StartsWith("G:\") || underlayDefinition.SourceFileName.StartsWith("U:\"))
- {
- underlayDefinition.SourceFileName = underlayDefinition.SourceFileName.Replace("U:\", cServerName);
- //collection.Add(underlayDefinition.Id);
- //collection.Add(underlayDefinition.ObjectId);
- }
- }
- }
- if (collection.Count > 0) db.ReloadXrefs(collection);
我无法从收藏中的图像外部参照添加ID,在“db。错误的对象类型。
知道如何正确地做到这一点吗?
谢谢您!
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |