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

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