- 积分
- 990
- 明经币
- 个
- 注册时间
- 2011-8-27
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
用以下代码,可以实现AutoCAD进度条与程序进度同步:
ProgressMeter PM = new ProgressMeter();
PM.Start("正在保存分幅地图");
PM.SetLimit(RectangleObjIDs.Count);
for(int i = 0; i < RectangleObjIDs.Count; i++)
{
//................
PM.MeterProgress();
System.Windows.Forms.Application.DoEvents();
}
PM.stop();
但是我在上面的For循环中,加入以下代码后,进度条就不显示了
Database NewDataBase = new Database();
ObjectId NewBtrID = ObjectId.Null;
using (Transaction trans = NewDataBase.TransactionManager.StartTransaction())
{
BlockTable NewBt = (BlockTable)trans.GetObject(NewDataBase.BlockTableId, OpenMode.ForRead);
BlockTableRecord NewBtr = (BlockTableRecord)trans.GetObject(NewBt[BlockTableRecord.ModelSpace], OpenMode.ForRead);
NewBtrID = NewBtr.ObjectId;
trans.Commit();
}
db.WblockCloneObjects(CurSelObjIDs, NewBtrID, new IdMapping(), DuplicateRecordCloning.Replace, false);
NewDataBase.SaveAs(CurMapName, DwgVersion.Newest);
上面代码的作用是把当前dwg文件中的各区域的图形分别保存为新的dwg文件。
|
|