ProfileElevations

Short description

๐Ÿš€ ProfileElevations is an AutoCAD Civil 3D .NET Framework plugin for managing ProfileView elevation ranges, profile view styles, band set styles, split profile view datums, and profile source elevation calculations.

๐Ÿ“ It helps Civil 3D users review multiple profile views in a grid, calculate source minimum and maximum elevations from profiles and network parts, apply consistent user-defined elevation ranges, and reduce repetitive manual editing in Profile View Properties.

๐ŸŸข The main benefit is faster Civil 3D profile view management, better drawing quality control, consistent vertical ranges, cleaner plan production, and safer batch editing with undo, redo, CSV export, import, logging, and settings.

Image 000 4

Command:

๐Ÿงฐ Load the compiled plugin with NETLOAD by selecting ProfileElevations.dll in AutoCAD Civil 3D.

๐Ÿš€ Run ProfileElevations to open the main modeless Profile View Elevation Manager for batch elevation range editing.

๐ŸŽจ Run ProfileViewStyles to open the Profile View Style Manager for applying Profile View styles and band set styles.

โš™๏ธ Run ProfileElevSettings to open the settings dialog for logging, decimal separator, auto-pad, pad below, pad above, and rounding defaults.

๐Ÿ“ค Run ProfileElevExportLsp to write an AutoLISP auto-load file that can NETLOAD the DLL from a trusted AutoCAD startup workflow.

๐Ÿ“Œ ProfileElevPickStation is an internal command used by the split points workflow to pick a station from the drawing while the modeless form is open.

๐Ÿ—๏ธ Target platform: AutoCAD Civil 3D, .NET Framework 4.8, x64, WinForms, AutoCAD managed API, Civil 3D managed API, and Civil 3D ProfileView objects.

Description:

Comming soon …

Helper function: (if any)โ€‹

  • ๐Ÿš€ Command registration systemProfileElevationsPlugin.cs registers ProfileElevations, ProfileViewStyles, ProfileElevSettings, ProfileElevExportLsp, and ProfileElevPickStation as AutoCAD commands.
  • ๐Ÿ” ProfileView collection engineProfileDataCollector.Collect() reads the active Civil 3D document, traverses alignments, collects profile view ids with Alignment.GetProfileViewIds(), and builds the main profile view data model.
  • ๐Ÿ“ Elevation API wrapperPvElev and PvElevReflect centralize Civil 3D elevation range access, including ElevationMin, ElevationMax, and automatic or user-defined range handling.
  • ๐Ÿง  Safe API probe layerProfileApiProbe uses guarded access and reflection for Civil 3D API members that can differ by version, reducing plugin breakage across Civil 3D installations.
  • ๐Ÿ“Š Source elevation collectorProfileSourceCollector calculates source minimum and maximum elevations by sampling profiles, profile PVIs, station overlaps, and profile view network parts.
  • ๐Ÿงฉ Network part elevation logic – the collector can use pipe values such as StartInvert, EndInvert, StartCrown, and EndCrown, plus structure values such as rim and sump elevations.
  • ๐Ÿ”„ Batch elevation apply engineProfileElevationEngine.Apply() writes elevation overrides through a document lock and transaction, disables split profile view state before elevation writes, and re-applies split datum data where required.
  • โ†ฉ๏ธ Undo and redo systemUndoRedoStack<T>, ElevationBatch, and StyleBatch store snapshots so elevation edits and style edits can be reversed or redone.
  • ๐ŸŽจ Style apply engineProfileStyleApplyEngine applies Profile View styles and band set styles to selected Civil 3D profile views with undo and redo support.
  • ๐Ÿงฎ Validation logicElevationValidator validates numeric elevation inputs and helps prevent invalid user min and user max values before applying changes to the drawing.
  • ๐Ÿ“ค CSV round-trip toolsProfileCsvExport.ExportToFile() and ProfileCsvExport.ImportFromFile() support reusable CSV workflows for elevation override tables.
  • ๐Ÿ“Œ Split station picking relayStationPickRelay and ProfileElevPickStation allow a modeless split points form to temporarily request a station pick from the AutoCAD editor.
  • ๐Ÿ” Settings and loggingPluginSettings stores HKCU registry settings, while ProfileLogger writes command-line and optional file diagnostics.
  • ๐Ÿงฐ Deployment helperProfileElevExportLsp creates an AutoLISP loader script, and the MSBuild deploy target can copy ProfileElevations.dll to a configured deployment folder.

