wc_dlg.dcl — Weld Connection Configuration (CRITICAL FEATURE)¶
File: wc_dlg.dcl
Version: v3.60
Category: Dialog Definitions
Size: 43.5 KB (1393 lines)
Warning
CRITICAL STRUCTURAL FEATURE
Weld plate embeds are essential for panel-to-panel and panel-to-structure connections. This is one of the most complex and heavily used dialogs in ConstructiVision.
Functional Purpose¶
What This Dialog Does¶
Weld Plate Embed Configuration System
The wc_dlg provides comprehensive weld connection management:
Configures embed plates (steel plates cast into concrete)
Manages up to 120+ positions (24 connections × 5 pages)
Sets placement parameters (position, elevation, edge snapping)
Specifies connection types (from extensive weld library)
Controls face/orientation (left, right, top, bottom edges)
User Need¶
Structural Connection Design
Users need to:
Position weld plates for panel connections
Select appropriate weld types for load requirements
Configure arrays for repeated connections
Snap to panel edges for accurate placement
Manage large numbers of connections efficiently
Typical Workflow¶
Adding Weld Plates to Panel:
1. User in mp_dlg clicks [Weld Connection]
2. wc_dlg opens showing Page 1
3. User enables first connection (wct1 checkbox)
4. User selects type from wcx1 dropdown (e.g., "4x6 Embed")
5. User snaps to edge: checks "Right" (wcs1)
6. User sets elevation: wce1 = 4'-0"
7. User sets distance from edge: wcd1 = 6"
8. If needed, switches to Page 2-5 for more connections
9. User clicks OK
10. Returns to mp_dlg
11. On panel generation, weld plates drawn
Dialog Structure¶
Multi-Page Organization¶
6 Separate Dialogs (not just one!):
1. Page Selection Dialog (pages)¶
?? Weld Connection Page Selection ????????????????????
? ?
? [Page 1] [Page 2] [Page 3] [Page 4] [Page 5] ?
? ?
? [OK] [Cancel] [Help] [Calc] ?
???????????????????????????????????????????????????????
Purpose: Navigate between 5 pages of connections
Each page: 24 connections (or varies by configuration)
Total capacity: 120+ weld connections per panel
2-6. Connection Pages (pg1-pg5)¶
Each page contains a grid of connection rows:
?? Weld Connection Details (page 1) ??????????????????????????????????
? ?
? (Distance from side) (Elevation from Finished Floor) ?
? ?
? Enable Type Snap to Edge? Distance Elevation ?
? (dropdown) L R T B From Side From FF ?
? ???????????????????????????????????????????????????????????????? ?
? [x] wct1 [4x6 Embed?] [L][R][T][B] wcq1 wcd1[___] wce1[___] ?
? [x] wct2 [6x8 Embed?] [L][R][T][B] wcq2 wcd2[___] wce2[___] ?
? [x] wct3 [4x4 Embed?] [L][R][T][B] wcq3 wcd3[___] wce3[___] ?
? ... ?
? (24 rows total per page) ?
? ?
? [OK] [Cancel] [Help] [Calc] ?
???????????????????????????????????????????????????????????????????????
Control Semantics¶
Per-Connection Controls (24 connections per page)¶
Row 1 Example (repeated for wc1-wc24 per page):
Enable Toggle:
wct1- Enable/disable this weld connectionCheckbox: checked = active, unchecked = skip
Type Selection:
wcx1- Weld connection type dropdownOptions from wcl.txt library (50+ types)
Examples:
“4x6 Embed Plate”
“6x8 Heavy Duty”
“3x4 Light Connection”
Custom types user-defined
Edge Snapping (Multi-Select):
wcs1- Edge selection (L/R/T/B checkboxes)L = Left edge
R = Right edge
T = Top edge
B = Bottom edge
Can select multiple edges
Connections snap to selected edge(s)
Face Direction:
wcq1- Face orientation (L/R radio buttons)L = Left face (interior)
R = Right face (exterior)
Position Dimensions:
wcd1- Distance from edgeHorizontal offset from panel side
Typical: 6” to 18”
wce1- Elevation from finished floorVertical position on panel
Typical: Varies by floor level
Array Control:
wca1- Array toggle (if applicable)Enable for repeated pattern
Creates multiple copies
Widget Composition¶
Widget Type |
Count |
Purpose |
|---|---|---|
|
120+ |
Enable each connection (wct1-wct24 × 5 pages) |
|
120+ |
Type selection dropdowns (wcx1-wcx24 × 5) |
|
240+ |
Distance & elevation inputs (wcd, wce) |
|
240+ |
Face direction (L/R) |
|
150+ |
Labels and headers |
|
10+ |
Page navigation, OK, Cancel, Help, Calc |
|
130+ |
Layout organization |
|
30+ |
Vertical grouping |
Total Controls: ~1000+ across all pages
Integration with ConstructiVision¶
LSP Handler¶
Primary Handler: wc_dlg.lsp (15+ KB, complex logic)
Key Functions:
(defun wc_dlg ()
; Load weld connection library
(load-wcl-list) ; From wcl.txt
; Show page selection first
(load_dialog "wc_dlg.dcl")
(new_dialog "pages" dcl_id)
; Page navigation
(action_tile "pg1" "(show-page 1)")
(action_tile "pg2" "(show-page 2)")
; ... etc
(start_dialog)
)
(defun show-page (page-num)
; Load specific page
(new_dialog (strcat "pg" (itoa page-num)) dcl_id)
; Populate from wcl library
(populate-weld-types)
; Set existing values
(restore-wc-values page-num)
; Set action tiles for all controls
(setq i 1)
(repeat 24
(action_tile (strcat "wct" (itoa i)) "(toggle-wc)")
(action_tile (strcat "wcx" (itoa i)) "(update-wc-type)")
(setq i (1+ i))
)
(start_dialog)
)
(defun load-wcl-list ()
; Read wcl.txt weld connection library
; Format: Size | Type | Capacity | Notes
(setq wcl (read-file "wcl.txt"))
)
Integration Features:
? Dynamic library loading (wcl.txt)
? Multi-page navigation
? Edge snapping calculations
? Array pattern generation
? Input validation
? Face direction management
Called By¶
Primary Caller: mp_dlg.lsp
Workflow:
mp_dlg (Master Panel)
?
User clicks [Weld Connection] button (mpwc)
?
wc_dlg opens (page selection)
?
User navigates pages (pg1-pg5)
?
User configures connections
?
User clicks OK
?
Returns to mp_dlg with wc variables set
?
Drawing generation (drawpan)
?
weldconn.lsp draws plates
Global Variables¶
Variable Patterns (per connection):
Page 1 (24 connections):
wct1…wct24- Enable flags (“0” or “1”)wcx1…wcx24- Type selection (index into wcl list)wcs1…wcs24- Edge snap (multi-select: “L”, “R”, “T”, “B”, “LR”, etc.)wcq1…wcq24- Face direction (“L” or “R”)wcd1…wcd24- Distance from edge (feet-inches)wce1…wce24- Elevation (feet-inches)wca1…wca24- Array enable (if applicable)
Pages 2-5: Similar patterns (wc25-wc48, wc49-wc72, etc.)
Library Data:
wcl- Weld connection list (from wcl.txt)wczl- Size listwctl- Type listwcpl- Plate list
Data Flow¶
Load wcl.txt library
?
Show page selection
?
User selects page (e.g., pg2)
?
Load that page's dialog
?
Populate dropdowns from wcl library
?
Load existing values (if editing)
?
User configures connections:
• Enable (wctN)
• Select type (wcxN)
• Snap edges (wcsN)
• Set face (wcqN)
• Input dimensions (wcdN, wceN)
?
User clicks OK
?
Validate all inputs
?
Save to panel_list xrecord
?
Return to mp_dlg
?
On drawing generation:
weldconn.lsp reads wc* variables
?
Calculates actual positions
?
Draws embed plate symbols
?
Adds dimensions and callouts
User Interaction Examples¶
Example 1: Standard Panel with 4 Corner Welds¶
Scenario: 12’×8’ panel needs 4 embed plates at corners
1. User: In mp_dlg, clicks [Weld Connection]
2. wc_dlg: Page selection opens
3. User: Clicks [Page 1]
4. pg1: Connection grid appears
5. TOP LEFT CORNER:
• Check wct1 (enable)
• wcx1: Select "4x6 Embed"
• wcs1: Check [L][T] (left & top edges)
• wcq1: Select L (left face)
• wcd1: 6" (from edge)
• wce1: 7'-6" (near top)
6. TOP RIGHT CORNER:
• wct2: Enable
• wcx2: "4x6 Embed"
• wcs2: [R][T]
• wcq2: R face
• wcd2: 6"
• wce2: 7'-6"
7. BOTTOM CORNERS:
• wct3, wct4: Similar config at 0'-6" elevation
8. User: Clicks OK
9. Result: 4 embed plates positioned at corners
Example 2: Array of Beam Connection Points¶
Scenario: Ledger beam needs 6 equally-spaced connections
1. User: Opens wc_dlg ? Page 1
2. First connection:
• wct1: Enable
• wcx1: "6x8 Heavy Duty"
• wcs1: [T] (top edge)
• wcd1: 2'-0" (first position)
• wce1: 7'-0"
• wca1: Enable array (if available)
3. User: Manually configure 6 positions OR
Use array feature to generate
4. Positions: 2'-0", 4'-0", 6'-0", 8'-0", 10'-0", 12'-0"
5. User: Clicks OK
6. Result: 6 connection points for beam support
Example 3: Multi-Page Complex Panel¶
Scenario: Large panel needs 40 weld connections
1. User: Opens wc_dlg
2. Page 1: Configure wc1-wc24 (24 connections)
3. Page 2: Configure wc25-wc48 (16 more needed)
4. User navigates: [Page 1] ? [Page 2]
5. Each page retains values while switching
6. User: Clicks OK after all configured
7. Result: 40 total connections positioned
Weld Connection Library (wcl.txt)¶
Library File Format¶
wcl.txt structure:
# Weld Connection Library
# Size | Type | Load Capacity | Notes
4x4 | Light Embed | 2 kips | Standard connection
4x6 | Standard Embed | 4 kips | Most common
6x8 | Heavy Duty | 8 kips | Beam connections
8x10 | Extra Heavy | 12 kips | Special loads
3x4 | Small Plate | 1 kip | Light attachments
Custom | User Defined | Varies | Project specific
Dropdown Population¶
wcx dropdown shows:
Size (from wczl list)
Type description
Combined format: “4x6 - Standard Embed”
User-Editable:
wcl.txt can be customized per project
wc_edit.lsp provides library editor
Edge Snapping Logic¶
Multi-Select Edge System¶
wcs variable format:
Single edge: “L”, “R”, “T”, or “B”
Multiple edges: “LR”, “LT”, “RB”, “LRT”, “LRTB”, etc.
Empty: No edge snapping (absolute position)
Snap Behavior¶
When edges selected:
L (Left): X = 0 + wcd offset
R (Right): X = panel-width - wcd offset
T (Top): Y = panel-height - wce offset
B (Bottom): Y = 0 + wce offset
Multiple edges:
Creates connection at intersection
Example: [L][T] = top-left corner
Offsets applied from both edges
Special Features¶
Array Generation (if supported)¶
When wca enabled:
Generates multiple copies
Equal spacing along edge
Count specified separately
All use same type/orientation
Calculator Integration¶
[Calc] button on every page:
Opens calc_dlg without closing wc_dlg
Allows quick dimension calculations
Results can be entered into wcd/wce fields
Page Persistence¶
Values persist when switching pages:
Page 1 values saved when moving to Page 2
Can review/edit any page before clicking OK
All pages validated on OK
Architectural Role¶
Position in Workflow¶
mp_dlg (Master Panel)
?
wc_dlg (Weld Connections) ? YOU ARE HERE
?? Page Selection
?? pg1-pg5 (Connection Grids)
?
Configure up to 120+ connections
?
Return to mp_dlg
?
Drawing Generation
?
weldconn.lsp draws all plates
Critical Structural Feature¶
Why EXTREMELY IMPORTANT:
Structural Safety: Weld plates must be positioned correctly for panel integrity
Construction Critical: Wrong placement = panels can’t be erected
Most Complex Dialog: 1393 lines, 6 separate dialogs, 1000+ controls
High Usage: Almost every panel needs weld connections
Engineering Dependency: Affects structural calculations
Impact of Errors:
Panel can’t be lifted
Connections fail during erection
Field modifications expensive
Construction delays
Technical Notes¶
Multi-Dialog Architecture¶
Not a single dialog:
pages- Page selector (gateway)pg1,pg2,pg3,pg4,pg5- Connection gridsEach page is independent dialog definition
Shared variables across pages
Performance Considerations¶
Large dialog:
1393 lines of DCL
1000+ controls total
Slow to load on older systems
Page system improves responsiveness
Only one page active at a time
Control Naming Convention¶
Pattern:
wcprefix = Weld Connectiont= Toggle (enable)x= Type selections= Snap edgesq= Face direction (Q for “which”)d= Distancee= Elevationa= Array
Numbering:
1-24: Page 1
25-48: Page 2
49-72: Page 3
73-96: Page 4
97-120: Page 5
Documentation Metadata¶
Analysis Date: 2026-01-20
Method: Manual enhancement with source analysis
Completeness: ? COMPREHENSIVE
Documentation Quality:
? Multi-page architecture explained
? Complete control semantics
? Structural engineering context
? Library system documented
? Edge snapping logic detailed
? Real-world examples with engineering reasoning
Enhancement Status: ? [6/20] COMPLETE
Complexity: ????? (5/5) - Most complex dialog in ConstructiVision
End of Document