latour_g 发表于 2018-10-19 14:48:04

修改外部参照图像的路径

大家好,
我想修改图像外部引用的路径。我可以这样做,但如果我尝试设置错误的路径,就会收到错误消息。
有没有办法做到这一点
我能够为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 *****

latour_g 发表于 2018-10-20 18:21:51

不确定为什么要放一个坏路径,但是如果你查看ObjectArx文档并查看SourceFileName属性包装的方法,我想它说它会尝试验证文件。
我不确定它是否在内部表示它将调用AcDbRasterImageDef::search chForActivePath()或建议调用它。

latour_g 发表于 2018-10-22 10:40:41

嗨,杰夫,谢谢你的回答,很有意义
页: [1]
查看完整版本: 修改外部参照图像的路径