修改外部参照图像的路径
大家好,我想修改图像外部引用的路径。我可以这样做,但如果我尝试设置错误的路径,就会收到错误消息。
有没有办法做到这一点
我能够为PDF外部引用设置一个错误路径,因此我认为我可以为图像设置同样的路径
if (dictDB.Contains(pdfkey))
{
DBDictionary pdfDic = (DBDictionary)tr.GetObject(dictDB.GetAt(pdfkey), OpenMode.ForRead);
foreach (DBDictionaryEntry dbe in pdfDic)
{
if (String.IsNullOrEmpty(dbe.m_key)) continue;
UnderlayDefinition underlayDefinition = (UnderlayDefinition)tr.GetObject(dbe.Value, OpenMode.ForWrite);
cOldFile = underlayDefinition.SourceFileName;
if (aListXrefModif.Contains(cOldFile))
{
underlayDefinition.SourceFileName = aListXrefModif.ToString();
nElementModif = nElementModif + 1;
}
}
}
if (dictDB.Contains(imgkey))
{
DBDictionary imgDic = (DBDictionary)tr.GetObject(dictDB.GetAt(imgkey), OpenMode.ForRead);
foreach (DBDictionaryEntry dbe in imgDic)
{
if (String.IsNullOrEmpty(dbe.m_key)) continue;
RasterImageDef underlayDefinition = (RasterImageDef)tr.GetObject(dbe.Value, OpenMode.ForWrite);
cOldFile = underlayDefinition.SourceFileName;
if (aListXrefModif.Contains(cOldFile))
{
try
{
underlayDefinition.SourceFileName = aListXrefModif.ToString();
nElementModif = nElementModif + 1;
}
catch {}
}
}
}
谢谢!
**** Hidden Message ***** 不确定为什么要放一个坏路径,但是如果你查看ObjectArx文档并查看SourceFileName属性包装的方法,我想它说它会尝试验证文件。
我不确定它是否在内部表示它将调用AcDbRasterImageDef::search chForActivePath()或建议调用它。
嗨,杰夫,谢谢你的回答,很有意义
页:
[1]