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

Modules

Comparison


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.arx loading

  • No CheckPanelCredit() calls

  • No trial period enforcement

  • No wincss.exe launcher

2. Error Handler

  • No *error* function

  • No work recovery

  • No system variable restoration

  • Crashes lose unsaved work

3. Variable Preservation

  • No sysvarlist creation

  • No 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):

  1. Simplicity - Remove commercial complexity

  2. Openness - Plain LSP, no VLX protection

  3. Self-Contained - Embed functions, reduce dependencies

  4. Developer-Focused - Hardcode settings, skip preservation

  5. 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