-
Notifications
You must be signed in to change notification settings - Fork 0
Visualization Overview
Truong Giang Vu edited this page Feb 14, 2026
·
2 revisions
3D geometry display system using DirectContext3D transient rendering.
Display Revit geometry (curves, faces, solids, meshes, points, bounding boxes) directly in the active 3D view without creating model elements or affecting the Revit database.

- Geometry Types - Supported geometry types
- Trace Geometry - Integration with logging system
See visualization_curve_script.py:
from Autodesk.Revit.DB import Line, XYZ
# Create geometry
start = XYZ(0, 0, 0)
end = XYZ(10, 10, 0)
line = Line.CreateBound(start, end)
# Print geometry object - displays in 3D view
print(line)
# Line appears immediately in active 3D viewMore examples:
- visualization_xyz_script.py - Point visualization
- visualization_curve_script.py - Curve and edge visualization
- visualization_solid_script.py - Solid and face visualization
See RevitDevTool.DotnetDemo/CurveVisualization.cs:
using Autodesk.Revit.DB;
using RevitDevTool.Visualization;
// Create geometry
XYZ start = XYZ.Zero;
XYZ end = new XYZ(10, 10, 0);
Line line = Line.CreateBound(start, end);
// Display
TraceGeometry.Show(line);More examples:
- XYZVisualization.cs - Point visualization
- CurveVisualization.cs - Curve visualization
- SolidVisualization.cs - Solid visualization
- FaceVisualization.cs - Face visualization
- MeshVisualization.cs - Mesh visualization
- Line - Straight line segments
- Arc - Circular arcs
- Ellipse - Elliptical arcs
- NurbSpline - Spline curves
- HermiteSpline - Hermite splines
- CurveLoop - Closed curve loops
- PolyLine - Multi-segment polylines
- PlanarFace - Flat faces
- CylindricalFace - Cylindrical surfaces
- ConicalFace - Conical surfaces
- RevolvedFace - Revolved surfaces
- RuledFace - Ruled surfaces
- Solid - 3D solid geometry
- Displays edges, faces, and vertices
- Mesh - Triangulated mesh geometry
- Supports vertex colors
- Custom shading
- XYZ - Individual points
- BoundingBoxXYZ - Bounding boxes
See: Complete Geometry Types Reference
- No model elements created
- No Revit database modifications
- Appears only in active session
- Automatic cleanup
- Hardware-accelerated rendering
- High performance
- Real-time updates
- Smooth interaction
- Custom colors per geometry
- Transparency support
- Line width control
- Material properties
- Works with Python scripts
- C# extension methods
- Automatic via
print(geometry)in Python - Manual via
TraceGeometry.Show()in C#
- Display multiple objects simultaneously
- Clear all with single command
- Selective removal
- Grouped display
- Analysis Results - Visualize wall centerlines, room boundaries, analytical geometry
- Debug Geometry - Test line/curve creation, verify geometry operations
- Highlight Elements - Show specific elements matching criteria
- Bounding Boxes - Quick spatial previews of elements
- Intersection Testing - Display intersection points, overlap geometry
- Path Visualization - Show circulation paths, piping routes, duct runs
See complete examples:
- Python: visualization_curve_script.py
- C#: CurveVisualization.cs
- Batch Display - Print multiple geometries in loops
- Clear Regularly - Use Clear Geometry button to avoid clutter
- Limit Complexity - Avoid displaying thousands of objects at once
- Use Simple Types - Lines instead of complex curves, BoundingBoxXYZ for previews
- Representative Samples - Show subsets rather than entire collections
The Clear Geometry button displays a live count badge showing the number of geometry objects currently visualized:
- Badge updates in real-time as geometries are added
- Shown as a colored indicator on the button
- Click "Clear Geometry" to remove all visualized objects
- Located in the main toolbar of TraceLogPage
For developers extending the visualization system:

- Logging Module - Trace capture and output
- CodeExecute Module - Code execution framework
- Home - Main documentation hub
Rendering: DirectContext3D (hardware-accelerated)
Performance: Real-time (60 FPS)
Revit Support: 2022-2026