В настоящее время я пытаюсь стандартизировать некоторые функции очистки и печати в Autodesk Forge. Мой процесс разработки заключается в написании плагинов Design Automation в Visual Studio, тестировании в Autocad Desktop (Windows) с помощью команды NETLOAD, а затем pu sh для подделки.
Однако я замечаю огромные различия между выводом в Forge и выводом в AutoCAD.
Во-первых, в forge мой график почему-то создается с черными прямоугольными границами. Центрирование также сильно отличается в Forge, хотя в моем скрипте я предпринимаю шаги для его установки.
Вот часть печати моего скрипта:
using (Transaction tr = db.TransactionManager.StartTransaction())
{
BlockTableRecord btr = (BlockTableRecord)tr.GetObject(
db.CurrentSpaceId,
OpenMode.ForRead, false, true
);
Layout lo = (Layout)tr.GetObject(
btr.LayoutId,
OpenMode.ForRead, false, true
);
PlotInfo pi = new PlotInfo();
pi.Layout = btr.LayoutId;
PlotSettings ps = new PlotSettings(lo.ModelType);
ps.CopyFrom(lo);
PlotSettingsValidator psv = PlotSettingsValidator.Current;
psv.SetPlotType(
ps,
Autodesk.AutoCAD.DatabaseServices.PlotType.Extents
);
psv.SetUseStandardScale(ps, true);
psv.SetStdScaleType(ps, StdScaleType.ScaleToFit);
psv.SetPlotCentered(ps, true);
psv.SetPlotConfigurationName(
ps,
"DWG To PDF.pc3",
"ANSI_A_(8.50_x_11.00_Inches)"
);
pi.OverrideSettings = ps;
PlotInfoValidator piv = new PlotInfoValidator();
piv.MediaMatchingPolicy =
MatchingPolicy.MatchEnabled;
piv.Validate(pi);
}
Вот пример разницы между Forge и AutoCAD Desktop с точно таким же сценарием:
AutoCAD Desktop (именно так он и должен выглядеть):
AutoCAD Desktop
Forge Выход:
Кузница