/// <summary> /// Sets the default build options. /// Date: 2/19/2017 /// </summary> /// <param name="surface">The surface.</param> public void SetDefaultBuildOptions() { try { using (Application.DocumentManager.MdiActiveDocument.LockDocument()) { using (var tr = CivilApplicationManager.StartTransaction()) { MessengerManager.AddLog("Start Setting Build Options"); var surface = m_TheSurfaceId.GetObject(OpenMode.ForRead) as C3DLandDb.TinSurface; if (surface == null) { surface = m_TheSurfaceId.GetObject(OpenMode.ForRead) as C3DLandDb.TinSurface; } if (surface == null) { return; } surface.UpgradeOpen(); ///Todo:Handle Breaklines for Water and Bulkhead /// if (surface.Name.Contains("WATER")) { surface.BuildOptions.MaximumTriangleLength = 100; } else if (surface.Name.Contains("All")) { surface.BuildOptions.MaximumTriangleLength = 60; } else { surface.BuildOptions.MaximumTriangleLength = 20; } surface.BuildOptions.MaximumTriangleLength = 20; surface.BuildOptions.UseMaximumTriangleLength = true; surface.BuildOptions.NeedConvertBreaklines = true; surface.BuildOptions.ExecludeMinimumElevation = true; surface.BuildOptions.MinimumElevation = 0.1; surface.BuildOptions.CrossingBreaklinesElevationOption = CrossingBreaklinesElevationType.UseLast; ///Todo: Changed 2/19/17 from None. surface.DowngradeOpen(); tr.Commit(); MessengerManager.AddLog("End Setting Build Options " + surface.Name); } } } catch (Exception e) { MessengerManager.LogException(e); } }
/// <summary> /// Sets the default build options. /// Date: 2/19/2017 /// </summary> /// <param name="surface">The surface.</param> public void SetDefaultBuildOptions(TinSurface surface) { try { using (Application.DocumentManager.MdiActiveDocument.LockDocument()) { using (var tr = CivilApplicationManager.StartTransaction()) { MessengerManager.AddLog("Start Setting Build Options"); if (surface == null) { return; } surface.UpgradeOpen(); ///Todo:Handle Breaklines for Water and Bulkhead-Added 3.7.17 /// if (surface.Name.Contains("WATER")) { surface.BuildOptions.MaximumTriangleLength = 100; } else if (surface.Name.Contains("All")) { surface.BuildOptions.MaximumTriangleLength = 200; } else { surface.BuildOptions.MaximumTriangleLength = 20; } surface.BuildOptions.UseMaximumTriangleLength = true; surface.BuildOptions.NeedConvertBreaklines = true; surface.BuildOptions.ExecludeMinimumElevation = true; surface.BuildOptions.MinimumElevation = 0.1; // Possible negative elevation surface.BuildOptions.CrossingBreaklinesElevationOption = CrossingBreaklinesElevationType.UseLast; ///Todo: Changed 2/19/17 from None. surface.DowngradeOpen(); tr.Commit(); MessengerManager.AddLog("End Setting Build Options"); MessengerManager.AddLog("Surface Settings: " + surface.Name); } } } catch (System.Exception e) { MessengerManager.LogException(e); } }
/// <summary> /// Sets the smoothing to 0.5 ft for select surfaces /// </summary> /// <param name="surface">The surface.</param> /// <param name="points">The points.</param> /// <returns>TinSurface.</returns> public C3DLandDb.TinSurface SetSmoothing(C3DLandDb.TinSurface surface, Point3dCollection points) { try { MessengerManager.AddLog("Start Surface Smoothing: " + surface.Name); //Smooth Critical Surfaces// if (surface.Name.Contains("GREEN") || surface.Name.Contains("COLLAR") || surface.Name.Contains("BUNKER") || surface.Name.Contains("BRIDGE")) { using (Transaction ts = CivilApplicationManager.StartTransaction()) { C3DLandDb.SurfacePointOutputOptions pointOutputOptions = new C3DLandDb.SurfacePointOutputOptions(); pointOutputOptions.GridSpacingX = 0.5; pointOutputOptions.GridSpacingY = 0.5; pointOutputOptions.OutputLocations = SurfacePointOutputLocationsType.GridBased; pointOutputOptions.OutputRegions = new Point3dCollection[] { points }; C3DLandDb.SurfaceOperationSmooth op = surface.SmoothSurfaceByNNI(pointOutputOptions); ts.Commit(); } MessengerManager.AddLog("End Surface Smoothing: " + surface.Name); } return(surface); } catch (System.Exception ex) { PGA.MessengerManager.MessengerManager.LogException(ex); } return(null); }