Short description
📌 Block2CogoPoints.LSP is a Civil 3D AutoLISP utility that converts selected AutoCAD block references into Civil 3D COGO points. The tool reads block insertion points, transfers attribute information into point descriptions, previews Z min and Z max values, and optionally deletes the original blocks for a cleaner drawing workflow.

Command:
📌 Main command:
🧰 Loading method: load
🪟 The command opens a DCL dialog named
📍 The user selects block references using
🧹 The user can choose whether to delete the original selected blocks with
🎯 Target platform: Autodesk Civil 3D with AutoLISP, Visual LISP COM, and the Civil 3D COM interface through
BLock2Civilpoint.🧰 Loading method: load
Block2CogoPoints.LSP in Civil 3D using APPLOAD, then run BLock2Civilpoint from the command line.🪟 The command opens a DCL dialog named
Block to Civil Points.📍 The user selects block references using
Pick block references....🧹 The user can choose whether to delete the original selected blocks with
Delete initial blocks.🎯 Target platform: Autodesk Civil 3D with AutoLISP, Visual LISP COM, and the Civil 3D COM interface through
AeccXUiLand.AeccApplication.
Description:
🧠 This AutoLISP routine is designed for Civil 3D users who need to convert existing AutoCAD block references into Civil 3D COGO points. Instead of manually creating points one by one, the user selects existing block symbols, and the program creates Civil 3D points at the same insertion locations.
The workflow starts with the command
For each selected block reference, the program creates a Civil 3D point using the block insertion point. If the block contains attributes, the routine reads them and prefers the attribute tag
This is useful for survey drafting, legacy drawing conversion, utility mapping, asset point creation, Civil 3D cleanup tasks, and workflows where block symbols need to become real Civil 3D point objects. The routine does not edit ProfileView, SectionView, Alignment, bands, Civil 3D labels, styles, or export tables. Its purpose is focused on converting AutoCAD block references into Civil 3D COGO points.
The workflow starts with the command
BLock2Civilpoint. The routine displays a small DCL dialog where the user can pick block references from the drawing and choose whether the source blocks should be deleted after conversion. The dialog also reports how many block references were selected and displays the minimum and maximum Z elevations found from the selected insertion points.For each selected block reference, the program creates a Civil 3D point using the block insertion point. If the block contains attributes, the routine reads them and prefers the attribute tag
NR. When this attribute exists, its value is assigned to the Civil 3D point description. If NR is not found, the routine uses the first available attribute value as a fallback description.This is useful for survey drafting, legacy drawing conversion, utility mapping, asset point creation, Civil 3D cleanup tasks, and workflows where block symbols need to become real Civil 3D point objects. The routine does not edit ProfileView, SectionView, Alignment, bands, Civil 3D labels, styles, or export tables. Its purpose is focused on converting AutoCAD block references into Civil 3D COGO points.
Helper function: (if any)
- 🪟 DCL dialog creation —
CH:Block2C3D_Dialogbuilds a temporary dialog file so the user can select blocks and control whether source blocks are deleted. - 📊 Z value formatting —
CH:FmtZformats elevation values using the current drawing precision fromLUPREC. - 🔍 Selection filtering — the selection uses
ssgetwith the filter((0 . "INSERT")), so only block references are selected. - 📐 Selection statistics — the dialog calculates selected block count, Z min, and Z max from the block insertion points.
- 📍 Civil point creation —
Sub:block2Civilpointloops through the selected blocks and creates Civil 3D points withvla-add. - 🏷️ Attribute extraction —
Sub:GetAllAttributesreads the block reference attributes and returns them as tag and value pairs. - 📝 Description mapping — the routine prefers the attribute tag
NRand assigns its value to the Civil 3D pointDescriptionproperty. - 🧹 Optional source cleanup — when enabled,
entdelremoves the original block reference after the Civil 3D point is created. - 🔒 Civil 3D connection —
connecttocivilconnects to the Civil 3D application object usingvla-getinterfaceobject. - 🧠 Version detection —
getlandappreads the Civil 3D release from the registry and builds the properAeccXUiLand.AeccApplicationprogram ID for newer versions.
Functionalities:
- 📌 Select block references — the program requires the user to select AutoCAD block references before creating Civil 3D points.
- 📍 Create Civil 3D COGO points — each selected block reference becomes a Civil 3D point at the block insertion point.
- 📊 Preview selected block elevations — the DCL dialog shows Z min and Z max values before conversion.
- 🔢 Count selected blocks — the dialog displays the number of selected block references so the user can confirm the selection.
- 🏷️ Read block attributes — the routine extracts attributes from each selected block reference.
- 📝 Use NR attribute as point description — the attribute tag
NRis preferred for the Civil 3D point description. - 🔄 Use fallback attribute value — if
NRis missing, the first available attribute value is used as the point description. - 🧹 Delete original blocks optionally — the user can remove the original block references after the COGO points are created.
- 🔒 Check Civil 3D availability — the routine connects to the Civil 3D COM object before running the conversion.
- 🧩 Support multiple Civil 3D versions — the code includes Civil 3D version mapping and registry-based detection for newer releases.
- 🔐 Important limitation — the routine does not explicitly set point number or point name in the visible code. It sets the Civil 3D point description from block attributes.
- 🔴 Platform limitation — the routine needs Civil 3D. It is not intended for plain AutoCAD without the Civil 3D COM interface.
Result:
📘 The final result is an automated Civil 3D point creation workflow. Existing AutoCAD block references are converted into Civil 3D COGO points at their insertion coordinates, attribute values can become point descriptions, Z elevation ranges can be checked before conversion, and the original blocks can be deleted automatically. This improves productivity, reduces manual point entry, supports faster survey and asset conversion workflows, and helps keep Civil 3D drawings cleaner and easier to manage.
Images, animations etc.



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="Block2CogoPoints">
<src:RibbonToolTip.ExpandedContent>
<StackPanel>
<TextBlock Background="AntiqueWhite" TextAlignment="Left">
<Bold>Function Syntax: BLock2Civilpoint</Bold>
<LineBreak/>
<Bold>Version: 1.1 Date: 28.04.2026 8:34:11AM</Bold>
<LineBreak/>
<Hyperlink>http://www.cad-huebner.de/download/UHBLock2Civilpoint.LSP</Hyperlink>
<Hyperlink>http://www.cad-huebner.de/download/UHBLock2Civilpoint.LSP</Hyperlink>
<LineBreak/>
<Bold>Description</Bold><LineBreak/>
This AutoCAD Civil 3D AutoLISP program converts selected block references into Civil 3D COGO points.<LineBreak/>
The user runs the command <Bold><Run Foreground="DarkRed">BLock2Civilpoint</Run></Bold> and uses a DCL dialog to select block references from the drawing.<LineBreak/>
The tool reads each selected <Bold><Run Foreground="DarkRed">INSERT</Run></Bold> entity and creates a Civil 3D point at the block insertion point.<LineBreak/>
The program is designed for Civil 3D users who need to convert existing block symbols into editable Civil 3D point objects.<LineBreak/>
<Bold>Main Command</Bold><LineBreak/>
• <Bold><Run Foreground="DarkRed">BLock2Civilpoint</Run></Bold> starts the block-to-Civil-point conversion workflow.<LineBreak/>
<Bold>User Workflow</Bold><LineBreak/>
• The user loads the file <Bold><Run Foreground="DarkRed">Block2CogoPoints.LSP</Run></Bold> in Civil 3D.<LineBreak/>
• The user runs <Bold><Run Foreground="DarkRed">BLock2Civilpoint</Run></Bold> from the command line.<LineBreak/>
• The program opens a dialog named <Bold><Run Foreground="DarkRed">Block to Civil Points</Run></Bold>.<LineBreak/>
• The user clicks <Bold><Run Foreground="DarkRed">Pick block references...</Run></Bold> and selects block references in the drawing.<LineBreak/>
• The dialog shows the number of selected blocks, the minimum Z value, and the maximum Z value from the selected block insertion points.<LineBreak/>
• The user chooses whether to keep or delete the original blocks using <Bold><Run Foreground="DarkRed">Delete initial blocks</Run></Bold>.<LineBreak/>
• After pressing OK, the program connects to the Civil 3D application object and creates COGO points.<LineBreak/>
<Bold>Functionalities</Bold><LineBreak/>
• <Bold>📌 Block selection</Bold> — the program requires the user to select AutoCAD block references, filtered as <Run Foreground="DarkRed">INSERT</Run> objects.<LineBreak/>
• <Bold>📍 Civil point creation</Bold> — each selected block is converted into a Civil 3D point at the block insertion location.<LineBreak/>
• <Bold>📝 Attribute reading</Bold> — the program reads block attributes and prefers the attribute tag <Run Foreground="DarkRed">NR</Run>.<LineBreak/>
• <Bold>🏷️ Point description transfer</Bold> — the value from the <Run Foreground="DarkRed">NR</Run> attribute is used as the Civil 3D point description when available.<LineBreak/>
• <Bold>🔄 Fallback attribute logic</Bold> — if the <Run Foreground="DarkRed">NR</Run> attribute does not exist, the first available block attribute value is used instead.<LineBreak/>
• <Bold>📊 Z range preview</Bold> — the dialog displays Z min and Z max values from selected block insertion points before conversion.<LineBreak/>
• <Bold>🧹 Optional cleanup</Bold> — the user can delete the original block references after the Civil 3D points are created.<LineBreak/>
• <Bold>🔒 Civil 3D connection check</Bold> — the program attempts to connect to the correct Civil 3D COM interface before processing the blocks.<LineBreak/>
• <Bold>🧠 Version detection</Bold> — the code contains logic for older Civil 3D versions and also attempts to detect newer installed Civil 3D versions through the registry.<LineBreak/>
• <Bold>🪟 Temporary DCL interface</Bold> — the dialog is generated dynamically from the LISP code and does not require a separate permanent DCL file.<LineBreak/>
<Bold>Important Code Notes</Bold><LineBreak/>
• <Run Foreground="Red">This routine requires Civil 3D, not plain AutoCAD only.</Run><LineBreak/>
• <Run Foreground="Red">The command creates Civil 3D points, but the visible code sets the point description only. It does not explicitly set the Civil 3D point number or point name.</Run><LineBreak/>
• <Run Foreground="Red">The original block references are deleted by default unless the user disables Delete initial blocks.</Run><LineBreak/>
• <Run Foreground="Red">The selected objects must be block references. Lines, polylines, text, circles, and other object types are not selected by this routine.</Run><LineBreak/>
<Bold>Final Result</Bold><LineBreak/>
The result is a faster Civil 3D workflow for converting existing AutoCAD block symbols into Civil 3D COGO points.<LineBreak/>
This helps users automate point creation, reduce manual coordinate entry, reuse block insertion elevations, transfer attribute information into point descriptions, and clean up the drawing by optionally removing the original blocks.<LineBreak/>
</TextBlock>
<Grid>
<Image Source="Image_000.png" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="Image_001.png" Stretch="Uniform"/>
</Grid>
<Grid>
<Image Source="Image_002.jpg" Stretch="Uniform"/>
</Grid>
<!-- Use MediaElement for GIF (static first frame) and Image as fallback -->
</StackPanel>
</src:RibbonToolTip.ExpandedContent>
</src:RibbonToolTip>
</ResourceDictionary>
Additional info:
Based on / Source code:
Open Website
Share this page:
Subscribe
Login
0 Comments
Oldest
Categories: AutoCAD_Lips
Categories: AutoCAD_Lips
