老师好,我现在需要把已存在廊道的模板复制应用到新创建的廊道里,类似ORD中 “廊道 -- 复制三维路面”功能,请问有什么接口可以实现吗?
下面是我现在的实现代码,但是生成廊道的时候报错实现不了
TemplateDefinition oldCorridorTmplate = null;
foreach (Bentley.CifNET.GeometryModel.SDK.Corridor corridor in con.GetActiveGeometricModel().Corridors) // 查找目标廊道名称 { if (alignmentOld.Name.Contains(corridor.Name)) { IEnumerable<TemplateDrop> tempDrops = corridor.TemplateDrops; TemplateDrop tempDrop = tempDrops.First<TemplateDrop>(); //获取廊道中使用工具而非代码添加的正常templateDrop //直接获取templateDrop的xml1 string xml1 = tempDrop.Template.XMLFragment; // 取目标廊道的模板 break; } }
......
con.StartTransientMode();
templateDrop = ApplyTemplateTool.ApplyTemple(newCorridor, startDis, endDis, oldCorridorTmplate); // 新模板应用老模板的模板
.......
con.PersistTransients(); // 写入报错