Can't open file:…… 不知道什么原因!

LpmayjmV 2012-07-18 05:48:29
用DWGDirect插件里的ReadDwgFile方法,报这个错,不知道什么原因,怎么解决,请大虾帮忙啊

protected void btn_save_Click(object sender, EventArgs e)
{
string path = "../imgfile/201207/201207171339369062.dwg";

//AcadDatabase acaddb = new AcadDatabase();
//DataTable dt = Hun.BLL.CadAdd;
//int blocks = acaddb.Blocks.Count;
getCAD(path);

}
public void getCAD(string path)
{
Database db = new Database();
try
{
//把DWG文件读入到一个临时的内存数据库中
//using (db = new Database(false, true))
//{

db.ReadDwgFile(path, System.IO.FileShare.ReadWrite, true, null);
//现在进入数据库并获得数据库的块表引用
Transaction trans = db.TransactionManager.StartTransaction();
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead, false, true);
//从块表的模型空间特性中获得块表记录,块表记录对象包含DWG文件数据库实体
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead, false, true);
foreach (ObjectId btrId in btr)
{
DBObject entBlock = (DBObject)trans.GetObject(btrId, OpenMode.ForRead, false, true);
if (entBlock.GetRXClass().DxfName.ToUpper() == "INSERT")
{
BlockReference bRef = (BlockReference)entBlock;
if (bRef.AttributeCollection.Count != 0)
{
System.Collections.IEnumerator bRefEnum = bRef.AttributeCollection.GetEnumerator();
while (bRefEnum.MoveNext())
{
ObjectId aId = (ObjectId)bRefEnum.Current;//这一句极其关键
AttributeReference aRef = (AttributeReference)trans.GetObject(aId, OpenMode.ForRead, false, true);
TextBox1.Text = aRef.TextString;
}
}
}
}
trans.Commit(); //提交事务处理
btr.Dispose();
bt.Dispose();
}
//}
catch (System.Exception ex)
{
Response.Write("\n出错啦: " + ex.Message);
}
finally
{
db.Dispose();
services.Dispose();
}
}
...全文
1948 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
topia 2012-07-24
  • 打赏
  • 举报
回复
需要先初始化Teigha,再读图形文件,否则报错,如下:
using (Teigha.Runtime.Services srv = new Teigha.Runtime.Services())
{
//读取DWG文件
}

你用的哪个版本,发给我一下topia@163.com
蝶恋花雨 2012-07-23
  • 打赏
  • 举报
回复
文件夹加上network service和everyone 相应的权限,在属性->安全中设置。
宝_爸 2012-07-23
  • 打赏
  • 举报
回复
IIS中吗?估计是没有权限,

在资源管理器中给network service对需要读写的目录 相应的权限,在属性->安全中设置。
laoyingisme 2012-07-23
  • 打赏
  • 举报
回复
没有这个文件的读/写权限

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