Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Constructivision Docs
Logo
Constructivision Docs
  • Commit History
  • ConstructiVision Modernization (2026) — Project Plan
    • ConstructiVision Modernization 2026
    • Project Charter
    • Inventory & Gap Analysis
    • Target Architecture (Modern Windows + Modern AutoCAD)
    • Phase Plan (P0-P5)
    • 2026 Timeline (Week-by-Week)
    • CV-Web vs Pascal Editor Comparison Strategy
    • Risk Register (2026)
    • Testing & Validation Strategy
    • Release and Distribution Plan (App Store First)
    • v3.60 Source Recovery — Missing Dependency Fix
    • ConstructiVision TB11-01x32 — Architecture & Deployment
    • ConstructiVision TB11-01x64 — Architecture & Deployment
    • 30 — AutoCAD Evolution Analysis: Version-by-Version Impact on ConstructiVision
    • 31 — Comprehensive Workflow & Human Factors Analysis
    • Bug Tracker — Validation Campaign
    • XData Refactor Plan — Eliminate Text File Serialization
    • 34 — Tech Support Modernization
    • Software Development Lifecycle
    • AutoCAD 2000 Environment Variables (setenv / getenv) Reference
    • 37. QA Autopilot Audit And Risk Gates
    • 42 — Menu & Routing Redesign
    • TB11 Manual Test Procedures
    • Project Data Persistence Architecture
    • 45. TB11–PB11 Parity Test Plan
    • ConstructiVision User Manual — v11 (TB11-01x32)
    • Windows 10 Upgrade Study - Constructivision Compatibility
    • Demo Plan — White Cap + World of Concrete (End of 2026)
    • AI Enhancements Roadmap (P5)
    • Milestones Dashboard
    • Weekly Updates
    • Marketing + Product Research Sprint (March 23, 2026)
    • Customer Discovery Question Bank + Scoring Rubric
    • Competitive + Complementary Landscape Scan (March 2026)
    • 41. Competitive Parity Checklist — ConstructiVision vs Industry Benchmark
    • Skill Development Guide
    • Templates
      • Weekly Update â” Template
      • Decision Log â” Template
      • Issue â” Template
      • Pilot Qualification Template
      • Partner Discovery Notes Template
  • Tilt-Up Design Details
    • Panel Joint Types — Tilt-Up Panels
    • Chamfers and Edge Profiles — Tilt-Up Panels
    • Corner Conditions — Tilt-Up Panels
    • Panel Proportions and Thickness — Tilt-Up Panels
    • Openings and Concrete Legs — Tilt-Up Panels
    • Panel Weight, Center of Gravity, and Material Quantities — Tilt-Up Panels
    • Lifting, Rigging, and Bracing — Tilt-Up Panels
    • Reinforcement, Cover, and Embeds — Tilt-Up Panels
    • Sealant Specifications — Tilt-Up Panel Joints
    • Panel Book Notation — Tilt-Up Design Details
    • Building Layout and Viewing Conventions
    • Industry References — Tilt-Up Design
  • Web Deployment
    • Deployment Architecture
  • ABC - Cloud Product Management Portfolio (Anonymized)
    • 00 - Charter And Product Vision
    • 01 - ICP, JTBD, And Market Segmentation
    • 02 - North Star And KPI Framework
    • 03 - Strategy Themes And 12-Month Roadmap
    • 04 - Discovery Pipeline And Prioritization
    • 11 - Requirements Traceability Matrix
    • 12 - Critical Path, Risk Analysis, And Integrated Schedule
    • 05 - Delivery Model And Release Train
    • 06 - Pricing, Packaging, And Commercial Model
    • 07 - Launch, Go-To-Market, And Enablement
    • 08 - Customer Success, Retention, And Expansion
    • 09 - Security, Compliance, And Operational Risk
    • 10 - Operating Cadence And Governance
    • 13 - Release Readiness Gates
    • 14 - Elaborate Examples: Story -> Use Case -> Requirement
    • 15 - Tooling For Stories, Requirements, Prioritization, And Releases
    • 16 - CEO Briefing Cut (2-Page Version)
    • Templates
      • PRD Template
      • Experiment Brief Template
      • Launch Readiness Checklist
      • User Story And Use Case Template
      • Requirement Catalog Template
  • Legacy ConstructiVision
    • Legacy ConstructiVision Versions: Comprehensive Analysis
    • ConstructiVision v3.60 Documentation
      • CSV.lsp - Main Application Entry Point
      • csvmenu.lsp - Menu Installation Entrypoint
      • CSV.VLX - Visual LISP Compiled Binary Analysis
      • CSV menu file family: .mnu, .mns, .mnc, .mnr, .prj, .prv
      • csv.mnu â” menu macros and âoeRun Programâ wiring
      • csv.prj and Csv.prv â” legacy menu build/toolchain notes
      • v3.60 Module Analyses Index
      • Legacy ConstructiVision v3.60 Installer and Payload
      • v3.60 file catalog
      • WINCSS.REG — Binary Registry Payload
      • v3.60 Subdirectory Analysis (OMITTED FROM PREVIOUS INVENTORY)
      • ConstructiVision v3.60 Module Documentation
        • Core Application Modules
          • CSV.lsp — Main Application Entry Point (CRITICAL)
          • CSVMENU.lsp — Main Menu System
          • ENABLE.lsp — Dialog Control State Management
          • ERR.lsp — Dialog Input Validation & Error Display
          • SETVARS.lsp — AutoCAD System Variable Configuration
          • UPDVAR.lsp — Dialog Variable Update & Conversion
          • WARNING.lsp — Warning Dialog Display System
          • WARNING - Module functionality
        • Project Management
          • DWGNEW.lsp — New Drawing Template Selection
          • DWGOLD.lsp — Existing Drawing Selection
          • NEW.lsp — New Project Creation Workflow
          • PJ_NAME.lsp — Project Name Extraction & Panel Prefix Generation
          • PROJECT.lsp — Project Selection & Initialization
        • Panel Drawing & Layout
          • DRAWPAN.lsp — Panel Drawing Generation Engine
          • FINPAN.lsp — Panel Finalization & Cleanup
          • INSPANEL.lsp — Panel Insertion & Placement
          • MAKEPAN.lsp — Panel Block & Entity Creation
          • PANATT.lsp — Panel Attributes & Variable Initialization
          • PANEL.lsp — Panel Entry Point & Validation
          • RENPAN.lsp — Panel Renumbering & Renaming
        • Dialog Boxes
          • Batch & Calculation Dialogs
            • BTCH_DLG - Batch Dialog Module (LSP)
          • BP_DLG.lsp — Base Plate Dialog Handler
          • CALC_DLG.lsp — Calculation Dialog
          • CH_DLG.lsp — Chamfer Dialog Handler
          • DL_DLG.lsp — Dowel/Lift Dialog Handler
          • DR_DLG.lsp — Dowel/Rebar Dialog Handler
          • FH_DLG.lsp — Foundation Head Dialog
          • FS_DLG.lsp — Foundation Slab Dialog
          • FV_DLG.lsp — Foundation Void Dialog
          • GRID_DLG.lsp — Grid Layout Dialog
          • LB_DLG.lsp — Ledger Beam Dialog
          • LL_DLG.lsp — Load Line Dialog
          • LYR_DLG.lsp — Layer Management Dialog
          • MATL_DLG.lsp — Material Selection Dialog
          • MD_DLG.lsp — Main Dialog Controller
          • MP_DLG.lsp — Mix Profile Dialog Handler (CRITICAL)
          • NB_DLG.lsp — Note Block Dialog
          • OPENING.lsp — Panel Opening Management
          • PL_DLG.lsp — Plate Line Dialog
          • PP_DLG.lsp — Panel Parameters Dialog Handler
          • RO_DLG.lsp — Roof Panel Dialog
          • SB_DLG.lsp — Slab Base Dialog
          • SDWG_DLG.lsp — Site Drawing Details Dialog
          • SD_DLG.lsp — Site Drawing Dialog
          • SLAB_DLG.lsp — Slab Panel Dialog Handler
          • SS_DLG.lsp — Slab Side Dialog
          • TP_DLG.lsp — Top Plate Dialog
          • TS_DLG.lsp — Tilt Slab Dialog
          • WALL_DLG.lsp — Wall Panel Dialog Handler
          • WC_DLG.lsp — Weld Connection Dialog Handler (CRITICAL)
          • WD_DLG.lsp — Weld Detail Dialog
        • Drawing & Dimensioning
          • BASEDIM.lsp — Base Dimension Calculations (CRITICAL)
          • DRAWDIM.lsp — Panel Dimensioning Engine (CRITICAL)
          • DRAWDIMLST.lsp — Dimension List Management
          • DRWBAS.lsp — Drawing Base Setup
          • LAYOUT.lsp — Drawing Layout Management
          • PLT.lsp — Plot Configuration
          • SLIDE.lsp — Slide File Management
        • Feature Generation
          • BOLT.lsp — Bolt Connection Generation
          • BRACE.lsp — Brace Point Generation
          • CHAMFER.lsp — Chamfer Feature Generation
          • COLUMN.lsp — Column Connection Generation
          • DOWELS.lsp — Dowel/Lift Insert Generation
          • FOOTING.lsp — Footing Connection Generation
          • MITER.lsp — Miter Joint Generation
          • WELD.lsp — Weld Symbol Generation
          • WELDCONN.lsp — Weld Connection Generation (CRITICAL)
        • Engineering Calculations
          • CENTGRAV - Module functionality
          • FEATURE - Module functionality
          • POINTS - Point/coordinate
          • THICK - Thickness calculations
          • TILTUP.lsp — Tilt-Up Panel Utility
          • WC_EDIT.lsp — Weld Connection Editor
        • Data Import/Export
          • DRENG - Module functionality
          • DRREAD - Module functionality
          • ENGEXP - Module functionality
          • ENGIMP - Module functionality
          • MBENG - Module functionality
          • MBREAD - Module functionality
          • WSBENG - Module functionality
          • WSBREAD - Module functionality
        • Automation & Batch Operations
          • BPAUTO - Automation routine
          • BTCH - Batch processing
          • PPAUTO - Automation routine
          • PPCENT - Module functionality
        • Validation & Checking
          • CHRCHK - Validation/checking
          • DBCHK - Validation/checking
          • DIRCHK - Validation/checking
          • RANGCHCK - Module functionality
        • List Management & Sorting
          • NEWLIST - List management
          • STRLSORT - Module functionality
          • WCEDLST - Module functionality
          • WCLIST - List management
          • WCMOD - Module functionality
        • Block & Attribute Management
          • MKBLK - Module functionality
          • NBBLOCK - Block management
          • NBENABLE - Feature enable/disable handler
        • Revision & Markup
          • DONEREV - Module functionality
          • ELEVMRKR - Module functionality
          • REVISION - Revision control
          • REVISION - Revision control
        • Page & Layout Management
          • FPAGE - Page/layout management
          • WCPAGE - Page/layout management
          • WDPAGE - Page/layout management
        • Helper Modules
          • CONVERT - Data conversion
          • dwg.dcl â” dialog inventory
          • EDITBX - Module functionality
          • FENABLE - Feature enable/disable handler
          • GREEN - Module functionality
          • INVAR - Module functionality
          • INVAR - Module functionality
          • J - Module functionality
          • NATIVE - Module functionality
          • OKCANHLP - Module functionality
          • PDISABLE - Module functionality
          • PICK - Module functionality
          • POINTMAP - Point/coordinate
          • process.dcl â” dialog inventory
          • SAVELAY - Module functionality
          • SBENABLE - Feature enable/disable handler
          • SCR - Module functionality
          • SHOW - Module functionality
          • TEST - Module functionality
          • viewpt.dcl â” dialog inventory
          • WCENABLE - Feature enable/disable handler
          • WDENABLE - Feature enable/disable handler
        • DCL Definitions
          • bp_dlg.dcl — Base Plate / Anchor Bolt Configuration
          • btch_dlg.dcl — Batch Processing Configuration
          • calc_dlg.dcl — Foot/Inch Calculator Utility
          • ch_dlg.dcl — Chamfer Configuration
          • dl_dlg.dcl — Dowel/Lift Insert Configuration
          • dreng_dlg.dcl — Rebar Engineering Calculations
          • dr_dlg.dcl — Dowel/Rebar Projection Configuration
          • dwg-dcl.md — Drawing Generation Configuration
          • fh_dlg.dcl — Foundation/Bearing Configuration
          • fs_dlg.dcl — Finish/Surface Configuration
          • fv_dlg.dcl — Field Verification Dialog
          • grid_dlg.dcl — Grid Layout System Configuration
          • invar-dcl.md — Invariant Properties Dialog
          • lb_dlg.dcl — Ledger Beam Connection Configuration
          • ll_dlg.dcl — Lintel/Ledger Configuration
          • lyr_dlg.dcl — Layer Management Configuration
          • matl_dlg.dcl — Material Specification Configuration
          • mbeng_dlg.dcl — Moment/Bending Engineering
          • md_dlg.dcl — Material Database Configuration
          • mp_dlg.dcl — Master Panel Dialog (CRITICAL)
          • nb_dlg.dcl — Note/Bubble Configuration
          • new.dcl — New Project Creation
          • pl_dlg.dcl — Panel List Management
          • pp_dlg.dcl — Panel Parameters / Pick Point Configuration
          • process-dcl.md — Process Status Dialog
          • project.dcl — Project Selection Dialog
          • revision-dcl.md — Revision Control Dialog
          • ro_dlg.dcl — Roof Features Configuration
          • sb_dlg.dcl — Schedule/Bill Configuration
          • sdwg_dlg-dcl.md — Sheet Drawing Setup
          • sd_dlg.dcl — Schedule/Detail Drawing Configuration
          • slab_dlg.dcl — Slab Panel Configuration
          • ss_dlg.dcl — Section/Slice Configuration
          • tp_dlg.dcl — Top Plate Configuration
          • ts_dlg.dcl — Tolerance Specification
          • viewpt-dcl.md — Viewport Configuration
          • wall_dlg.dcl — Wall Panel with Openings Configuration
          • warning-dcl.md — Warning and Error Dialog
          • wc_dlg.dcl — Weld Connection Configuration (CRITICAL FEATURE)
          • wc_edit-dcl.md — Weld Connection Edit Dialog
          • wd_dlg.dcl — Window/Door Detail Configuration
          • wsbeng_dlg.dcl — Wall/Slab Bending Engineering
      • Legacy Installer Analysis
        • ConstructiVision v3.60 Installer Sequence Analysis
        • ConstructiVision v3.60 Installer File Dependencies Analysis
        • Cross-Check Analysis & Menu Installation Bug Fix
        • InstallShield CAB/HDR Inventory (data1, _sys1, _user1)
        • InstallShield stub + support files on the ConstructiVision media
        • Readme-derived Installation Notes (Legacy Analysis - Updated)
        • Setup.ini notes
        • Setup.ins Installer Logic (Legacy Analysis - Superseded)
        • Updating the ConstructiVision 3.60 InstallShield Installer
        • v3.60 install â-’ hot patch (overlay newer files)
        • Rebuild installer vs. install+hotpatch (AutoCAD 2000)
    • ConstructiVision v7.0 Documentation
      • ConstructiVision User Manual — v7.0 (Patent Era)
      • v7.0 CSV.lsp — Main Application Entry Point
      • CSV.VLX (v7.0) — Visual LISP Compiled Binary Analysis
      • Enhanced DCL Documentation - Template with Context & Integration
      • v7.0 Documentation Consolidation Report
      • wincss2000.exe — License Manager Executable
      • ConstructiVision v7.0 Module Documentation
        • v7.0 Module Documentation - Overview
        • csv.lsp � v7.0 Module
        • csvmenu.lsp � v7.0 Module
        • enable.lsp � v7.0 Module
        • err.lsp � v7.0 Module
        • updvar.lsp � v7.0 Module
        • warning.lsp � v7.0 Module
        • Project Management (Deprecated in v7.0)
        • Panel Drawing & Layout (Deprecated in v7.0)
        • Dialog Boxes (Extended)
          • Base/Foundation Dialogs
          • Batch & Calculation Dialogs
          • Feature Dialogs
          • Material & Connection Dialogs
          • Panel Dialogs
          • BP_DLG.lsp — Base Plate Dialog Handler
          • btch_dlg.lsp � v7.0 Module
          • CALC_DLG.lsp — Calculation Dialog
          • CH_DLG.lsp — Chamfer Dialog Handler
          • DL_DLG.lsp — Dowel/Lift Dialog Handler
          • DR_DLG.lsp — Dowel/Rebar Dialog Handler
          • FH_DLG.lsp — Foundation Head Dialog
          • FS_DLG.lsp — Foundation Slab Dialog
          • FV_DLG.lsp — Foundation Void Dialog
          • GRID_DLG.lsp — Grid Layout Dialog
          • LB_DLG.lsp — Ledger Beam Dialog
          • let_dlg.lsp � v7.0 Module
          • LL_DLG.lsp — Load Line Dialog
          • MATL_DLG.lsp — Material Selection Dialog
          • MD_DLG.lsp — Main Dialog Controller
          • MP_DLG.lsp — Mix Profile Dialog Handler (CRITICAL)
          • num_dlg.lsp � v7.0 Module
          • OPENING.lsp — Panel Opening Management
          • PL_DLG.lsp — Plate Line Dialog
          • PP_DLG.lsp — Panel Parameters Dialog Handler
          • rb_dlg.lsp � v7.0 Module
          • RO_DLG.lsp — Roof Panel Dialog
          • SB_DLG.lsp — Slab Base Dialog
          • SDWG_DLG.lsp — Site Drawing Details Dialog
          • SD_DLG.lsp — Site Drawing Dialog
          • site_dlg.lsp � v7.0 Module
          • SLAB_DLG.lsp — Slab Panel Dialog Handler
          • SS_DLG.lsp — Slab Side Dialog
          • TP_DLG.lsp — Top Plate Dialog
          • TS_DLG.lsp — Tilt Slab Dialog
          • WALL_DLG.lsp — Wall Panel Dialog Handler
          • WC_DLG.lsp — Weld Connection Dialog Handler (CRITICAL)
          • WD_DLG.lsp — Weld Detail Dialog
        • Drawing & Dimensioning (Deprecated in v7.0)
        • drawdim.lsp � v7.0 Module
        • drawpan.lsp � v7.0 Module
        • layout.lsp � v7.0 Module
        • plt.lsp � v7.0 Module
        • slide.lsp � v7.0 Module
        • Feature Generation
          • brace.lsp � v7.0 Module
          • chamfer.lsp � v7.0 Module
          • dowels.lsp � v7.0 Module
          • feature.lsp � v7.0 Module
          • green.lsp � v7.0 Module
          • weld.lsp � v7.0 Module
          • weldconn.lsp � v7.0 Module
        • Engineering Calculations & Utilities
          • Engineering Calculations (Deprecated in v7.0)
          • bpauto.lsp � v7.0 Module
          • btch.lsp � v7.0 Module
          • centgrav.lsp � v7.0 Module
          • chrchk.lsp � v7.0 Module
          • column.lsp � v7.0 Module
          • convert.lsp � v7.0 Module
          • dbchk.lsp � v7.0 Module
          • dirchk.lsp � v7.0 Module
          • donerev.lsp � v7.0 Module
          • dwgnew.lsp � v7.0 Module
          • dwgold.lsp � v7.0 Module
          • fenable.lsp � v7.0 Module
          • finpan.lsp � v7.0 Module
          • footing.lsp � v7.0 Module
          • fpage.lsp � v7.0 Module
          • Inspanel.lsp � v7.0 Module
          • invar.lsp � v7.0 Module
          • main.lsp � v7.0 Module
          • miter.lsp � v7.0 Module
          • mkblk.lsp � v7.0 Module
          • new.lsp � v7.0 Module
          • newlist.lsp � v7.0 Module
          • opening.lsp � v7.0 Module
          • panatt.lsp � v7.0 Module
          • panel.lsp � v7.0 Module
          • pdisable.lsp � v7.0 Module
          • pick.lsp � v7.0 Module
          • points.lsp � v7.0 Module
          • ppauto.lsp � v7.0 Module
          • ppcent.lsp � v7.0 Module
          • rangchck.lsp � v7.0 Module
          • renpan.lsp � v7.0 Module
          • revision.lsp � v7.0 Module
          • rndblock.lsp � v7.0 Module
          • savelay.lsp � v7.0 Module
          • sbenable.lsp � v7.0 Module
          • scr.lsp � v7.0 Module
          • strlsort.lsp � v7.0 Module
          • thick.lsp � v7.0 Module
          • TILTUP.lsp — Tilt-Up Panel Utility
          • wcenable.lsp � v7.0 Module
          • wclist.lsp � v7.0 Module
          • wcpage.lsp � v7.0 Module
          • WC_EDIT.lsp — Weld Connection Editor
          • wdenable.lsp � v7.0 Module
          • wdpage.lsp � v7.0 Module
        • WF.zip — AISC Wide Flange Steel Beam Library
        • Automation & Batch Operations (Deprecated in v7.0)
        • Validation & Checking (Deprecated in v7.0)
        • List Management & Sorting (Deprecated in v7.0)
        • Block & Attribute Management
        • Revision & Markup (Deprecated in v7.0)
        • Page & Layout Management (Deprecated in v7.0)
        • Helper Modules
        • DCL Definitions
          • bp_dlg-dcl.md — Base Plate Configuration (v7.0)
          • btch_dlg-dcl.md — Batch Processing Configuration (v7.0)
          • calc_dlg-dcl.md — Engineering Calculator (v7.0)
          • ch_dlg-dcl.md — Panel Chamfer Configuration (v7.0)
          • dl_dlg-dcl.md — Door/Large Opening Configuration (v7.0)
          • dr_dlg-dcl.md — Dowel/Rebar Projection Configuration (v7.0)
          • dwg-dcl.md — Drawing Generation Configuration (v7.0)
          • fh_dlg-dcl.md — Foundation/Bearing Configuration (v7.0)
          • fs_dlg-dcl.md — Finish/Surface Configuration (v7.0)
          • fv_dlg-dcl.md — Field Verification Dialog (v7.0)
          • grid_dlg-dcl.md — Reference Grid Configuration (v7.0)
          • invar-dcl.md — Invariant Properties Dialog (v7.0)
          • lb_dlg-dcl.md — Lifting/Bearing Configuration (v7.0)
          • ll_dlg-dcl.md — Lintel/Ledger Configuration (v7.0)
          • matl_dlg-dcl.md — Material Selection Dialog (v7.0)
          • md_dlg-dcl.md — Material Database Management (v7.0)
          • mp_dlg-dcl.md — Main Panel Configuration (v7.0)
          • new-dcl.md — New Project Setup (v7.0)
          • pl_dlg-dcl.md — Panel List Management (v7.0)
          • pp_dlg-dcl.md — Panel Properties Configuration (v7.0)
          • project-dcl.md — Project Configuration (v7.0)
          • rb_dlg-dcl.md — Rebar Configuration (v7.0)
          • revision-dcl.md — Revision Control (v7.0)
          • ro_dlg-dcl.md — Rough Opening Configuration (v7.0)
          • sb_dlg-dcl.md — Schedule/BOM Configuration (v7.0)
          • sdwg_dlg-dcl.md — Sheet Drawing Setup (v7.0)
          • sd_dlg-dcl.md — Schedule Detail Drawing (v7.0)
          • site_dlg-dcl.md — Site Coordination Dialog (v7.0)
          • slab_dlg-dcl.md — Slab Panel Configuration (v7.0)
          • ss_dlg-dcl.md — Section/Slice Configuration (v7.0)
          • tp_dlg-dcl.md — Top Plate Configuration (v7.0)
          • ts_dlg-dcl.md — Tolerance Specification (v7.0)
          • viewpt-dcl.md — Viewport Configuration (v7.0)
          • wall_dlg-dcl.md — Wall Panel Configuration (v7.0)
          • warning-dcl.md — Warning and Error Dialog (v7.0)
          • wc_dlg-dcl.md — Weld Connection Configuration (v7.0)
          • wc_edit-dcl.md — Weld Connection Edit (v7.0)
          • wd_dlg-dcl.md — Window/Door Configuration (v7.0)
    • Version Comparisons
      • CSV.lsp Version Comparison (v3.60 vs v7.0)
      • Complete File Analysis: v3.60 Installer vs v7.0(patch) Payload
      • ConstructiVision v3.60 vs v7.0 - Complete Module Comparison
      • Source Code Comparison: v3_60/v3.60 vs v7.0(patch)
      • File Diff: v3.60 Installer vs v11 Patch (Source Payload)
      • ConstructiVision Module Documentation - Final Status Report
      • Final Documentation Verification - v3.60 vs v7.0
      • Legacy Documentation Reorganization - Verification Report
    • Developer Notes
      • File Types Dictionary
      • AutoLISP Compilation Architecture
      • Menu System Architecture
      • File Creators Dictionary
      • File Consumers Dictionary
      • Developer Environment Setup
      • VLX Compilation & Verification Guide
      • AutoCAD Web Migration Guide
      • AutoCAD 2000 Environment Variables (setenv/getenv)
    • ConstructiVision User Manual
