使图居中不起作用
嗨,我将绘图设置从绘图复制到其他绘图。 一切正常,除了当我打开绘图时,它不会像它应该的那样使绘图居中。 “居中绘图”复选框已正确选中,但我需要打开布局管理器并单击“确定”以使更改在我的绘图中生效。我应该添加一些东西来工作吗?这是我的一部分代码,主命令很长,这就是为什么有“.....”的原因在某个地方。using (Transaction tr = db.TransactionManager.StartTransaction())。{。
using (var ps = new PlotSettings(layoutObj.ModelType))。
{。
var psv = PlotSettingsValidator.Current;。
。
新浪网.SetStdScaleType(ps, dictPS.StdScaleType);。
新浪网.SetPlotCentered(ps, dictPS.PlotCentered);。
新浪网.设置,,。,。,。。
.......。
。
附言PlotViewportBorders = dictPS.PlotViewportBorders;。
附言PlotTransparency = dictPS.PlotTransparency;。
附言ScaleLineweights = dictPS.ScaleLineweights;。
ps....。
.......。
。
layoutObj.CopyFrom(ps);。
layoutObj.PlotSettingsName = dictPS.PlotSettingsName;。
}。
断续器Commit();。
}。
谢谢。
**** Hidden Message ***** 您可能希望提供有关复制过程的更多信息(而不是打印设置的详细信息),例如在AutoCAD编辑器中打开了哪个图形(源或目标)?或者其中一个作为侧数据库打开(那么是源数据库还是目标数据库)?或者两者都在AutoCAD编辑器中打开?或者两者都作为侧数据库打开
例如,如果源图形当前在AutoCAD编辑器中打开,而目标图形作为侧数据库打开,您是否已厌倦设置HostApplication。将数据库写入侧数据库
您好,
两个图形都作为侧数据库打开,因此AutoCAD中没有打开的内容。也许这就是为什么打开绘图中心时很难找到它的原因
它可以正确更改属性,但无法居中,因为它在AutoCAD中未打开。
您是否尝试过在创建目标端数据库后将其设置为 WorkingDatabase(并且您将在释放目标数据库之前将 WorkingDataabse 还原回原始数据库)?像这样:
var originalDB=HostApplicationServices.WorkingDatabase
using (var sourceDb=new Database(false, true))
{
sourceDB.ReadDwgFromFile(....);
收集绘图设置信息以复制
... ...
using (var destinationDB=new Database(false, true))
{
destinationDB.ReadFromDwgFile(...);
尝试
{
// 将此数据库设置为 WorkingDatabase
HostApplicationServices.WorkingDatabase=destinationDB
//Setup plotSettings here
...
desinationDB.SaveAs(...)
}
finally
{
HostApplicationServices.WorkingDatabase=originalDB
}
}
}
它与WorkingDatabase一起工作得很好。 非常感谢!
我从来没有想过!
页:
[1]