Runtime environment


This section contains a brief description of 'lv's runtime environment. The purpose of this section is to give some additional hints to the "advanced user" who wishes to customize her or his 'lv' installation, or to understand how command line options can be combined.

It should be noted that the contents of this section is not very interesting, except for the purposes mentioned, and can be ignored for normal application of 'lv'.

Organization of the runtime environment

A standard 'lv' installation consists of a csh (C-shell) script named lv and a subdirectory named lv_base/. Both items should be installed at the same place, and the lv script's location should be part of the user's $PATH environment variable.

Usually, a 'lv' session is started using
lv "STEP file" [ Options ]
This means, the session begins with the execution of the lv script. This script will determine the hardware platform/operating system version it is executed upon, and will check if an appropriate binary executable is located in the lv_base/ directory. If this is the case, the binary gets executed, and all arguments given to lv are handed over to it.

Sometimes, it might be necessary to modify the lv startup script:

All the necessary ingredients for 'lv's operation are contained in the lv_base/ subdirectory. Here is what they are good for:

Configuration schema for 'lv'

Here is, as a reference, the contents of lv_base/lv_cfg.expr:

SCHEMA lv_configuration;

TYPE label = STRING;
END_TYPE;

ENTITY colour;
END_ENTITY;

ENTITY colour_specification
SUBTYPE OF (colour);
name : label;
WHERE
wr1 : name IN ['background','highlight','mark','decorate', 'default', 'border', 'isoline'];
END_ENTITY;

ENTITY colour_rgb
SUBTYPE OF (colour_specification);
red : REAL;
green : REAL;
blue : REAL;
WHERE
wr1 : {0.0<=red<=1.0};
wr2 : {0.0<=green<=1.0};
wr3 : {0.0<=blue<=1.0};
END_ENTITY;

END_SCHEMA;

Sample configuration file

Here is an example of a configuration file for 'lv':

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Sample default configuration for lv'),'1');
FILE_NAME('lv_cfg.stp','Aug 15, 2001',('J.Kuebler'),('T-Systems'), '1.0','vi', 'self');
FILE_SCHEMA(('LV_CONFIGURATION'));
ENDSEC;
DATA;
#10=COLOUR_RGB('background', 0., 0., 0.2);
#20=COLOUR_RGB('default', 1., 1., 1.);
#30=COLOUR_RGB('highlight', 1., 1., 0.1);
#40=COLOUR_RGB('mark', 0.3, 1., 1.);
#50=COLOUR_RGB('decorate', 0.7, 0.7, 1.0);
#60=COLOUR_RGB('border', 1.0, 1.0, 1.0);
#70=COLOUR_RGB('isoline', 0.5, 0.5, 0.5);
ENDSEC;
END-ISO-10303-21;

Runtime processing steps

In this section, a brief description of the sequence of steps is given which 'lv' will perform after invocation. This sketch might help identifying the source of runtime errors, and might also help to understand how different command line options can be combined, and what the effect of such a combination (i.e., the sequence of their execution) may be.

  1. The first step is the processing of command line arguments. This follows the following outline:

  2. Next, 'lv' will read and interpret the configuration file (see above) if present.

  3. Finally, first the EXPRESS schema that had been determined, and then the given input (STEP/IGES/VDAFS) file are read.

Further processing of the product data depends on whether 'lv' is in interactive operation mode, or in batch operation mode.

Interactive operation

Definition: 'lv' runs in interactive mode if:

In interactive mode as defined, 'lv' will proceed as follows:

  1. activate -unsafe, that means that the checks will also apply that go along with -unsafe -u (see description).
  2. set the level of checks to 2 if not yet specified to be higher (see description of -u option)
  3. check compatibility of data with the underlying schema,
  4. begin to display geometry,
  5. perform a -u2 check of the product (or -u3 if specified on the command line)
  6. go into idle mode.

Batch operation

'lv' runs in batch operation if the conditions defined above do not apply.

Note: Admittingly it might be hard for a non-programmer to interpret this negation of a mostly negative condition, but remember: This chapter is not deserved for the innocent reader.

In batch mode, 'lv's operation is mainly controlled by the options supplied. In case there are any repair type options present, they are executed and the program terminates. Some (few) of them can be combined in an useful manner, and the description that follows below hopefully explains these cases. In case no repairing options are provided, (i.e., basically just -ns was supplied on the command line), 'lv' will check (if -u is present) the product and just produce a logfile.

This "check-type" operation set aside (i.e., only "Command line options" ("-mod.stp" file) and terminate.
Whether in these cases, a modified file ("-mod.stp") gets written, depends on whether the actions taken did result in any changes in the instance set. If any instances were deleted, modified, or created, then 'lv' will now write the "-mod.stp" file (see discussion at -ns option).

The following order applies:

The following options are then checked for presence and, if present, are processed in the order given (each option present leads to immediate termination after having been processed): Having reached this point, the next two options are executed by 'lv' if present, without the consequence of terminating the program: 'lv' will process them if present, and proceed: The next option will, if present, again cause 'lv' to terminate after its execution: The folllowing step is then performed without the possible consequence of leaving the program: Control flows on as follows:
Help Index
© lv: visit us on http://www.wundertools.de/
This page last updated: 1999/11/17