Functionalities:

  • ๐Ÿš€ Open a Profile View Elevation Manager – launches a modeless Civil 3D grid for reviewing and editing many profile view elevation ranges at once.
  • ๐Ÿ” Scan Civil 3D ProfileViews – lists profile views from alignments with alignment name, profile view name, station range, current min, current max, automatic range state, and status information.
  • ๐Ÿ“ Edit user-defined elevation ranges – lets the user enter User Min, User Max, and User Specified values for selected profile views.
  • ๐Ÿง  Calculate source min and max elevations – derives source elevation ranges from Civil 3D profiles, dense profile sampling, profile PVIs, and network parts shown in profile views.
  • ๐Ÿ”ข Apply pad and rounding rules – uses pad below, pad above, rounding below, and rounding above controls to generate practical plotted profile view ranges.
  • ๐Ÿ“Œ Transfer calculated values – copies rounded calculated minimum and maximum values into editable user override fields for fast review before applying.
  • ๐Ÿงฉ Manage split profile view stations – opens a split points form where users can add, edit, remove, pick, calculate, and apply segment-based station elevation ranges.
  • ๐ŸŽฏ Pick station from drawing – uses ProfileElevPickStation to convert a clicked point in the profile view into a Civil 3D station value.
  • ๐ŸŽจ Batch-apply Profile View styles – changes profile view style and band set style for multiple profile views from a dedicated manager.
  • ๐Ÿ”„ Undo and redo changes – supports Undo and Redo buttons plus Ctrl+Z and Ctrl+Y keyboard shortcuts in the main workflows.
  • ๐ŸŸง Use visual row status colors – highlights valid overrides, invalid input, and clamped round-trip validation results to improve quality control.
  • ๐Ÿ“‹ Copy table data to clipboard – exports tab-separated grid data for direct paste into Excel, reports, QA sheets, or project documentation.
  • ๐Ÿ“ค Export and import CSV elevation overrides – saves and restores elevation table values for review, coordination, or repeatable batch workflows.
  • ๐Ÿงน Reset, global range, auto-pad, and propagation tools – supports fast cleanup actions such as reset selected rows, same range for all, auto-pad, copy above, copy below, and proportional propagation controls where available in the UI.
  • โš™๏ธ Configure plugin settings – stores log options, decimal separator, default pad values, and rounding values in the Windows registry.
  • ๐Ÿ“˜ Generate an AutoLISP loader – creates an auto-load LSP file so the plugin can be loaded through an AutoCAD startup workflow.
  • ๐Ÿ”’ Safe Civil 3D database editing – uses document locks, transactions, helper wrappers, split-safe elevation write order, and error logging to reduce the risk of failed batch updates.

Result:

โœ… The final result is a professional AutoCAD Civil 3D productivity plugin for ProfileView elevation range management, profile view style management, split profile view control, source elevation calculation, CSV reporting, and safer batch drawing updates.

๐ŸŸข It helps Civil 3D users save time, avoid repetitive Profile View Properties editing, create consistent vertical profile ranges, improve quality control, reduce manual drafting mistakes, and manage large profile view sets more efficiently.

Images, animations etc.

Image 000 4
Pixel

XAML code:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:Autodesk.Windows;assembly=AdWindows">

<src:RibbonToolTip x:Key="ProfileElevations">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: Command</Bold>
<LineBreak/>
<Bold>Version: 1.0 Date: 08.06.2026 20:45:58</Bold>
<LineBreak/>
<LineBreak/>
<Hyperlink>N/A</Hyperlink>
<LineBreak/>
</TextBlock>
<Grid>
<Image Source="PNG" Stretch="Uniform"/>
</Grid>
<Grid>
<MediaElement Source="GIF" Stretch="Uniform" Visibility="Visible"/>
</Grid>
</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>
</ResourceDictionary>

Share this page:

Tags: ๐Ÿท๏ธ C3D_Profile_menu, ๐Ÿท๏ธ C3D_tools