Back to top
View this page
Edit this page

42 — Menu & Routing Redesign¶

Created: April 6, 2026
Status: In Progress
Owner: Chad
Depends on: Bug 100 fix (commit 95730f624), Bug 94 fix (commit 40c3b7071)
DFMEA: DFMEA-036 (Menu/Routing), DFMEA-037 (Dialog State)

Context¶

The ConstructiVision pull-down menu and routing architecture date from 2001. User testing after Bug 100 revealed UX confusion: two different “new project” paths lead to different dialogs, the 14-button progopts.dcl wall duplicates the menu, and there is no way to directly edit the currently open drawing.

This document records the evidence-based redesign plan, its implementation phases, au3 compatibility constraints, and verification criteria.


Design Authority Sources¶

Primary — UI/UX Best Practices¶

Tag

Source

Key Principles Applied

[S1]

NNGroup “Dropdowns: Design Guidelines” (Whitenton, 2020)

Gray out unavailable options (#2), avoid very long dropdowns (#3), keep labels visible (#6)

[S2]

NNGroup “Menu-Design Checklist: 17 UX Guidelines” (Sherwin, 2019)

Clear/specific/familiar wording (#7), front-load key terms (#8), avoid multilevel cascading (#14), Fitts’s law — most-used items closest (#16)

Secondary — Autodesk/AutoCAD Domain¶

Tag

Source

Key Takeaway

[S3]

AU SD125181 / SD323181 (Darren Young, “Advanced AutoLISP”)

Separate utility functions from command entry points

[S4]

AU DV1543 (Lee Ambrosius, “Going on a Bug Hunt”)

Explicit error handlers, fail gracefully

[S5]

Autodesk App Store Product Guidelines v2.0

Rejection risk includes poor UX fit

[S6]

AfraLISP DCL Reference (afralisp.net)

Community-standard DCL dialog conventions

Constraints¶

Tag

Constraint

Impact

[C1]

au3 test fixture (IMMUTABLE — Rule 10) — tests 6 progcont values via (progn (setq progcont N)(c:csv)): 1, 8193, 262145, 262153, 262161, 262177

Menu label changes safe; routing logic changes must preserve au3 expected dialogs

[C2]

AutoCAD 2000 DCL — no native tab control

Settings dialog deferred to future phase

[C3]

VLX vs Source mode mismatch

progcont routing must work in source-mode (TB11)


Problems Addressed¶

#

Problem

Source Violated

1

“Drawing Setup” and “Create New Project” lead to different dialogs for same “new” intent

[S2] #7

2

progopts.dcl is a 14-button wall that duplicates the menu

[S1] #3, [S3]

3

project.dcl adds unnecessary “New or Existing?” click

[S5]

4

“Drawing Setup” on an open drawing forces file selection

[S2] #16

5

No “Edit Current Drawing” — requires browsing even when drawing is open

[S2] #16

6

Panel-centric: site drawings are second-class

[S2] #7

7

Unavailable options not visually differentiated

[S1] #2


Phase 1: Menu Restructure (csv.mnu)¶

Rationale: Per [S2] #16 (Fitts’s law) most-used items go first. Per [S2] #8 front-load action verbs. Per [S2] #14 avoid multilevel cascading. Per [S2] #7 use clear, specific, familiar wording.

New Menu Layout¶

ConstructiVision (POP1)
├── Edit Current Drawing          progcont=1       ← most-used action, top position
│   [--]
├── New Drawing                   progcont=262161  ← clear verb, front-loaded
├── Open Drawing                  progcont=262145  ← renamed from "Edit Existing Drawing"
│   [--]
├── New Project                   progcont=262153  ← clear verb
├── Edit Project Details          progcont=524289  ← NEW: was buried in progopts
│   [--]
├──→ View [->
│     All Layers                  progcont=262209
│     Select Layers               progcont=262273
│     [--]
│     Panel/Site Faces            (6 direct cmds)
│     [--]
│     Isometric Views             (4 direct cmds)
│  ←]
│   [--]
├──→ Print [->
│     All Layers                  progcont=262465
│     Select Layouts              progcont=262657
│     [--]
│     Print Specific Items        (5 presets)
│  ←]
│   [--]
├──→ Shading [->
│     Off / Hidden / Shaded
│  ←]
│   [--]
├── Materials List                progcont=263169
├── Revision History              progcont=264193
│   [--]
├── Batch Utilities               progcont=262177  ← less-used, positioned lower
├── Slope Calculator              progcont=8193
│   [--]
├── Settings...                                    ← future [C2: deferred]
│   [--]
├── Registration / Help / About / Web / Support

Label Changes¶

Old (Ambiguous)

New (Clear Verb)

Rationale

Drawing Setup

Edit Current Drawing

Front-loaded verb; no ambiguous “setup” [S2] #8

Create New Project

New Project

Shorter, scans faster [S2] #7

Create New Drawing

New Drawing

Same

Edit Existing Drawing

Open Drawing

Implies browse+open action

(none)

Edit Project Details

New — was hidden inside progopts

au3 Compatibility ([C1])¶

The au3 sets progcont via (progn (setq progcont N)(c:csv)), not via menu clicks. The 6 tested progcont values must continue to route correctly regardless of menu label changes. Menu restructure affects only the .mnu file — routing logic changes in csv.lsp are the constraint.

progcont=1 strategy (Option A): Keep backward-compatible — show progopts.dcl when no CV drawing is open (matching au3’s “Drawing1” baseline). Only skip progopts when a CV drawing IS open. au3 tests on Drawing1 → still sees progopts → PASS.


Phase 2: Routing Rewrite (csv.lsp)¶

Step 1: Edit Current Drawing (progcont=1) — Context-Aware¶

Design: Per [S2] #16, the most frequent action should be most accessible. Per [S4], fail gracefully when no valid drawing is open.

progcont=1 invoked
  ├─ IF csv_open_con set → route to panel/site editor (unchanged)
  ├─ IF in AutoCAD dir OR no CV drawing (Drawing1)
  │     → Show progopts.dcl (backward compat with au3) [C1]
  └─ IF CV drawing IS open (csv_dwgtype = "panel" or "site")
        → Route DIRECTLY to mp_dlg (panel) or sdwg_dlg (site)
        → Skip project.dcl and progopts.dcl entirely

Step 2: New Project (progcont=262153) — Stop-After-Create¶

Current: projdet.dcl → new() → auto-launch panel editor
New: projdet.dcl → new() → stop. Print “Project created. Use ‘New Drawing’ to start a drawing.”

Step 3: Edit Project Details (progcont=524289) — New Feature¶

  1. Detect current project via curdir

  2. If valid: open projdet.dcl pre-populated with existing project values

  3. If none: alert “No project loaded. Open a project drawing first.”

  4. projdet.lsp accepts optional pre-populated values

Step 4: New Drawing (progcont=262161) — Panel/Site Prompt¶

Current: getfiled → template selection → panel workflow
New: Panel-vs-site chooser via (getkword) → getfiled → appropriate editor

Au3 impact [C1]: MEDIUM — adds command-line prompt before getfiled. Safe fallback: keep getfiled first.

Step 5: Settings (DEFERRED per [C2])¶

DCL has no native tab control. Deferred to separate planning session.


Phase 3: Dialog Retirement¶

Retired from default path (per [S5]):¶

  • project.dcl — “New or Existing?” gatekeeper. Menu items make this explicit. Keep file for backward compat.

  • progopts.dcl/lsp — 14-button wall [S1] #3 violation. Retained ONLY as fallback for progcont=1 on Drawing1 (au3 compat).

No new DCL files in this phase¶

Panel-vs-site chooser uses command-line (getkword) per AutoCAD convention [S6].


Phase 4: Verification¶

Functional Tests¶

Test

Expected Result

Edit Current Drawing on Drawing1 (no CV data)

progopts.dcl appears (au3 compat)

Edit Current Drawing on open panel drawing

mp_dlg directly (no progopts, no project.dcl)

Edit Current Drawing on open site drawing

sdwg_dlg directly

New Drawing

Panel/Site prompt → getfiled → editor

Open Drawing

getfiled → scr() → drawing opens + editor

New Project

projdet → new.dcl → folder created → stop

Edit Project Details on open project

projdet pre-populated

Edit Project Details with no project

Alert message

au3 Compatibility Matrix [C1]¶

au3 Test

progcont

Current Dialog

After Redesign

Risk

02-drawing-setup

1

project.dcl→progopts

progopts (Drawing1)

LOW

03-slope-calculator

8193

slope_dlg.dcl

slope_dlg.dcl

NONE

04-create-new-project

262153

projdet.dcl

projdet.dcl

NONE

05-create-new-drawing

262161

getfiled

getfiled (prompt first?)

MEDIUM

06-edit-existing-drawing

262145

getfiled

getfiled

NONE

07-batch-utilities

262177

btch_dlg.dcl

btch_dlg.dcl

NONE

Regression Criteria¶

  • All 13 existing progcont values must continue to route correctly

  • New progcont value (524289 for Edit Project Details) is additive — no collision risk

  • Full au3 validation on VM 108 after implementation

  • OCR compare against golden baseline (Rule 15)


Implementation Order¶

Step

Scope

Risk

Dependencies

1

csv.mnu restructure — label and grouping changes

LOW

None

2

csv.lsp progcont=1 context-aware routing

MEDIUM

Step 1

3

csv.lsp New Project stop-after-create

LOW

None

4

csv.lsp + projdet.lsp Edit Project Details

LOW

None

5

csv.lsp New Drawing panel/site prompt

MEDIUM [C1]

None

6

Full au3 validation on VM 108 + OCR

—

Steps 1–5

Steps 1–3 are sequential. Steps 4–5 can parallel. Step 6 blocks on all prior.


Files Modified¶

File

Action

src/x64/TB11-01x64/csv.mnu

Restructure layout, rename items, add Edit Project Details

src/x64/TB11-01x64/csv.lsp

Context-aware progcont=1, new routes, stop-after-create

src/x64/TB11-01x64/projdet.lsp

Add pre-populate logic for Edit Project Details

src/x32/TB11-01x32/csv.mnu

Synced from x64

src/x32/TB11-01x32/csv.lsp

Synced from x64

src/x32/TB11-01x32/projdet.lsp

Synced from x64

Decisions¶

Decision

Rationale

Source

Retire progopts from default routing

Duplicates menu; 14-button wall is bad UX

[S1] #3, [S3]

Keep progopts as Drawing1 fallback

au3 compat: progcont=1 on Drawing1 must show dialog

[C1]

Retire project.dcl from routing

Menu items make New/Existing explicit; extra click adds no value

[S5]

Context-aware progcont=1

Most-used action should be most accessible

[S2] #16

Defer Settings tab dialog

DCL has no native tabs; simulation is complex

[C2]

Use (getkword) for Panel/Site

Command-line prompts standard for binary choices in AutoCAD

[S6]

Front-load verbs in menu labels

“Edit”, “New”, “Open” scan faster than “Create New…”

[S2] #8

Next
TB11 Manual Test Procedures
Previous
37. QA Autopilot Audit And Risk Gates
Copyright © 2026
Made with Sphinx and @pradyunsg's Furo
On this page
  • 42 — Menu & Routing Redesign
    • Context
    • Design Authority Sources
      • Primary — UI/UX Best Practices
      • Secondary — Autodesk/AutoCAD Domain
      • Constraints
    • Problems Addressed
    • Phase 1: Menu Restructure (csv.mnu)
      • New Menu Layout
      • Label Changes
      • au3 Compatibility ([C1])
    • Phase 2: Routing Rewrite (csv.lsp)
      • Step 1: Edit Current Drawing (progcont=1) — Context-Aware
      • Step 2: New Project (progcont=262153) — Stop-After-Create
      • Step 3: Edit Project Details (progcont=524289) — New Feature
      • Step 4: New Drawing (progcont=262161) — Panel/Site Prompt
      • Step 5: Settings (DEFERRED per [C2])
    • Phase 3: Dialog Retirement
      • Retired from default path (per [S5]):
      • No new DCL files in this phase
    • Phase 4: Verification
      • Functional Tests
      • au3 Compatibility Matrix [C1]
      • Regression Criteria
    • Implementation Order
    • Files Modified
    • Decisions