Menus & Commands
The Menu (subject to change!)
Jump directly to description of:
Menu [Prefab],
[Process],
[Preview],
[Present],
[Push],
[Pull],
[Put],
[Published]
Menu [Prefab]:
[Prefab]/[Open Initial...]:
(Hotkey: '[Ctrl]+[O]')
Invite a NoLimits prefab into the 'Purgatorium'.
Prefab selection is set to 'IN'.
The whole prefab will be evaluated, views, track or data (whatever was set) will be displayed.
CAUTION: Opening a new 'IN' will possibly delete
an existent 'PR'.
(which may have been depending on the former 'IN's values!)
[Prefab]/[Open Initial From Track...]: (NOT YET AVAILABLE)
Open any '.nltrack'-file and extract the bezier values to create an
'IN' out of it. The first vertex will become the same as in the
track file. This in general will produce quite large prefabs with
lots of segments thus resulting in very(!) long computation times.
[Prefab]/[Save Processed]:
(Hotkey: '[Ctrl]+[S]')
Will save the 'PR' with original
filename automaticaly extended to '_prp.nlelem'.
NO overwriting of original prefabs is done under any circumsatces
except you choose the next option('Save As...') and do this at will.
[Prefab]/[Save Processed As...]:
(Hotkey: '[Ctrl]+[A]')
Will save 'PR' under user defined filename.
Fileextension '.nlelem' will be added in case not present.
[Prefab]/[Save Initial Seg's as Single Files...]:
Split 'IN' and save each segment as a single prefab.
Base filename is the 'IN's name with added numbers from
'OrigPrefabName_S001.nlelem' to '..._Snnn.nlelem' then.
[Prefab]/[Save Proc'd Seg's as Single Files...]:
Same as above, but this time with the single segments of your burnt 'PR'.
Following NOT YET available:
[Prefab]/[Load Purgatorium Values...]:
[Prefab]/[Save Purgatorium Values...]:
(but for sure working in some future version.
Still searching hard for the most possible complicated and weird file format... *g*)
(Tiny voice: "REGEDIT4!", low voice: "3DS!!", tiny voice: "MS-DOC!!!", third voice:"Whaddayatalkinabout???")
[Prefab]/[Load Initial from CSV-/Text-File...]:
[Prefab]/[Save Processed as CSV-/Text-File...]:
For Loading and Saving CSV-/Text-Files please see 'File Xchange', resp.
'...Import' and '...Export' below on this page.
[Prefab]/[Exit from?/to? Hell]:
(Hotkey: '[Alt]+[F4]')
(Couldn't figure out what that actualy was for...
Well, who wants to leave a warm and cosy place like the waiting room to hell anyway???)
^ Top of Page
Menu Process
[Process]/[Undo Push...]:
(Hotkey: '[Ctrl]+[Z]')
You will have the Chance of ONE single 'Undo' for the last 'Push' operation you may have performed.
[Process]/[Redo Push...]:
(Hotkey: '[Ctrl]+[Y]')
NOT YET Availble!
[Process]/[Send Prefab through Purgatorium!]:
(Hotkey: '[Ctrl]+[Shift]+[P]')
Send an 'IN'
through the Purgatorium to create a 'PR'
version of it.
[Process]/[Copy Initial to Processed]:
(Hotkey: '[Ctrl]+[P]')
Copy the 'IN' to the
'PR' while leaving it untouched. (No matter whatever is
set in the 'Purgatorium' panel) Mostly used for instance to save it to disk.
[Process]/[Set Processed as New Initial]:
(Hotkey: '[Ctrl]+[N]')
Make the 'PR'
your new 'IN'. Use either to have different
transformation which can not be performed within one 'run' or in case you
additionaly want to 'push' an already processed one.
[Process]/[Clear Purgatorium Values]:
(Hotkey: '[Ctrl]+[C]')
Set all values within the 'Purgatorium' panel (the left one, yeah, you guessed it!)
do default and uncheck any options.
[Process]/[Uncheck Purgatorium Options]:
(Hotkey: '[Ctrl]+[U]')
KEEP all values within the 'Purgatorium' panel and ONLY UNCHECK options.
^ Top of Page
Menu Preview
[Preview]/[Initial Prefab]:
(Hotkey: '[I]')
[Preview]/[Processed Prefab]:
(Hotkey: '[P]')
[Preview]/[Xternal Prefab]:
(Hotkey: '[X]')
Select either one of these three to investigate the according prefab.
Each (I,P,X) is only available when actualy present.
[Preview]/[Views Panel]:
(Hotkey: '[V]')
[Preview]/[Track Panel]:
(Hotkey: '[K]')
[Preview]/[Data Panel]:
(Hotkey: '[D]')
[Preview]/[Synth Panel]:
(Hotkey: '[Y]')
Any of these four will select the according Panel. Selecting the 'Views Panel'
will NOT affect the type of view (Q,T,F,R,A) you have currently selected but
show up with the last settings.
^ Top of Page
Menu Present
[Present]/[Quad View: T, F, R, Axo]:
(Hotkey: '[Q]')
[Present]/[Top View]:
(Hotkey: '[T]')
[Present]/[Front View]:
(Hotkey: '[F]')
[Present]/[Right View]:
(Hotkey: '[R]')
[Present]/[Axonometric View]:
(Hotkey: '[A]')
Any of these four will select the according view while switching to the 'Views Panel'.
[Present]/[Toggle Vertex Display]:
(Hotkey: '[Ctrl]+[*]', '*' on NumPad!)
[Present]/[Toggle Handles Display]:
(Hotkey: '[Ctrl]+[/]', '/' on NumPad!)
[Present]/[Toggle Segm. Numbers Display]:
(Hotkey: '[Ctrl]+[,]')
[Present]/[Toggle Grid Display]:
(Hotkey: '[Ctrl]+[G]')
[Present]/[Toggle Pseudo Supports Display]:
Use these to mess up your graphic display a bit...
^ Top of Page
Menu Push
Menu 'Push' is subject to urgent change, therfor not yet documented.
'Pushes' con only be performed on the 'IN'.
[Push]/[Prefab ZX-Plane After...]:
(Hotkey: '[Ctrl]+[J]')
[Push]/[Prefab Continous After...]:
(Hotkey: '[Ctrl]+[Shift]+[J]')
[Push]/[Prefab ZX-Plane Before...]:
(Hotkey: '[Ctrl]+[I]')
[Push]/[Prefab Continous Before...]:
(Hotkey: '[Ctrl]+[Shift]+[I]')
'Push Prefab...' will open another file from disk (leaving any existent
'PR' or 'XT' untouched.)
and add it according to the selected sub-options (Before|After, ZX-plane|Continuos)
[Push]/[Initial Self ZXPlane After...]:
(Hotkey: '[Ctrl]+[E]')
[Push]/[Initial Self Continuos After...]:
(Hotkey: '[Ctrl]+[Shift]+[E]')
[Push]/[Initial Self ZXPlane Reversed After...]:
(Hotkey: '[Ctrl]+[R]')
[Push]/[Initial Self Cont. Reversed After...]:
(Hotkey: '[Ctrl]+[Shift]+[R]')
[Push]/[Equidist. Straight After...]:
(Hotkey: '[Ctrl]+[T]')
[Push]/[Equidist. Straight Before...]:
(Hotkey: '[Ctrl]+[Shift]+[T]')
Attach an additional straight segment to the End (After) or Beginning (Before')
This segment will point in the same direction as the according vertex-handle does
already and have an 'equidistant' characteristic based on the handle-lenght of this
former last / first vertex. (Just try this to see what it does. You'll like it!)
^ Top of Page
Menu Pull
Menu 'Pull' is also subject to change, therfor not yet documented.
[Pull]/[L&oad Xternal Prefab...]:
(Hotkey: '[Ctrl]+[X]')
Use this to load an independent 'XT' from disk.
Remember that the 'XT' is for viewing
and comparison only. Nothing can be 'done' with this.
These '[Pull]/[Values of Xternal Prefab...]' are NOT YET working:
[Pull]/[Values of Xternal Prefab...]/[From 1st Vertex: Slope-T]:
[Pull]/[Values of Xternal Prefab...]/[From 1st Vertex: Inverse Slope-T]:
[Pull]/[Values of Xternal Prefab...]/[From Last Vertex: Slope-T]:
[Pull]/[Values of Xternal Prefab...]/[From Last Vertex: Inverse Slope-T]:
[Pull]/[Values of Xternal Prefab...]/[From 1st Vertex: Rotate X-axis]:
[Pull]/[Values of Xternal Prefab...]/[From 1st Vertex: Inverse Rotate X-axis]:
[Pull]/[Values of Xternal Prefab...]/[From Last Vertex: Rotate X-axis]:
[Pull]/[Values of Xternal Prefab...]/[From Last Vertex: Inverse Rotate X-axis]:
Following'Pull's should be working alright and are calculating and setting additional
'Purgatorium'-values from already existent (and enabled) ones:
[Pull]/[Preserve X from Scale Total]:
[Pull]/[Scaling to ZX-Skew by Rotation]:
[Pull]/[Inv. X-Rotation from Slope-T]:
[Pull]/[Inv. Slope-T from X-Rotation]:
Have more still more fun with these:
[Pull]/[Z-Axis Rotation for Y-Out = Y-In]:
Set and enable Z-Axis Rotation so that the Y values of the very first and
last vertex of the whole prefab be at same height (mostly beeing zero).
[Pull]/[X-Axis Rotation for Y-Out = Y-In]:
Set and enable X-Axis Rotation so that the Y values of the very first and
last vertex of the whole prefab be at same height (mostly beeing zero).
[Pull]/[Y-Axis Rotation for X-Out = X-In]:
Set and enable Y-Axis Rotation so that the X values of the very first and
last vertex of the whole prefab be on a line parallel to Z-axis.
^ Top of Page
Menu Put
[Put]/[All Metrics/Units to 'European']:
Will immediately set all input units as well as output values to meters, kmh, etc. while keeping
any settings and displaying current values with the new units. (by doing automatic conversion!)
[Put]/[All Metrics/Units to 'English/US']:
Same as above but set everything to feet, miles/h and so on.
^ Top of Page
Menu Published
[Published]/[Program Help]:
[Published]/[Program Turturial]:
[Published]/[Processing Options]:
Will open this documentation in case of correct installation.
[Published]/[English Help]:
[Published]/[Deutsche Hilfe]:
Switch between languages on the fly (When available)
[Published]/[About This 'Purgatorium'...]:
You don't want to know that...
^ Top of Page
General Buttons
General Button Bar
From left to right:
-
Purgatorium Button: Send an 'IN'
through the Purgatorium to create a 'PR'
version of it.
-
Clear Purgatorium values. (Hotkey: '[Ctrl]+[C]')
-
Uncheck Purgatorium Options but keep values. (Hotkey: '[Ctrl]+[U]')
-
View the 'IN' within the current view (Hotkey: '[I]')
-
View the 'PR' within the current view (Hotkey: '[P]')
-
View the 'XT' within the current view (Hotkey: '[X]')
-
Quad View (Hotkey: '[Q]')
-
Top View (Hotkey: '[T]')
-
Front View (Hotkey: '[F]')
-
Right View (Hotkey: '[R]')
-
Axonometric View (Hotkey: '[A]')
-
Track Panel (Hotkey: '[K]')
-
Data Panel (Hotkey: '[D]')
-
Synth Panel (Hotkey: '[Y]')
Buttons showing with 'Preview'
Preview Button Bar
From left to right:
-
Toggle Vertices Display (Hotkey: '[Ctrl]+[*]' on the numeric keypad!)
-
Toggle Handles Display (Hotkey: '[Ctrl]+[/]' on the numeric keypad!)
-
Toggle Segment Numbers Display (Hotkey: '[Ctrl]+[,]' 'the comma'!)
-
Toggle Grid Display (Hotkey: '[Ctrl]+[G]')
-
Toggle Pseudo Supports within Axonometric View.
These 'Pseudo Supports' simply show the Y-coordinate of a vertex relative to ground.
Positive values will be dark green, negative will be dark red.
Buttons showing with 'Track Panel'
Track Button Bar
From left to right:
-
Toggle Vertices Display (Hotkey: '[Ctrl]+[*]' on the numeric keypad!)
-
Toggle Handles Display (Hotkey: '[Ctrl]+[/]' on the numeric keypad!)
-
Toggle Segment Numbers Display (Hotkey: '[Ctrl]+[,]')
-
Toggle Grid Display (Hotkey: '[Ctrl]+[G]')
Button showing with 'Synthesis'
Synthesize Button (Hard to reckognize, isn't it?)
^ Top of Page
Move & Zoom
The program code handling the 'Walk'-, 'Move'- and 'Zoom'-features as well
as the way the views are represented currently is due to a major rewrite. Expect any hotkeys
beeing kept but different visualization behavior in future versions!.
You may walk, move or zoom your views by using special hotkeys.
All zoom-/move-keys with numbers are located on the numeric keypad!
The 'NumLock' button on your numeric keypad must be enabled for this!
Walking along the prefab in steps:
-
[W] : Walk forward one segment.
-
[S] : Walk backwards one segment.
-
[Pos1] : Walk to first segment.
-
[End] : Walk to last segment.
Moving as seen from top view:
-
[Ctrl]+[7] : Move Forward and Left (-Z & -X)
-
[Ctrl]+[8] : Move Forward (-Z)
-
[Ctrl]+[9] : Move Forward and Right (-Z & +X)
-
[Ctrl]+[4] : Move Left (-X)
-
[Ctrl]+[6] : Move Right (+X)
-
[Ctrl]+[1] : Move Back and Left (+Z & -X)
-
[Ctrl]+[2] : Move Back (+Z)
-
[Ctrl]+[3] : Move Back and Right (+Z & +X)
-
[Ctrl]+[PgUp] : Move Up (+Y)
-
[Ctrl]+[PgDn] : Move Down (-Y)
Zooming by a constant multiplicator (which is squareroot of 2)
-
[Ctrl]+[+] : Zoom In
-
[Ctrl]+[-] : Zoom Out
Reset Zoom and / or reset Move position:
-
[Ctrl]+[0] : Reset Zoom Factor to default
-
[Ctrl]+[5] : Reset Move Position to default
-
[Ctrl]+[Pos1] : Reset Zoom Factor AND Position to default
^ Top of Page
File Xchange
There is a feature to exchange any prefab data with other programs, for instance
spreadsheed-apps or math-programs. This is done by reading/writing the vertex coordinates
as well as optional banking and 'CR'-/'RR'-flag information from/to text files.
These text files will be 'Windows ANSI' with standard 'CR/LF'-linebreaks.
The 'Prefab Purgatorium' will by default read and write two basic formats:
-
.TXT Usualy 'TAB' separated values. Default and recommended.
-
.CSV Character Seperated Values. Commonly using semicolon (';').
There are many additional options to acommodate the possible import/export
file-formats of various applications or defining custom formats.
File im- and -export settings are both defaulted in the same way to give you not only fast data exchange with common
spreadsheed applications but also easy handling by 'understandable' reordering and modification of data.
^ Top of Page
File Xchange - Import
CAUTION: By importing data there is NO proofing/validation done. Values are read 'as is'.
In case your imported segment data are not adjacent or not 'continuos' as required
(watch handle directions on the vertices!) you may and will get unpredictable results!
Keep an eye on the following issues:
-
When having a 'starting point' coming along with your imported prefab this 'starting point' has NOT
necessarily to be located at 0/0/0. These Values will be checked dependent on your settings and
if necessary moved to conform with any requirements.
-
In case the very 1st handle does not point to neg. Z-orientation (as it should) this 'quality' is KEPT as is!
Possibly you later may want to perform a rotation operation which depends exactly on such an 'error'.
You may fix this finaly with the 'Purgatorium' anyway. (Use option: 'Correct ZX-Angle by 1st Handle' on processing.)
-
Any valid separator always will define the start of a new column within your data.
There is NO way of reading values stored in any kind of 'fixed width'-format.
(See trouble with 'Blanks' below also!)
-
Whenever 'Blanks' are selected as 'Separator' each single blank space will be
treated as an individual and valid column-separator! Additionaly the 'Purgatorium may run
into some problems reading numbers. Usage of 'Blanks' is definitely NOT recommended therefor.
-
When creating files with some application preferringly use this comment character: '#'.
(There may be some 'Auto-Evaluation' feature on (re-)importing such files in the future strongly relying on exactly that.)
-
Numbers MUST be available in decimal format (like '1523.284' or '1523,284' =OK).
Numbers may NOT contain any 'thousands'-separators (like '1,523.284' or '1.523,284' =WRONG!).
Scientific notation (like 1.23846E-4 =WRONG) is NOT reckognized or even badly misunderstood!
-
Any Numbers are automaticaly converted to the appropriate internal values wether they are read in
'English/US' (like '12.3456') or 'European' (like '12,3456') format. leading or trailing blanks for values
are allowed. (except when 'Separator' is 'Blank'!) At least don't care further about this!
-
Whenever a value is expected and 'nothing is there' it will be interpreted as numeric 'zero' value
by the 'Purgatorium'. This may not work sometimes so please do not rely on that! Keep you data tidy!
-
Your data may contain excess colums before (as well as after) the columns containing the prefab values.
This is okay as long as you care about setting the 'Shift' option (see below) correctly. Excess colums
following the values are simply ignored. For example: a line reading
'# Start Left Turn;# r=24 b=30; 14.3085; 22.2778; 0;0,523598;Y;0;# Segm Nr. 3;# 1st Pt. '
will be evaluated correct as long as 'Separator' is ';' and 'Shift' was enabled and set to '3'
Menu: [Prefab]/[Load Initial from CSV...] (only available
when 'IN' is selected) will open:
CSV-Import Options Dialog
Group 'File Format':
-
'Separ.' = 'Separator Character':
Multiple Selections of 'TAB-Space', 'Semicolon', 'Blank' or other possible.
CAUTION: When multiple separators are choosen each will act as a separator in addition(!).
-
Any Decimal Pt.:
If choosen (default behaviour), both 'dots' as well as 'european commas' will be understood.
When unselected, English/US number format ('12.3456') is strictly required and the comma (',')
then may be choosen as separator character.
Group 'Values':
-
Order 'ZXY' OR 'XYZ': Expected order of coordinate values within columns 1 to 3.
Reading coordinates as 'ZXY' (default) along with option 'Neg. Z' (see below) will enable you
to create your data representing a native 'forward, right, up'-orientation within
your files. (Remember the differing Nolimits orientations!)
-
Points '0-3': Expect four lines of bezier-coordinates for each segment.
(Default setting) This resulting in having double entries for each adjacent (= connecting) P3/P0!
The coordinates of the very first Point do NOT have to be 0/0/0. Values of all other points
are evaluated relative to the existing P0-values of the starting point.
-
Points '1-3': Expect three lines of bezier-coordinates for each segment.
The 'P3' of one segment thus will represent the P0 of the according following segment.
The coordinates of very first Point are set to 0/0/0 by default.
CAUTION: In case your file should contain an additional line of values for a starting point
also disable the 'Add 1st Vertex P0'-option (see below). Then and only then the other coordinates will
be read relative to this starting point.
-
Modify Y->0: Force Y-values to 'Zero' (= do not evaluate height information) even if present.
-
Modify Neg. Z: Negate Z-values ( * -1 ) on evaluation. Set by default and recommended.
-
Include BNK: Read banking values from column 4. Angle-values MUST be stored in native 'radiants'!
Positive/negative orientation appears as within NoLimits. Nonexistend banking will be read as zero value.
Banking data is only read from lines containing the coordinates for the according 'P3'.
-
Include CR/RR: Read CR- and RR-flags from column 5 and 6. Selecting to read these
flags will automatically expect banking values in column 4!
Values of '0' (= Numeric Zero) or any negative numbers will be read as 'not set'.
Any positive non-zero numeric value will be treated as 'flag is set'. Additionaly the
special characters 'Y', 'y', 'N' and 'n' will be interpreted correctly also!
(You may now fantasize about the cryptic meanings of 'Y' and 'N'... Think about it!
What if this program is female and then behaving after this one special 'Y/N-cliche'?)
Nonexistend CR- and RR-flags will be read as 'not set'.
Flags are also only read from lines containing the coordinates for the according 'P3'.
Group 'Additional':
-
Shift: Tell the 'Prefab Purgatorium' to start reading values from
colunm N (enter number columns to shift to the right) in case you have
additional data stored in the colums before the actual bezier-values you want to read.
-
Have 1st Vertex P0: Default OFF! Watch carefuly in case you still have one
additional 1st Vertex P0 within the file whilst all other Points are stored in the 'P1-P3' format!
You may want to use this additional P0 as 'relocator' for the other coordinates.
-
Ignore NonNumeric Lines: Any Rows not starting with a numeric character
(as there are '0-9', '+', '-', '.' or ',') or beeing empty will be ignored on the whole.
This is fully compliant with the 'Shift' option mentioned above!
When colums are 'shifted', only the according columns possibly containing values
will be evaluated and NOT the first column!
CAUTION: When deselecting this options ALL lines will be read as containig valid data.
Anything 'not readable' will then be (hopefuly...) seen as simply having zero values.
(So better leave this checked always!)
Group 'Expected':
Will show a symbolic preview of expected values and their respective column order.
('TAB-space' if present is represented by the '>' character.)
^ Top of Page
File Xchange - Export
Menu: [Prefab]/[Save Processed as CSV...] (only available
when 'PR' is selected) will open:
CSV-Export Options Dialog
On exporting a prefab please care for this:
Group 'File Format':
-
Separator Character: Choose either 'TAB-space', Semicolon, Blank , or
'Other' (=Custom).
-
Decimal Point: Choose 'Dot' for English/US representetation (12.3456) of values
or 'Comma' for European style (23,4567).
Group 'Values':
-
Order 'ZXY' or 'XYZ': Select Order of bezier-coordinate values for colums 1 to 3
It's strongly recommended to use 'ZXY' (the default) for having easy 'useable' data in your file.
This reordering to 'ZXY' along with 'Neg. Z' (see below) will result in having data representing a
'forward, right, up' orientation which may be a lot easier to handle. (pure luxury, i say, again!)
-
Points '0-3' or '1-3': Write four (resp. three) lines of bezier-coordinates
for each segment. Default is '0-3' resulting in having double entries for each
adjacent (= connecting) P3/P0!
By selecting '1-3' the P0 of the very 1st Vertex (with coordinates '0/0/0') is NOT written!
-
Modify Y->0: Force Y-values to Zero (= do not transfer height information).
The 'Y-column' will still remain though.
-
Modify Neg. Z: Negate Z-values ( * -1 ). This will result in actual(!)
'forward' orientation of the written data.
-
Include BNK: Write banking information also. Banking is NOT stored
in 'degrees' but in native 'radiants'! Positive/negative orientation as in NoLimits
Banking data is only written in lines containing the coordinates for the according 'P3'.
-
Include CR/RR: Write CR- and RR-flags also. CR/RR-flags will be
written in two separate columns and represented by a numeric value of '1' when set
and a numeric value of '0' (Zero) when not set. Whenever you choose to write these flags
the banking values are written also. As with banking flags are only written in lines
containing the coordinates for the according 'P3'.
Group 'Comments':
-
Character: Default 'Comment' character = '#' (UNIX style! At last, a bit, at least, somewhere, hehe...).
It's strongly recommended to leave this unchanged. Possibly please use exactly this character '#' also
when creating your own files! (There may be some 'Auto-Evaluation' feature on (re-)importing such files in the
future strongly relying on exactly that.)
-
Add Comments: Add two additional 'commented' colums containing segment- and points-numbering.
-
Add Header: Write a 'Header' which is a 'commented' first line before the actual data containing information on
data and columns.
Group 'Sample Line(s)':
Will show a symbolic preview of values to be written (as well as the 'Header' and comment-type when selected) and the column order.
('TAB-space' if present is represented by the '>' character.)
^ Top of Page