Basics

Contents

Introduction

This page contains basic concepts for users working with SOZ-LIVE.

Class

A Class is a template for the creation of an Object.
Everything that is created in CAD, and in SOZ, is an Object of a particular Class.
This includes graphical entities such as:


Through to non-graphical objects such as:

Note

Except for Lisp values, each class has a four letter prefix that identifies it as belonging to a particular part of the class hierarchy. Refer to the Prefixes Reference document for details.

Object

An Object is the base level of things created.

They are non-graphical in nature and range from simple values such as:

Through to complex geometric objects that utilise other objects and entities in their calculated value(s):

Note

A Real value entered into a dialog box is stored as a string until required by the program. This enables lisp equations such as (/ 1.0 3.0) to be entered and calculated to full precision as and when required.

Entity

An Entity is a type of Object that are graphical in nature.

Base entity classes predominantly begin with the prefix AcDb, and derived classes are typically prefixed with SZCE.

Identifiers

All objects in SOZ are stored and passed by reference to an ID - that is a string incorporating the object’s Handle.
eg: "#O#AA5" would be the SOZ object with the handle AA5.

Note

All Make routines return the ID of the object / entity that was created.

Methods

Within SOZ each function is defined as a Method of a particular Class.

When interacting with SOZ you are basically manipulating Objects by applying a method to the Object.

Commands

You can interact with the program in a number of ways.

The easiest way to interact with SOZ is to type Y on the command line - a dialog box appears with a tree-view of options to select from.

The full hierarchial list of of commands is here.

Note

All SOZ commands are in the same format, eg M-… so as not to interfere with conventional CAD shortcuts.
Once you know the name of a command, you can type that command instead.
Y was chosen as it is the only key not used as a standard CAD command shortcut.

Dialog Boxes

Each SOZ-LIVE Class and Function has a dialog box developed on-the-fly, depending on the arguments for the Class or Function.

Each argument to be specified creates another entry in the dialog box to be filled in by the user.

Note

Only fully completed dialogs - one with valid entries for each field, will be parsed by the Make routine properly and return a valid Object.

The entry is either an atom field or a list field - depending upon the type of each of the arguments for the Class…

For example, the dialog for the class SZGELine has two required arguments:

Note

Any class that is derived or one that interfaces with the type is also valid.
The alternative classes available for each dialog are available from the … button at the top of the dialog next to the Class Name.
You can Cut and Paste values from one field to another - as long as the Type of the Value / Object / Entity is compatible.

Atom Fields

Each atom field has a number of components to it..

  1. the Border - that contains the name of the class that is required to be specified. eg. SZGEPoint
  2. the Key - the name of the argument being specified. eg: POINT0
  3. the EditBox - where the value of the argument is entered / displayed
  4. the ... Button - to specify a different class than the one listed in the border. (optional)
  5. the Options DropDown - a list of options available to specify the value for the argument.


Where the Options vary depending upon the Class being created, but include:

Note

All options are prefixed with User_ to indicate that they are user methods - selectable by the User.

List Fields

Each list field has five components to it..

  1. the Border - that contains the name of the class that is required to be specified.
  2. the Key - the name of the argument being specified. eg: IOBJS
  3. the Make Options Dropdown - at the top of the ListBox.
  4. the ListBox - where the values of the argument is displayed - double clicking on a entry will Edit the value.
  5. the Edit Options DropDown - a list of options available to Edit the list.


Where Make Options include:


And Edit Options include:

Note

Double clicking on an Item Edits the Item.

LIVE

LIVE is a Node-Based UI for SOZ that enables the user to create visual scripts for iterative design.

The routines are built into the Core of SOZ, and consist of under 1000 lines of code.

Functionality includes:

LIVE objects are created in PaperSpace while the modelling entities are created in ModelSpace.

The three Object Types for LIVE are:

LIVE Nodes

A Node is the graphical object that represents data that can be edited and updated to visualise alternative designs.

In LIVE, a Node is a BlockReference Entity, an instance of a Block Object that represents the Function / Method being visualised.

In SOZ-LIVE any Method, including all Make methods for Classes can be used as Nodes, thereby giving the greatest flexibility to the system possible.

Every Method has 0 or more inputs and a Return value. These are shown as Attributes within the Block.

A Link is the graphical object that represents the flow of data from one Node to another. (Typically Left to Right.)

In LIVE, a Link is a 3dPolyline Entity that is drawn from a Point to a Point.

Each Link will update when the corresponding Node is moved or edited.

LIVE Points

A Point is the graphical object that enables picking of data Values within a Node.

In LIVE, a Point is a Point Entity that is drawn at each of the Values of the Node - both Inputs and Return values.

Each Point will update when the corresponding Node is moved or edited.

Drawing Process

The basic SOZ-LIVE process for drawing develoment follows four phases:

During each phase the basic approach to using SOZ is followed:

Note

The process of drawing develoment doesn’t have to be linear (moving from Specify to Draft to Model etc.)
SOZ enables most entities to be created from within the Dialog Boxes as required.
This means that a non-linear approach to model creation can be achieved.
And because changes can be made, editing can be done later.

Specify

The Objects and Values that form the basis for the Entities are created in this phase.
These include:

Draft

The Entities that form the basis for the Models are created in this phase:

Model

Modelling Entities are created in the phase, using previously defined Entities and objects:

Part

Parts are made from Features.
In the drawing they exist as a BlockReference for a given Block (the Definition). When editing the Part, the changes are make to the Definition and then the model is updated to reflect the changes.
There are also a number of pre-defined Part classes that can be created:

These can then be further developed by adding features.

Features

There are a variety of types of Features that can be created. Including:

Assembly

Assemblies are made of Parts.

Present

Currently the presentation of the model is out of the scope of SOZ-LIVE