VectorScript
Vectorworks' embedded Pascal-superset scripting language — born as MiniPascal in MiniCad+ in 1988 and still automating CAD and BIM workflows in the current release nearly four decades later.
Created by Diehl Graphsoft (now Vectorworks, Inc.)
VectorScript is the embedded scripting language of Vectorworks, the long-running CAD and BIM application used by architects, landscape designers, and entertainment-production designers. Syntactically it is a Pascal: the official language guide describes it as a “superset” of Pascal that extends the base language with a large API exposing the drawing, document, and object model of the Vectorworks CAD engine. A user who knows Pascal can read a VectorScript program immediately; what makes it distinctive is that its statements create walls, symbols, and worksheets rather than console output. First shipped in 1988 as MiniPascal inside MiniCad+ — the product whose lineage began with MiniCAD in 1985 — it took the VectorScript name in the late 1990s when MiniCAD became VectorWorks, and it remains a documented, supported language in Vectorworks 2026.
History and Origins
The story begins with the host application. In 1985, Richard Diehl founded Graphsoft (soon Diehl Graphsoft) in Columbia, Maryland, and released MiniCAD 1.0 for the then-new Apple Macintosh — an affordable CAD package that reportedly gained early 3D capabilities alongside its 2D drafting. Three years later, in 1988, MiniCad+ 1.0 arrived with a feature set unusual for desktop CAD of its day: an integrated spreadsheet, a unified 2D/3D editing environment, and MiniPascal, an embedded Pascal-based scripting language that let users automate the program from within.
The choice of Pascal was a natural one for a Macintosh product of the 1980s: Pascal was the Mac’s original preferred development language, and a Pascal-shaped scripting layer felt familiar to the technically inclined designers MiniCAD attracted. Over successive MiniCAD releases the scripting API grew alongside the application, gaining access to new features as they were implemented.
The modern name came with the product’s own reinvention. In 1999 Diehl Graphsoft rebranded MiniCAD as VectorWorks with version 8, shipping on both Mac and Windows and shedding the “mini” image, and MiniPascal was renamed VectorScript to match. The following year, 2000, the German Nemetschek Group acquired Diehl Graphsoft, which became Nemetschek North America and eventually, in 2016, simply Vectorworks, Inc. Through every change of product name and ownership, the scripting language carried forward.
Design Philosophy
VectorScript is a purpose-built automation language, and its design reflects a few consistent choices:
- Familiar base, domain-specific power. Rather than inventing new syntax, the language adopts Pascal’s structured, readable core —
PROCEDURE,BEGIN/END,FOR,WHILE, strong typing — and layers the entire Vectorworks API on top. The learning curve is the API, not the grammar. - The document is the runtime. Scripts operate directly on the active drawing: creating and modifying objects, walking the document’s object list, reading and writing records and worksheets. There is no standalone VectorScript interpreter; the language exists to manipulate Vectorworks documents.
- From one-liners to products. The same language spans quick script-palette utilities typed by end users and full plug-in development — custom menu commands, tools, and parametric plug-in objects that behave like native features.
- Criteria-driven object processing. Functions such as
ForEachObjectaccept search criteria, letting scripts declaratively target “all objects on this layer matching these attributes” instead of hand-writing traversal logic — a pattern well suited to CAD documents containing thousands of objects.
Key Features
A VectorScript program is structured as a Pascal procedure handed to Run. This complete script draws a row of squares in the active document:
PROCEDURE RowOfSquares;
VAR
i : INTEGER;
BEGIN
FOR i := 0 TO 4 DO
Rect(i * 20, 10, (i * 20) + 10, 0);
AlrtDialog('Five squares drawn.');
END;
Run(RowOfSquares);
Notable capabilities include:
- Pascal language core: strong static typing, structured control flow, procedures and functions, arrays, and structured types
- A large CAD-engine API: object creation and editing, document and layer management, attribute control, worksheet and record access, and dialog construction, catalogued in the official VectorScript Function Reference
- Custom dialog boxes, letting scripts present real user interfaces for input
- Script palettes inside the application, where users store and run scripts without any packaging step
- Plug-in development: scripts can be packaged as menu commands, tools, and parametric objects — the latter being objects whose geometry regenerates from user-editable parameters
- Object events, allowing plug-in objects to respond to user interaction
Evolution
VectorScript’s evolution tracks its host application. The API expanded release by release as MiniCAD, then VectorWorks, added 3D modeling, worksheets, and eventually BIM capabilities. The most consequential shifts came in the 2010s. Vectorworks 2014 added Python as a second scripting language, exposing the same application API through a mainstream language with a vast ecosystem — positioned as an alternative to VectorScript rather than a replacement. Vectorworks 2016 introduced Marionette, a node-based graphical scripting environment for algorithms-aided design, giving non-programmers a visual path to the same automation machinery.
Rather than deprecating VectorScript, Vectorworks has kept the three options side by side: VectorScript for its decades of existing scripts and plug-ins and its lightweight Pascal simplicity, Python for developers who want modern language features and libraries, and Marionette for visual programming. The company continues to publish the VectorScript Language Guide and Function Reference and hosts scripting resources on its developer portal and public GitHub repository.
Current Relevance
VectorScript remains a shipping, documented component of Vectorworks 2026, released September 10, 2025, and runs wherever Vectorworks does — the product is sold for both macOS and Windows. An active scripting community persists on the Vectorworks Community Board, and a large body of legacy scripts and commercial script-based plug-ins keeps the language load-bearing in production workflows across architecture, landscape, and entertainment design. That said, the momentum for new development has visibly shifted: Vectorworks’ own developer materials lead with Python and Marionette for newcomers, and VectorScript’s role today is partly that of a stable, maintained compatibility layer for an enormous installed base of automation. Few languages get to be both actively supported and quietly historical at the same time.
Why It Matters
VectorScript is one of the longest-lived examples of an embedded application scripting language — the genre that includes AutoLISP in AutoCAD and VBA in Microsoft Office. Its history illustrates a recurring pattern in commercial software: an application grows a scripting layer (MiniPascal, 1988), the layer accumulates an ecosystem of user scripts and third-party plug-ins, and that ecosystem becomes valuable enough that the vendor preserves the language across decades of rebrandings, acquisitions, and platform shifts — even after adding a more modern alternative alongside it. It is also a small monument to Pascal’s afterlife: long after Pascal faded from mainstream application development, its clean, teachable syntax survives in daily professional use inside a CAD package, drawing walls and lighting rigs for designers who may never have written Pascal anywhere else.
Timeline
Notable Uses & Legacy
Vectorworks, Inc.
Ships VectorScript as the built-in automation language of the Vectorworks product line (Fundamentals, Architect, Landmark, Spotlight), and maintains its language guide, function reference, and script editor as part of the product and its developer portal.
Architecture and BIM practices
Firms using Vectorworks Architect write VectorScript to batch-automate repetitive drafting and documentation tasks — generating geometry, driving worksheets, and processing objects across drawings by criteria.
Entertainment and lighting design
Users of Vectorworks Spotlight, a widely used tool for entertainment production design, script repetitive rig layout and paperwork tasks with VectorScript and the same scripting API now shared with Python.
Third-party plug-in developers
Independent developers and Vectorworks distributors package VectorScript as script-based plug-ins — custom menu commands, tools, and parametric objects — distributed to end users who install them like native features.