ConstructiVision v7.0 Documentation¶
Version: v7.0 (patch/internal version)
Source: src/x86/v7.0(patch)/
Status: Developer-focused rewrite without commercial licensing
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¶
Document Metadata¶
Created: 2025
Purpose: Central documentation hub for v7.0 codebase
Completeness: Initial structure (more docs to come)
End of Document