ConstructiVision v7.0 Documentation¶
Version: v7.0 (patch/internal version)
Source: src/x86/v7.0(patch)/
Status: Developer-focused rewrite without commercial licensing
Note
Patent Provenance
This version — and its predecessor v3.60 — are the product described in US Patent Application Serial No. 09/560,833, “Method and System for Creating Construction Drawings by Inputs of Choices and Numbers,” filed April 28, 2000 by Jeffrey Richard Croman, Leon Johnson, and Randy Konis, assigned to ConstructiVision, Inc., Lynnwood, WA.
The patent’s 48 figures map directly to this product’s dialog hierarchy:
Patent Fig |
Dialog / Feature |
DCL File |
|---|---|---|
3–10 |
System architecture, drawing pipeline, engineering outputs |
— |
11–16 |
Program Options (md_dlg) |
md_dlg.dcl |
17–18 |
Panel Options / Site Drawing Options |
panatt.dcl, site_dlg.dcl |
19–20 |
Main Panel Details (mp_dlg) |
mp_dlg.dcl |
21 |
Rough Opening (Standard Opening + Snap-to-Edge) |
ro_dlg.dcl |
22 |
Standard Opening |
so_dlg.dcl |
23 |
Man Door |
dr_dlg.dcl |
24 |
Dock Leveler |
dl_dlg.dcl |
25–26 |
Square Blockout / Round Blockout |
sb_dlg.dcl, rb_dlg.dcl |
27 |
Footing Step (Standard Opening + Snap Bottom) |
fs_dlg.dcl |
28 |
Top Step (Standard Opening + Snap Top) |
ts_dlg.dcl |
29 |
Spandrel Seat |
ss_dlg.dcl |
30–31 |
Pilaster / Lintel |
pl_dlg.dcl, ll_dlg.dcl |
32 |
Chamfer |
ch_dlg.dcl |
33–34 |
Top Plate / Ledger |
tp_dlg.dcl, lb_dlg.dcl |
35 |
Slab Dowels |
sd_dlg.dcl |
36–37 |
Weld Connections |
wc_dlg.dcl |
38 |
Pick Points |
pp_dlg.dcl |
39 |
Brace Points |
bp_dlg.dcl |
40–41 |
Feature Strip H / V |
fh_dlg.dcl, fv_dlg.dcl |
42–43 |
Revision History / Revision Stamp |
revision.dcl |
44 |
Batch Utilities |
btch_dlg.dcl |
45–48 |
Site Drawing Options (grid, slab, panels, attributes) |
sdwg_dlg.dcl |
A companion patent (filed January 24, 2000, “System and Method for Monitoring Files Generated by an Application Software Program and Charging a User Based Upon Each Generated File”) covers the SOTM credit-based licensing system — present in v3.60 via pcms.arx/pcms2.arx but removed in v7.0. The removal of SOTM registration is v7.0’s most significant architectural departure from the patented design.
Full patent OCR text: reports/patent-extract/page-001.txt through page-110.txt.
Patent PDF: docs-sensitive/patents/CV-Patent.pdf (sensitive).
Inventors: Jeffrey Richard Croman, Leon Johnson, Randy Konis.
Assignee: ConstructiVision, Inc.
Warning
Major Architectural Differences from v3.60
v7.0 is NOT a simple patch - it’s a complete rewrite with:
? Registration/licensing removed
? Error handler removed
? 40+ system variables hardcoded
? 70+ modules auto-loaded
? Functions embedded (monolithic design)
See v3.60 vs v7.0 Comparison for details.
Overview¶
File Size Comparison¶
File |
v3.60 |
v7.0 |
Change |
|---|---|---|---|
CSV.lsp |
5,186 bytes |
10,384 bytes |
+100% |
CSV.VLX |
1,103,600 bytes |
813,096 bytes |
-26% |
Why VLX is smaller:
No registration code (pcms.arx removed)
No external function overhead
Optimized module packaging
Documentation¶
Core Analysis¶
CSV.lsp Analysis - Main entry point (complete rewrite)
CSV.VLX Binary Analysis - Only 1 FAS module (vs v3.60’s 109!)
Modules¶
Module Directory - v7.0-specific module documentation (coming soon)
Comparison¶
v3.60 vs v7.0 Comparison - Architectural differences
Key Features¶
Added in v7.0¶
1. Module Auto-Loading
(set 'csvlst '("bp_dlg" "bpauto" "brace" ...)) ; 70+ modules
(foreach a csvlst (load a)) ; Load on demand
2. Mass Function Export
(vl-acad-defun 'wall_dlg)
(vl-acad-defun 'slab_dlg)
; ... 70+ function exports ...
3. Embedded Functions
pj_name()- Project name extraction (40 lines)project()- Project selection dialog (30 lines)
4. Dictionary-Based Detection
(dictsearch (namedobjdict) "panel_list") ; Check for panel project
(dictsearch (namedobjdict) "site_list") ; Check for site project
5. Hardcoded System Variables
40+ variables set explicitly
No preservation of user preferences
Consistent ConstructiVision environment
Removed from v7.0¶
1. Registration System
No
pcms.arx/pcms2.arxloadingNo
CheckPanelCredit()callsNo trial period enforcement
No wincss.exe launcher
2. Error Handler
No
*error*functionNo work recovery
No system variable restoration
Crashes lose unsaved work
3. Variable Preservation
No
sysvarlistcreationNo original value storage
No restoration on exit
Use Cases¶
When to Use v7.0 vs v3.60¶
Use v7.0 for:
? Modernization base (simpler architecture)
? Development/testing (no license checks)
? Open source distribution (plain LSP)
? Understanding module structure (csvlst)
Use v3.60 for:
? Understanding commercial product design
? Installer analysis (registration system)
? Error handling patterns (work recovery)
? User-friendly features (variable preservation)
Migration Path¶
v7.0 ? Modern AutoCAD¶
Step 1: Start with v7.0 codebase
Simpler (no registration complexity)
Plain LSP (easier to modify)
Module list documented (csvlst)
Step 2: Restore v3.60 best practices
Error handler with work recovery
System variable preservation
User preference restoration
Step 3: Add modern features
Cloud-based licensing
AutoCAD 2026 API updates
Ribbon UI integration
.NET interop
Step 4: Replace problematic features
Batch files ? Native AutoLISP I/O
ARX modules ? .NET assemblies
DCL dialogs ? WPF/XAML
Architecture Analysis¶
Philosophy¶
v7.0 Design Goals (Inferred):
Simplicity - Remove commercial complexity
Openness - Plain LSP, no VLX protection
Self-Contained - Embed functions, reduce dependencies
Developer-Focused - Hardcode settings, skip preservation
Free Distribution - No licensing, no registration
Trade-offs:
? Easier to test/distribute
? Simpler codebase
? Faster development
? User experience degraded (no error recovery)
? Security reduced (no protection)
? Professional features lost (licensing, recovery)
Code Organization¶
Monolithic Design:
CSV.lsp: 10,384 bytes (main + embedded functions)
Fewer external dependencies
Harder to maintain long-term
vs v3.60 Modular Design:
CSV.lsp: 5,186 bytes (main only)
PJ_NAME.lsp: External
PROJECT.lsp: External
SETVARS.lsp: External
Easier to maintain, test, reuse
Known Issues¶
Critical Issues¶
1. No Error Recovery
Crashes lose all unsaved work
No automatic save
No recovery dialog
Severity: CRITICAL
2. User Preferences Lost
40+ system variables overwritten
No restoration on exit
User must manually reset
Severity: HIGH
3. No Security
Plain LSP (source visible)
No license enforcement
No usage tracking
Severity: MEDIUM (if commercial)
Non-Issues (By Design)¶
1. No Registration
Intentionally removed
Free to use
Good for open source
2. Simplified Batch Files
No date stamp (no trial period)
Works same as v3.60 otherwise
Statistics¶
Code Metrics¶
Metric |
Value |
|---|---|
Lines of code |
281 |
Embedded functions |
2 (pj_name, project) |
System variables set |
40+ |
Module list size |
70+ modules |
Function exports |
70+ |
Comments |
Minimal |
Complexity |
Very High |
Module Breakdown¶
Category |
Count |
|---|---|
Dialog boxes |
40+ |
Automation |
3 |
Drawing operations |
6 |
Features |
9 |
Utilities |
9 |
Project management |
9 |
Enable/Disable |
5 |
Lists/Editing |
3 |
Output |
2 |
System |
9 |
Future Work¶
Documentation Needed¶
Complete module-by-module analysis
v7.0 VLX binary analysis (compare with v3.60)
Performance comparison (v3.60 vs v7.0)
Functional testing results
AutoCAD 2020+ compatibility notes
Migration Planning¶
Identify modules that can be reused as-is
List modules that need rewriting
Plan .NET migration for ARX-dependent code
Design modern error handling system
Plan cloud-based licensing replacement
Contents¶
- ConstructiVision User Manual — v7.0 (Patent Era)
- Introduction
- License Agreement
- Limited Warranty
- Installation
- Product Support
- On-Line Support
- Program Options
- Batch Utilities
- Panel
- Main Panel Details
- Standard Opening
- Recess / Blockout
- Man Door
- Dock Leveler
- Pilaster / Lintel
- Ledger / Top Plate
- Chamfer
- Feature Strip
- Slab Dowels
- Weld Connections
- Pick Points
- Brace Points
- Standard Opening
- Recess / Blockout
- Man Door
- Dock Leveler
- Pilaster / Lintel
- Ledger / Top Plate
- Roof Line
- Roof Line
- Ledger / Top Plate
- Chamfer
- Feature Strip
- Slab Dowels
- Weld Connections
- Pick Points
- Brace Points
- Batch Utilities
- Site Drawing Options
- Registration Manager
- Data Entry Methods
- Dimensioning Conventions
- Miscellaneous
- About ConstructiVision
- 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
Document Metadata¶
Created: 2025
Purpose: Central documentation hub for v7.0 codebase
Completeness: Initial structure (more docs to come)
End of Document