public void Widening() { ConsensusConnectionEdit con = ConsensusConnectionEdit.GetActive(); con.StartTransientMode(); GeometricModel gm = con.GetActiveGeometricModel(); if (gm == null) return; double lxLength = ld_Property.alignment.LinearGeometry.Length; double staStation = ld_Property.alignment.Stationing.StartStation; // 根据需要出表的Alignment foreach (Corridor cor in gm.Corridors) { Alignment al = cor.CorridorAlignment; //获取廊道对应路线 CorridorEdit corridorEdit = cor as Bentley.CifNET.GeometryModel.SDK.Edit.CorridorEdit; if (al.LinearGeometry.Equals(ld_Property.alignment.LinearGeometry) && corridorEdit != null) { if (cor.TemplateDrops.Count() > 0) { CurveWideningParameter wideningParameter = new CurveWideningParameter("YLJ-W-L", 0, 6000); //以加宽数据进行加宽 wideningParameter.WideningTableFileName = @"D:\ProgramData\Bentley\OpenRoads Designer CE\Configuration\Organization-Civil\_Civil Default Standards - Metric_CHECC\Widening\curve_widening_metric.wid"; wideningParameter.Priority = 2; wideningParameter.Overlap = CurveWideningOverlap.ShortenTransitionLengths; wideningParameter.UseSpiralLengthForTransition = true; wideningParameter.Description = "test widening"; wideningParameter.Enabled = true; corridorEdit.AddCurveWidening(wideningParameter); } } } con.PersistTransients(); con.Close(); }
在我用代码创建完后并未创建成功,并发现了一些问题:
从图2中发现,用代码创建的加宽,曲线加宽数据其实已经存在了。但是在廊道信息中并没有,请问老师是什么原因?
经过测试,确实有这个问题,请耐心等待,我下来联系相关开发工程师修改。
了解,抱拳~
另外,请提供测试用的dgn文件,发至我邮箱:xiaoqi.zhang@bentley.com
已发送,请查收
张老师,修改后是不是会随着新版本发布。大概在什么时间段