Copyright (C) 1986-2011 by Daniel H. Hudgins, All Rights Reserved.
No part of "This Web Site" (HTML document), including associated files, may be: distributed, sublicensed, transmitted, copied, archived, mirrored, modified, bundled, embedded, sold, given away, rented, loaned, or shared in any form without express written permission in a formal Vendor agreement contract dated and signed in ink obtained directly from Daniel H. Hudgins by registered postal mail. All agreements for permission to distribute expire after a period no greater than one year from the date of the signing of the agreement by Daniel H. Hudgins. See the current "EULA" for information regarding limited copying and storage for the purpose of "Beta Testing" "This Web Site."
To view or use the current version of this Web page you may need to reload or refresh the display of this page by your browser. Just clicking on the browser's [Reload] or [Refresh] icon may not be enough to insure that all of the page's most current contents have been cached and displayed. Some browsers may have additional commands to help display the page's most current contents such as: holding down the [Shift] key and clicking on the [Reload] icon, holding down the [Control] key and clicking on the [Refresh] icon, holding down the [Control] and [Shift] keys and clicking on the [Refresh] icon, pressing the [Control] and [F5] keys, pressing [Control] and the [R] key, or some other combination of keys or clicks. Check to see which commands your HTML browser uses to load the most current page contents into its cache and then to display them onto the screen.
This Web site is dedicated to the thousands of "users" of my programs, those who have helped test my programs over the last 25 or so years, and especially those who shared their experiences with me.
You must read this notice: This is a licensed Web site (HTML document and associated files). You must read and agree to be legally bound in contract by the Terms of Use and conditions given in the End User License Agreement ("EULA"), Legal Notices, Instructions, Warnings, Disclaimers, and all other text in "SECTION: 0" of "This Web Site" (HTML document and associated files) before reading or using any of the information, software programs, and or files, contained in, linked to, and or associated with, "This Web Site" (HTML document and associated files). Any use or "Beta Testing" of "This Web Site" constitutes your acknowledgment of your full agreement with the current End User License Agreement ("EULA") and your decision to have this current license supersede all prior and contemporaneous agreements and understandings. Information and files in "This Web Site" (HTML document and associated files) have been placed here so that long time users of "The Author's" programs DANCAD3D.COM (tm) , DANCAD87.EXE (tm), DANCINEL.EXE (tm), DANCINES.EXE (tm) , DANCAM.EXE (tm) , or DANPLOT.EXE (tm) could help proofread the text of the documentation files or screens displayed, and also help test data files, example files, and or any software programs that might be made available from time to time, to aid "The Author" in finding mistakes, bugs, and other errors, omissions, defects, mistakes, and faults. Everything in "This Web Site" (HTML document and associated files) is "Beta Test", "Beta Code", Experimental, Preliminary, requires proofreading, or is being evaluated for possible revision, and is NOT warranted to be free of defect. To help "The Author" report any bugs, foul-ups, defects, or mistakes that you find, see "SECTION: 8" for instructions. "This Web Site" (HTML document and associated files) and all other files and programs by Daniel H. Hudgins are made available "AS IS" without warranty of any kind express, expressed, or implied. All offers and specifications are subject to change or discontinuation without notice of any kind. Please look over "SECTION: 8" of "This Web Site" before contacting "The Author."
The text in this section was derived from the v2.5 CAD manual, and has been updated somewhat, but differences between different releases of v2.5, v2.6 and v2.7 may mean that some of the information may not apply to the version you are using. Some adjustment may be required for versions prior or subsequent to v2.7A.
You may not distribute, sell, rent, share, or give away these HTML documentation files or printed copies of them. You may not extract text from these HTML documentation files for distribution, sale, rent, sharing, or giving away. You can use the [Print] option in your browser to make one copy for yourself to mark up in order to help me proofread the text for mistakes.
Documents may be available to download from time to time, you can check SECTION: 9 to see what the current situation with regard to downloadable files is. The names of these documentation files may change, and they may be edited, combined, or eliminated in the future, without notice.
You may need to adjust your browser for best viewing of the pre- formatted text by changing the "font" size using the commands in your browser (see the help in your browser, or use the pull-down menus in your HTML browser.) If some letters in words on the screen appear to be missing or scrambled try changing the font size in your browser as this sometimes happens even though the words are spelled correctly in the HTML code.
Use the "Edit, Find in page Ctrl+F" or "Edit, Find (in this page)... Ctrl+F" command in your browser to search for keywords within the documentation text in this HTML page. You will need to search over again in the other pages in this HTML document for the same keyword since your browser may not search for a keyword beyond the current page that is loaded.
DANCAD3D (tm) macro commands can used to write a macro "program" that will operate DANCAD3D (tm) automatically. DANCAD3D (tm) can also automatically generate an output macro file of these commands while you use the programs menus. Appendix B lists detailed information about many of the individual macro commands.
Steps to use Appendix B: Macro commands.
Read this section to learn what commands are available.
Use [W]rite from DANCAD3D (tm)'s main menu to write or edit macros.
Use the automatic [O]utput macro feature to automatically code these macro commands to a file while you use the menu commands.
This appendix contains information on the DANCAD3D (tm) macro programming commands that are available for your use in writing automatic CAD-CAE or CAM programs. See the pages in this Web site that link to this page for additional information.
Below are details about macro commands that start with S.
PURPOSE: To save one or all of the elements in the workspace to a
2D real disk file with perspective. SAVE 2D might be
used to make drawings that have multiple views on one
page, to use less disk space than the 3D-Quick file type
for saving 2D drawings, or to preserve a perspective
view in 2D of some of your 3D elements. SAVE 2D saves
the currently selected element, so you need to select
the current element before you try to use SAVE 2D. The
2D file type is independent of the current video mode
and therefore might be used to transport perspective
views between computers with different video boards.
The 2D-Real files, produced by SAVE 2D, are two
dimensional perspective projections of the elements in
the workspace. The 2D file type saves a data file that
looks somewhat like what you might see in the main menu
[P]review command's screen. You can use the main menu
preview command to find the values to use with the SAVE
2D macro command.
MAIN MENU: [F] [S] [2] or [D] [?...] [F] [S]
KEYWORD: SAVE 2D
PARAMETERS: 9
TYPE: r......... X degrees rotation -1E18 to 1E18.
r......... Y degrees rotation -1E18 to 1E18.
r......... Z degrees rotation -1E18 to 1E18.
r......... View point distance -1E18 to -1E-18.
r......... Display scale 1E-18 to 1E18.
i......... Display mode, use mode 1 normally.
r......... X shift centering -1E18 to 1E18.
r......... Y shift centering -1E18 to 1E18.
f......... Filename to save 2D file under.
FORMAT: SAVE 2D r r r r r i r r f
EXAMPLE: # 0 SAVE 2D -20 -20 0 -1E3 240 1 0 0 2D\FLAT.2D
; Save in sub-directory 2D
NOTE: If the world scale is used as the SAVE 2D display scale
then the 2D file will load with the correct proportions
when the world scale is equal to 1. If the SAVE 2D
display scale is set equal to 1 then the 2D file will
load with the correct proportions when the world scale
is equal to what the world scale was when you previewed
the drawing. Otherwise you will need to use MAGNIFY
with the reciprocal of the world scale if the reloaded
2D file is too large or MAGNIFY by the world scale value
if the reloaded 2D file is to small, because you forgot
to select the proper display scale when you saved the
file originally. In other words if you save all your 2D
files with the scale set to what looks good in the
[P]review screen your 2D files will all look the same
when they are later used with the display scale set to
1, freeing you from the need to know the scale of each
different file since your 2D files are normalized.
HINT: Use the main menu's [P]review command or the preview
from: [H] [D] [W], [H] [J] [W], [H] [L], or [H] [P] [P]
from the main menu, to see how the various perspective
factors will effect the appearance and fit of the final
image. See also the Ready command in the Hardcopy sub-
menu to convert triangle elements into line elements for
use with the SAVE 2D command.
PURPOSE: To save one element or all of the elements to a 3D-Quick
disk file. The line segment end point x y z values can
range from 1.0E-18 to 1.0E+18. The SAVE 3D command
saves the currently selected element, so you need to use
the select element macro command before you use SAVE 3D.
The SAVE ELEMENTS command is an automated version of the
SAVE 3D macro command that saves all the elements in
separate files.
MAIN MENU: [F] [S] [3] or [D] [?...] [F] [S]
KEYWORD: SAVE 3D or SAVE 3
PARAMETERS: 1
TYPE: f......... Filename to save 3D data under.
FORMAT: SAVE 3D f
EXAMPLE: # 255 SAVE 3D C:\3D\LONG.1 ; Save in sub-directory 3D.
INIT
LOAD REAL V130_FILE.3D
# 1 SAVE 3D V20_FILE.3D ; Update an old file.
; Start Convert Alias file set from ASCII to 3D-Quick.
NAME 0 = ALIAS\ELE1 0 ; Declare file set name.
:LABEL ; Top of loop label.
INIT ; Clear workspace.
LOAD ASCII NAME 0 NEXT ; Start with ALIAS\ELE1.1.
# 1 SAVE 3D NAME 0 HERE ; Repeat file name.
LOOP :LABEL 35 ; 36 files in set.
; End Convert ASCII to 3D-Quick.
NOTE: The program DANCAD87 (tm) v2.5, v2.6, v2.7 and so on,
i.e. the 80x87 version of DANCAD3D (tm), uses a
different numeric format that is incompatible with
DANCAD3D (tm)'s 3D-Quick files made by SAVE 3D,
therefore you will need to use the ASCII file type to
exchange data with the regular DANCAD3D (tm) version.
HINT: The alias symbol files might load faster if you convert,
or save, your symbol file sets in the 3D-Quick file type
for the version of DANCAD3D (tm) that you are using, but
if you want to use both DANCAD87 (tm) and DANCAD3D (tm)
you should use the ASCII file type for the symbols, or
make 3D-Quick symbol sets in both '87 and non-'87
versions. The *.ALI index file for the symbol set would
need to be edited to change the "A"s to "3"s, or the
other way around, for the symbol file type index
reference if you convert files from one type to the
other.
PURPOSE: To save one or all element(s) to an ASCII disk file, or
you can make a print-out of your x y z point values.
SAVE ASCII saves the currently selected element, so you
need to use the select element command before you use
the SAVE ASCII command.
MAIN MENU: [F] [S] [A] or [D] [?...] [F] [S]
KEYWORD: SAVE ASCII or SAVE A
PARAMETERS: 1
TYPE: f......... Filename or Port name for ASCII data.
FORMAT: SAVE ASCII f
EXAMPLE: # 1 SAVE A C:\ASCII\X.1 ; Save in sub-directory ASCII.
# 2 SAVE ASCII LPT1 ; Send to parallel printer.
# 3 SAVE ASCII COM2 ; Send to serial printer, use
; the DOS MODE command to set up the serial port first.
# 0 SAVE ASCII FIX.ASC ; If you get your drawing
; messed up you can save the elements as an ASCII file
; from the workspace and then load the ASCII file into
; the [W]rite command to save the good parts of the data
; out as blocks of text to DANCAD3D (tm) ASCII type
; files. Be sure to put ENTER on the top line, of the
; new ASCII data files you are creating, and 0 0 0 0 0 0
; 0 0 0 0 on the last line of the ASCII data files you
; are creating. See also the ENTER command.
HINT: Use the ASCII file type to transfer data between the
8087 and non-8087 versions of DANCAD3D (tm) v2.5, v2.6,
v2.7 and so on, If you want you write your own programs
to manipulate or import data from DANCAD3D (tm) you can
use the ASCII file type. The ASCII files have generally
been tabulated to make reading and writing to them
easier, but only one space is required between the
values on each line of data in the ASCII file.
PURPOSE: To save graphics mode screen to a standard BMP file, see
also SAVE PIXEL and GRAPH_MODE. Might be used to save
color hidden line displays to a BMP file for color
printing by other graphics programs that use the Windows
(tm) printer drivers. Two types of BMP file can be
saved, 8 bpp and 24 bpp, which one depends on the video
graphics mode set when SAVE BMP is called. Revised in
v2.7G.
MAIN MENU: [F] [S] [I] [?] [B]
KEYWORD: SAVE BMP
PARAMETERS: 2
TYPE: i......... Output type mode where:
8 = 8 bpp 256 palette mode color or gray tone.
24 = 24 bpp "true-color" 16,777,216 values.
f......... Filename for BMP data.
FORMAT: SAVE BMP i f
EXAMPLE: GRAPH_MODE S640C256
SAVE BMP 8 SOMEFILE.BMP
GRAPH_MODE SEEK 0 640 480 24
SAVE BMP 24 SOMEFILE.BMP
NOTE: The size of the drawing in pixels depends on the
graphics mode selected when the BMP file is saved.
Larger "line art" BMP files can be saved using the JET
commands. Larger 24 bpp BMP color files can be saved by
using the GRAPH_MODE BMP or GRAPH_MODE F0B24 modes with
the DISPLAY command, in that case DISPLAY saves the BMP
file since nothing is displayed on the video screen.
When saving 2, 4, or 16 color graphics modes, i.e. 1
bpp, 2 bpp, and 4 bpp, as 8 bpp BMP files the extra of
the 256 palette entries are not normally used in the BMP
file made. The number of palette entries used depends
on the line colors in the drawing, the display mode
selected, the current video palette used, and other
factors.
When a 1, 2, 4, or 8 bpp video mode has been selected
you should use the SAVE BMP 8 command option. When a
15, 16, 24, or 32 bpp video mode has been selected you
should use the SAVE BMP 24 option. When 15 or 16 bpp
video modes are used the dithering variable should be
adjusted for the DISPLAY command to avoid tone banding
in the shading that may carry over into the conversion
from 15 bpp or 16 bpp to 24 bpp. There is no loss when
going from 32 bpp video modes to 24 bpp BMP files since
8 of the 32 bits used in the video buffer for each pixel
are just filler, and only 24 bits are used for color
data.
HINT: There are several ways that BMP files might be saved and
loaded with macro commands:
UTILITY BMP256_TO_ASCII, can be used to load a 8 bpp
(256 palette mode color or gray tone) *.BMP image file
and convert it into an ASCII file that can be loaded
into the drawing workspace using the LOAD ASCII command.
Various modes can convert the BMP image into 2D or 3D
lines or triangles for use with different display modes
or for use as a tool path for use with the CAM programs.
In BMP files saved from some graphics programs it may be
best to crop the image in the BMP file to have a number
of horizontal pixels that is an even multiple of 8, and
total pixels that are an even multiple of 32.
UTILITY BMP256OIL, works a little like the UTILITY
BMP256_TO_ASCII and also converts BMP 8 bpp file to an
ASCII file, but has the ability to select just one of
the 256 palette mode colors or gray tones. By selecting
just one of the colors or gray tones you may be able to
make a tool path file to apply just one color of paint
or the equivalent at a time. UTILITY BMP256OIL can add
the motions to move the brush in and out of the "paint
pot" so that the brush picks up paint before drawing
each pixel, or stroke of pixels. In BMP files saved
from some graphics programs it may be best to crop the
image in the BMP file to have a number of horizontal
pixels that is an even multiple of 8, and total pixels
that are an even multiple of 32.
CONVERT can convert a 1 bpp "Line Art" BMP file into a
JET page file, or convert a JET page file into a 1 bpp
"Line Art" BMP file. To make your BMP file this way you
first make a JET page file, then use JET ADD to copy
your drawing lines from the workspace into the JET page
file, then CONVERT can read the JET page file and save a
*.BMP file of the JET page. To load a BMP 1 bpp "Line
Art" file into the workspace you would first use JET
MAKE to make a JET page file, then use CONVERT to copy
the BMP image into that JET page file, then use the JET
TRACE and possibly some of the other JET commands to
make an ASCII trace of the image in the JET page file,
then use the LOAD ASCII file to load the drawing lines
in the ASCII file into the drawing workspace. The BMP
file to be loaded must match the pixel size given in the
JET driver file used to make the JET page file exactly.
The SAVE BMP command can save the graphics screen as a 8
bpp or 24 bpp BMP file. How many colors or gray tones,
the BMP file type i.e. 8 bpp or 24 bpp, and the image
size saved depends on the graphics mode set when SAVE
BMP is called. Color images made using the hidden line
modes can be saved using SAVE BMP, and possibly loaded
into other graphics programs for printing on color
printers. In order to save the higher resolution SVGA
color graphics modes your computer must have a
compatible SVGA video card with enough memory to display
those modes. On computers with or without SVGA the
GRAPH_MODE BMP mode can be used with the DISPLAY command
to save 24 bpp BMP files in color and of larger sizes if
needed.
The LOAD BMP command can load an 8 bpp or 24 bpp BMP
file into the graphics screen. Because the color
palette used for the DISPLAY command can be different
from the palette in the BMP file, files not saved from
DANCAD3D.COM (tm) will probably require palette
conversion when being loaded. Because of mismatch in
the colors after palette conversion, better results will
probably be obtained converting gray scale monochrome
images from BMP files. Color images that undergo
palette conversion may look somewhat "posterized"
depending on the color content in the original BMP file.
The BMP file to be loaded must match the pixel size of
the graphics mode selected exactly. 24 bpp BMP files
that load into 24 or 32 bpp video screens do not require
palette conversion, and so look about the same as when
displayed elsewhere.
FILES CONVERT can be used to convert a NOR file made by
using DANPLOT.EXE (tm)'s scanning probe mode into a BMP
file. This could make a BMP 256 palette mode gray tone
file, but you may be able to convert that to "Line Art"
with some other graphics program you probably have on
your computer. It may be best to select the image
scanning dimensions that have a number of horizontal
pixels that is an even multiple of 8, and total pixels
that are an even multiple of 32 for compatibility with
some programs.
You can try to use the software that came with your
scanner to edit the BMP files, and crop them to the
right size. Some programs have problems actually making
the image the correct number of horizontal and vertical
pixels, you may need to enter a number one larger or
smaller to actually get the size you want. You may also
be able to use the software that came with your scanner
to convert images from 8 bpp (256 palette mode color or
gray tone) to 1 bpp "Line Art" for conversion into my
programs. You may also be able to use the software that
came with your scanner to convert files saved as BMP
from my programs into JPG or GIF for other applications
such as display on the internet.
If you want to put a drawing you made with DANCAD3D (tm)
or DANCAD87 (tm) onto the internet first save it as a
BMP file then use the software that came with your
scanner or some other program to convert the 1 bpp, 8
bpp, or 24 bpp BMP drawing file to a 24 bpp palette
type, if is not already, and "Save As" a JPG. GIF files
that are 8 bpp may show some loss when converting from
24 bpp BMP files.
PURPOSE: To save an element as 2D line data in experimental DXF
file format. This is for saving 2D line drawings and 2D
line drawings of 3D wire-frame elements. The Ready
command in the Hardcopy sub-menu might be used to
convert triangle elements into 2D line type elements
that can be saved with this command as 2D line drawings.
Revised in later revisions of v2.7E.
MAIN MENU: [F] [S] [I] [?] [D] [2]
KEYWORD: SAVE DXF2D
PARAMETERS: 9
TYPE: r......... X degrees rotation -1E18 to 1E18.
r......... Y degrees rotation -1E18 to 1E18.
r......... Z degrees rotation -1E18 to 1E18.
r......... View point distance -1E18 to -1E-18.
r......... Display scale 1E-18 to 1E18.
i......... Display mode, use mode 1 normally.
r......... X shift centering -1E18 to 1E18.
r......... Y shift centering -1E18 to 1E18.
f......... Filename to save DXF 2D file under.
FORMAT: SAVE DXF2D r r r r r i r r f
EXAMPLE: # 0 SAVE DXF2D -20 -20 0 -1E3 240 1 0 0 SOMEFILE.DXF
# 1 SAVE DXF2D 0 0 0 -1E18 1 1 0 0 SOMEFILE.DXF
NOTE: This is an experimental command and may not work with
other programs that read DXF line data. This command
saves the DXF data by using the DXF LINE entity. To
export drawings see also SAVE STL, SAVE BMP, and PLOT
for saving HPGL or POSTSCRIPT (tm). The conversion of
the line colors is made by using the conversion table in
file DRIVERS\DXFSAVE.CCT. You can edit the numbers in
the right column in that file to adjust how the line
color numbers are converted, the left column numbers are
my 0 to 127 line color indexes, and the right column are
the DXF palette color code numbers. Changes to the
screen palette can upset the colors displayed, the *.CCT
table files assume the default screen palette is being
used. To avoid some possible problems with loading the
saved DXF file you should use the MAGNIFY command to
adjust the size of the element to be saved so that it
fills the Preview screen with the display scale set to a
value between 0.1 and 1000 or so. When saving drawings
by using the SAVE DXF2D command set the display scale to
1 if you want the distance units saved in the DXF file
to correspond to the distance units in the element being
saved, e.g. like when using the SAVE 2D command.
HINT: The PLOT command can also be used to try to make DXF
line data. The SAVE STL and SAVE DXF3DFACE commands can
save triangle data, and so may be more useful for 3D
triangle data. The SAVE DXF3DFACE command should be
used for saving triangle elements as DXF data for use in
programs that read DXF type files with the 3DFACE
entity. This SAVE DXF2D command might be used to save
2D perspective projections of 3D triangle elements if
you first use the Ready command in the Hardcopy sub-menu
to convert the 3D triangle elements into 2D lines, then
use this SAVE DXF2D command to save the 2D line element
as DXF LINE data.
PURPOSE: To save an element as 3D line data in DXF experimental
file format. This command saves the 3D drawing lines by
using the DXF 3DLINE entity. If you want to save 3D
triangle elements, i.e. for hidden line or shaded
display, use the SAVE DXF3DFACE command listed below,
since this command is only for wire-frame line elements.
Revised in later revisions of v2.7E.
MAIN MENU: [F] [S] [I] [?] [D] [3]
KEYWORD: SAVE DXF3D
PARAMETERS: 1
TYPE: f......... Filename for DXF data.
FORMAT: SAVE DXF3D f
EXAMPLE: # 1 SAVE DXF3D SOMEFILE.DXF
NOTE: This is an experimental command and may not work with
other programs that read DXF line data. To export
drawings see also SAVE STL, SAVE BMP, and PLOT for
saving HPGL or POSTSCRIPT (tm). The conversion of the
line colors is made by using the conversion table in
file DRIVERS\DXFSAVE.CCT. You can edit the numbers in
the right column in that file to adjust how the line
color numbers are converted, the left column numbers are
my 0 to 127 line color indexes, and the right column are
the DXF palette color code numbers. Changes to the
screen palette can upset the colors displayed, the *.CCT
table files assume the default screen palette is being
used. To avoid some possible problems with loading the
saved DXF file you should use the MAGNIFY command to
adjust the size of the element to be saved so that it
fills the Preview screen with the display scale set to a
value between 0.1 and 1000 or so.
HINT: The PLOT command can also be used to try to make DXF
line data. The SAVE STL and SAVE DXF3DFACE commands can
save triangle data, and so may be more useful for 3D
triangle data. See also the MUTATE command to convert
triangle elements into wire-frame line elements that
this command might be able to save. The SAVE DXF3DFACE
command, rather than this command, should be used for
saving 3D triangle elements as DXF 3DFACE entity data.
PURPOSE: To save an element as 3D triangle data in DXF
experimental file format. This command saves the 3D
triangle element by using the DXF 3DFACE entity. If you
want to save 2D line elements, i.e. for simple line
drawings, use the SAVE DXF2D command listed above, since
this command is only for 3D triangle elements for 3D
hidden-line and shaded display. Added in later
revisions of v2.7E.
MAIN MENU: [F] [S] [I] [?] [D] [T]
KEYWORD: SAVE DXF3DFACE
PARAMETERS: 2
TYPE: f......... Filename for DXF data.
i......... mode
1 = convert to single 3DFACE triangles.
2 = convert to back-to-back triangles.
FORMAT: SAVE DXF3DFACE i f
EXAMPLE: # 1 SAVE DXF3DFACE 1 SOMEFILE.DXF
# 1 SAVE DXF3DFACE 2 SOMEFILE.DXF
NOTE: This is an experimental command and may not work with
other programs that read DXF triangle data. To export
drawings see also SAVE STL, SAVE BMP, and PLOT for
saving HPGL or POSTSCRIPT (tm). The conversion of the
line colors is made by using the conversion table in
file DRIVERS\DXFSAVE.CCT. You can edit the numbers in
the right column in that file to adjust how the line
color numbers are converted, the left column numbers are
my 0 to 127 line color indexes, and the right column are
the DXF palette color code numbers. Changes to the
screen palette can upset the colors displayed, the *.CCT
table files assume the default screen palette is being
used.
HINT: The STL file format can save triangle data, and so may
be more useful in some cases. It is important that you
draw the triangle elements properly in order for them to
display as you would like in some other program. The
triangle's normals need to point in the correct
direction, i.e. outside of the element, or you will see
"holes" in the element when it is displayed as hidden-
line or shaded solid and such. In cases where holes
appear when the DXF file is displayed in some other
program even in those elements that display properly in
my CAD programs while using the shaded display modes,
you might try mode 2 which saves two triangles back to
back with normals pointing both ways, in that way
hopefully any "holes" will be filled in when the element
is displayed in the other program. If you want to use
my CAD programs to create 3D triangle elements, and then
render the elements in some other programs for special
applications, saving the elements by using the DXF
3DFACE entity may be your best choice. Some programs
may ignore the DXF colors and edge attributes, so you
may need to fiddle with things in the other program to
restore the look you are after. See also the LOAD DXF
file command to load 3DFACE type elements, e.g. from
www.3DCAFE.com and such.
PURPOSE: To save all the elements in the workspace to a set of
3D-Quick disk files where the last three characters of
the file's filename are the element's number in the
workspace for each element. Elements saved with the
SAVE ELEMENTS command will have their individual element
centers restored when you use LOAD ELEMENTS to re-load
the elements. A special five letter filename is used
since a three digit number is appended to the filename
to correspond the the elements number, i.e.
path\namex001.3DE, path\namex002.3DE, and so on. If the
workspace is not empty when the set of elements is re-
loaded the first element will be the next element after
those already in the workspace. The file
path\namexSET.3DE contains the values of the centers
that the elements had before they were saved.
MAIN MENU: [F] [?...] [E] or [D] [?...] [B] or
[Q] [S] or [W] [S]
KEYWORD: SAVE ELEMENTS or SAVE E
PARAMETERS: 1
TYPE: f......... Special filename with only 5 letters in the
filename part, e.g. PATH\12345.EXT the
filename will have 3 digits added to the
right side of the filename that are the
element numbers from the workspace when the
files are saved, i.e. PATH\12345001.EXE would
have been element one, PATH\12345002.EXE
would have been element number two, and so
on.
FORMAT: SAVE ELEMENTS f
EXAMPLE: SAVE E C:\WORK\JOB_1.3DE
NAME 1 = ARRAY 0
:MARK2
SAVE E NAME 1 NEXT
# 2 ROTATE C 0 0 1.40625
LOOP :MARK2 256
NOTE: The element set file naming convention is:
D:\PATH\ABCDE001.EXT for element number 1,
D:\PATH\ABCDE002.EXT for element number 2,
D:\PATH\ABCDE003.EXT for element number 3,
D:\PATH\ABCDE???.EXT and so on
D:\PATH\ABCDE256.EXT up to the last element
D:\PATH\ABCDESET.EXT then the set of centers are saved.
HINT: Use SAVE ELEMENTS whenever you need to back up what you
are making, drawing, or editing in the workspace so that
you can continue from where your had been when you saved
the back up files if something goes wrong and you
destroy your drawing elements, or need to go back and
make revisions to the drawing. When drawing be sure and
use the [B]egin command in the [E]lements drawing sub-
menu so that your drawing will be broken into elements
that can be manipulated independently. If you load two
or more sets of elements without initializing the
workspace in between the loading of the element sets,
the element numbers become consecutive. That is, if you
load two sets of ten elements, then save that workspace
as a set of elements the new set will number up to
twenty. See also LOAD 3D to be able to load individual
element files saved by SAVE ELEMENTS. If you use LOAD
3D to load just one element from a set saved with SAVE
ELEMENTS you will need to use the CENTER command to set
the elements center to the right point. By using the
NAME command you can save or load arrays of element
sets, you can get up to 1099 sets of 999 (in v2.6)
elements under a single file name, e.g. FNAME001.-99 to
FNAME999.999. See the FILES RELEASE command to erase
sets of files. See also the SPLIT menu and macro
command which will let you split up one element into two
or more elements, which might be useful for when you
want to turn a drawing saved as one element into several
elements for editing, and the saving with the SAVE
ELEMENTS command. You can use the [F]ind-points in the
drawing editors [L]ines sub-menu to help find the line
numbers to split your elements at.
PURPOSE: To save the font currently in the font table to a disk
file for later use. Makes the type of font file used by
DANCAD3D (tm)'s calligraphy commands.
MAIN MENU: [F] [S] [F]
KEYWORD: SAVE FONT
PARAMETERS: 1
TYPE: f......... Filename to save font under.
FORMAT: SAVE FONT f
EXAMPLE: SAVE F FONTS\INTRNAT1.FON
LOAD FONT FONTS\INTRNAT2.FON
SAVE TABLE 32 126 FONTS\INTRNAT2
INIT
LOAD WORKSPACE 32 126 FONTS\INTRNAT2
# 0 ROTATE Z 0 0 90
SAVE WORKSPACE 32 126 FONTS\MYROTF2
LOAD TABLE 32 126 FONTS\MYROTF2
SAVE FONT FONTS\MYROTF2.FON
HINT: Use this command as the final step in creating or
editing a font so that a *.FON font file will be formed
on the disk that is in the special compressed format
used by the calligraphy commands. This is the file
format used by the example *.FON files included on the
set of disks. When creating fonts you should try to use
the fewest line vectors possible since the font table is
of fixed size, and when you use the font you do not want
to fill up the workspace with only a few words of
lettering. Study the example fonts to see how they were
constructed. The Alias symbol feature can be used as an
alternative to the calligraphy commands where fonts are
to complex to fit in the calligraphy font table. When
you use the Alias symbol files for designing a font you
will need to make two alias index files since one will
be needed for the upper case and another for the lower
case. When the Alias index files are used for lettering
you can use the automatic drag option from the [PgUp]
drawing command to visually position the characters.
Curves in your alias fonts can be made smooth as you
have lines available for in the workspace, since the
limitations of the size of the font table would not
apply.
PURPOSE: To save the element in workspace to a G&M Code standard
type file. This is an experimental command that was
revised as part of v2.7C to work with the LOAD GCODE
command, and only supports a sub-set of the G codes.
See also the output G code feature in the [N]C sub-menu
of the drawing editor in DANCAD3D (tm) and DANCAD87 (tm)
since they can output files that are somewhat different.
MAIN MENU: [F] [S] [I] [?] [G]
KEYWORD: SAVE GCODE
PARAMETERS: 1
TYPE: f......... Filename to save tool path under.
FORMAT: SAVE GCODE f
EXAMPLE: LET$ READABLE.VAR = "Some Man Readable text"
LOAD CONFIG GSAVE DRIVERS\GSAVDFLT.CFG
#1 SAVE GCODE SOMEFILE.G
NOTE: Always check the loading of files saved with this
command since other programs may not read the file as
you expect it to be read. This command only uses a sub-
set of the codes, and may vary from standard file types
in some ways. Always select the element to save before
using this command with the # i macro command. The SAVE
GCODE command uses the file(s) DRIVERS\GSAV????.CFG to
store the configuration of how you want the G codes
saved. Since the two CAD programs use the same
configuration files, you might configure by using both
CAD programs by using the commands in their Files Save
Industry G code Install sub-menus. If you want to back
up the default configuration file you can use the Files
Copy command to copy the configuration files in the
DRIVERS\ sub-directory and alter the original
configuration with the commands in the Files Save
Industry G code sub-menu.
In order to enable the generation of the man readable
codes you need to select that feature in the
configuration file by using the Files Save Industry G
code Install command. The string variable file
READABLE.VAR is erased by SAVE GCODE and so needs to be
assigned each time SAVE GCODE is to be used.
You can use the Edit Block command in the CAD programs
Calligraphy sub-menu to generate International text
strings for use with the man readable punch tape
feature. The *.F08 font for the man readable codes is
selected in the driver file. See also the tutorial on
making fonts for some information about how you might
make your own *.F08 fonts. In order to convert *.FON
files into, *.808 and then to *.F08 files the CAD
programs need to be running in CGA video mode, since the
other video modes produce *.F14 files that will not work
properly for making man readable codes on the punch
tapes.
The Save G code command ignores dotted lines, so line
style attribute 81 is used for "phantom" arc lines. In
order to save G02 and G03 from Save G code the "stick"
arc lines are drawn with dotted style attribute 82 for
G02 and combination dotted and dashed style attribute 83
for G03. You can also select arc motion for various
line colors in the table, e.g. G02 for colors 102, 112,
and 122, or G03 for colors 103, 113, or 123. The line
style attribute supersedes the motion type selected in
the table, so you can leave all of the settings in the
table as G00 or G01 and the arcs can still be output
using the style attribute, which makes the selection of
the feed rates simpler. The "stick" arcs are just a
line of style attribute 82 or 83 drawn from the arc
center to the arc end point. The starting point of the
arc is assumed to be the last point of the previous line
segment, so the element to save cannot start with a
stick arc, there must be a G00 or G01 line, or dot,
drawn before the stick arc line. The [A]rc command in
the drawing editor's [N]C sub menu can be used to
generate the Phantom or stick arc lines for you. If
Normal line segment arcs are drawn with the [A]rc
command they will be saved by using many small G01
movements (do not use G00 motion type for saving curved
lines.)
HINT: G code files can be saved in two ways, you can draw
lines normally in DANCAD3D (tm)'s workspace and use the
SAVE GCODE command, or you can use the G code teach
output file that can be turned on in the drawing editor
[N]C sub-menu. Both the SAVE GCODE, and the G code
output file can save rapid, linear, and arc movements
with the G codes G00, G01, G02, and G03, but the output
G cannot save odd shapes or shapes drawn with many of
the commands in the drawing editor that are normally
used in drawing. Odd shapes and curves that are not
drawn using the stick arc lines are saved by the Save G
code command as many short G01 movements. You can use
the [W]rite command to combine files saved by both
methods in order to gain the benefits of both methods.
Use the Save G code Install command in the Files Save
Industry sub-menu to set up how the file is to be saved.
The same drivers that are used for the Save G code
command are used with the G output in order to control
the formatting of the numbers and such, but the G output
is non-modal since each movement is output separately to
the G output file, therefore the modal options in the
configuration file will not work with the G output, but
should work with the Save G code command.
PURPOSE: To save the video screen to disk as an image of what is
currently displayed on the video screen, in video pixels
at the current video screen resolution. The macro
command LOAD PIXEL can be used at a later time to
display of backgrounds for drawing over or building up
an "unlimited" number of lines on the screen. The
resolution of the pixel file depends on the video mode
set when DANCAD3D (tm) is run for the first time. To
change the operating video mode, by means of, the
[V]ideo option in DANCAD3D (tm)'s opening menu, from the
video mode that you selected when you ran the program
for the first time, quit the program back to the DOS
prompt, run the program again, and select [V]ideo from
the small menu that comes up over the opening screen.
See also the GRAPH_MODE and the DISPLAY macro commands.
Pixel files can be used to display computer animation on
your video screen, each frame of the animation would be
saved using the SAVE PIXEL macro command, then the macro
ANIMATE command would be used to reload the pixel frame
files quickly back on to the video screen, or the pixel
frame files can be displayed one at a time for a cine
film recorder to make an animated movie. Saving the
drawing editor screen as a Pixel file was added in
v2.7A, read the information below.
MAIN MENU: [P] ... [S]
(When display is done press [S] then type filename.)
or
[F] [S] [P]
KEYWORD: SAVE PIXEL
PARAMETERS: 1
TYPE: f......... Filename to save pixel file under.
FORMAT: SAVE PIXEL f
EXAMPLE: SAVE PIX C:\PIXEL\FRAME.1 ; Save video display only.
INIT GRAPH_MODE COLOR
POLYGON 18 18 2 1 1 0 0
LET |SCALE = 240
NAME 0 = FRAME 0
:LOOP_LABEL
# 1 DISPLAY 0 0 0 -1E18 |SCALE 1 0 0
SAVE PIXEL NAME 0 NEXT ; i.e. FRAME.1, FRAME.2
LET |SCALE = [ |SCALE * 0.707 ]
LOOP :LOOP_LABEL 23
NOTE: In the drawing editor you can save the screen as a Pixel
file by turning on the output macro file, any dummy
macro name will work, and selecting the "note macro"
command by pressing the [;] key in one of the menus (the
[;] key command is not listed in some of the menus, but
works in some of the unmarked menus anyway) then enter
exactly,
"; COMMAND OVERRIDE SAVE PIXEL"
without the quotation marks (it must be in all caps as
shown) you will then get a prompt asking for the pixel
filename, after you enter the filename the screen will
be saved to a disk file. You can convert that Pixel
file to BMP with the [E]xport command in the [F]iles
[U]tilities [B]MP [E]xport sub-menu. Saving of the
Drawing Editor screen as a Pixel file probably works
best when the color VGA drawing editor video mode was
selected, but all modes may work.
You can save the Main Menu [P]review graphics screen
display as a Pixel file by pressing [S] or selecting
[S]ave from the [P]review pop-up menu you get by
pressing [Return] after the screen finishes displaying.
The [P]review command will also save a [B]MP file of the
[P]review screen by pressing [B] or selecting [B]MP from
the pop-up menu. The SVGA display modes will provide
greater detail when saving the [P]review display screen,
so use them if your video board and monitor support
SVGA.
HINT: When you need to combine views that have different
perspective values you can DISPLAY the views on the
screen then save the screen as a pixel file, then load
the pixel file back as a background and add the next
displayed perspective and then save the combination, and
then reload that pixel file and display over it again
and again until all the necessary layers have been built
up. You can load a pixel file that contains: formatted
text, box outlines, or other patterns as a background
for your animation. Unlike the SAVE 2D command you must
use the macro DISPLAY command before you use the SAVE
PIXEL command in order for the elements in the workspace
to be recorded in the pixel file saved. Before you use
the macro DISPLAY command to fill the screen you need to
use the GRAPH macro command to set the graphics mode.
The GRAPH command is also used to clear the video screen
between drawing frames. See also the ANIMATE command to
load and display frame files saved with this SAVE PIXEL
macro command. See also the GRAPH_MODE, ANIMATE, and
SAVE BMP macro commands.
PURPOSE: To save an element to a Real 3D disk file. The Real
filetype was used by versions prior to v2.0, and is
included for compatibly with older drawing files. You
should probably use the SAVE 3D command if you are
making new drawings for use with v2.6 or a subsequent
version.
MAIN MENU: [F] [S] [R]
KEYWORD: SAVE REAL
PARAMETERS: 1
TYPE: f......... Filename to save as SAVE REAL type.
FORMAT: SAVE REAL f
EXAMPLE: # 1 SAVE REAL C:\REAL\DEEP.1 ; Save to sub-directory.
# 1 SAVE REAL A:MYFILE.R3D ; Save to A: drive.
# 1 SAVE REAL NAME 5 HERE ; Use automatic name.
NOTE: This command should only be used with DANCAD3D (tm) v2.x
and not with DANCAD87 v2.x to load drawings from older
versions of DANCAD3D (tm). This file type can be read
by DANCAD3D (tm) v1.x if saved with DANCAD3D (tm) v2.x.
The line color and type information is stored but is not
read by v1.x. Version 2.x can read the line color and
type information, therefore this is an upwardly
compatible filetype. Use the 3D-Quick file type where
possible since type 3D-Quick is used in v2.6. The macro
command SAVE ELEMENTS in v1.xx used data files something
like the SAVE REAL file type, which was called SAVE 3D
then, but the files where numbered using the file's
extension. Files made with v2.6 and subsequent may
contain too many lines to be loaded into v2.0x or v1.xx
because the workspace can now be much larger, therefore
it is possible to save a drawing with the current
versions that will be too large to fit into the older
versions.
HINT: You should convert any old drawings you have from older
versions of DANCAD3D (tm) to the newer 3D-Quick or ASCII
file types. You can then use the commands in the
[L]ines drawing sub-menu to edit the drawings and add
thickened lines and lines of different styles and
colors. See the LINETYPE command to color whole
elements in your drawings. You would only use this SAVE
REAL command to save a file so that you could use the
real type file with an older version of DANCAD3D (tm).
PURPOSE: To save an element to a standard STL ASCII type 3D disk
file. This is an experimental command added in v2.7A.
MAIN MENU: [F] [S] [I] [?] [S]
KEYWORD: SAVE STL
PARAMETERS: 2
TYPE: i......... Mode where:
0 = save with normals all zeros mode.
1 = save with normals of unit length
from origin.
f......... Filename to save as ASCII type STL file.
FORMAT: SAVE STL i f
EXAMPLE: # 1 SAVE STL 0 SOMEFILE.STL ; normals all zero.
# 2 SAVE STL 1 FILENAME.STL ; unit normals from origin.
NOTE: This command should only be used when an ASCII type STL
file is to be used, this command does not make binary
STL files in v2.7A.
HINT: When you save the STL data you have two options, save
the normals using the current p3-p4 line segment of the
triangles in the element (p3-p4 is the second line of
each triangle drawn), or zero the normal data and let
the program loading the STL file create its own normals
data from the direction of the lines in the triangles.
If the program you load the STL files finds all of the
triangles going the wrong way around the REVERT command
might be able to be used to reverse the triangle
direction in the element before it is saved as STL. If
only some of the triangles are the wrong way around
(facing the inside of the object drawn) you will
probably need to edit the output macro you created while
drawing the elements in order to REVERT only the parts
that where drawn backwards.
PURPOSE: To save the font currently in the font table to a set of
ASCII type data files with the numbered file extension
equal to the ASCII code number, 0 to 255, for each
character. This command is used for making or editing
font files for use with the LETTERING, and BLOCK_TEXT
commands. This command is used to "break up" or
"explode" a font into separate drawing files for each
character.
MAIN MENU: [F] [S] [T]
KEYWORD: SAVE TABLE
PARAMETERS: 3
TYPE: i......... Low ASCII number of set (e.g. 1 to 32.)
i......... High ASCII number of set (e.g. 127 to 255.)
f......... Filename to save font under, no extension.
FORMAT: SAVE TABLE i i f
EXAMPLE: SAVE T 32 127 C:\FONTS\INTRNAT1
HINT: If you want to explode a font file into a set of
DANCAD3D (tm) ASCII data files that you can edit
individually then use this command and then use LOAD
ASCII to bring the file for the desired characters into
the workspace. The files produced, by this command, are
numbered by their file name's extension corresponding to
the characters ASCII code number. See the LOAD
WORKSPACE command if you want to alter all the ASCII
files produced by this command by loading the character
files as drawing elements in the workspace, after which
you can use FLIP, ROTATE, OFFSET, or MAGNIFY, on all the
character elements at once, or one at a time.
PURPOSE: To save one or more channel tracks to a *.WAV sound file
from wave drawing elements in the drawing workspace.
This command was added in v3.7M and may not be present
in v2.7x revisions.
MAIN MENU: [F] [S] [I] [W]
KEYWORD: SAVE WAV
PARAMETERS: 8
TYPE: i......... Mode codes (in initial release of v3.7M):
10 = Element line second points to samples.
The X scale value is not needed for SAVE
WAV mode 10 since it just converts the
second point of each line into a WAV
sample, i.e. the X values are not used.
i......... Channels to save.
Number of track channels including the
selected element, i.e. 1=Mono, 2=Stereo,
4=Quad, and so on up to the maximum number of
track elements, i.e. 999 in v3.7M. Track
elements for the channels must have element
numbers that come in order after the
currently selected element number used with
SAVE WAV.
r......... Initial Channel Offset.
Real -1E18 to +1E18 initial channel Y axis
offset. Default value is 0. Needs to be set
to the center for the selected element, i.e.
first track to save.
r......... Channel Offset.
Real -1E18 to +1E18 channel Y axis offset.
For when more than one channel track is
saved. If only saving one channel set to
default value. Default value is 1 unit.
r......... Y scale.
Real -1E18 to 1E18 scale for Y axis. The Y
axis is the sample data axis, so this value
affects the height of the wave form, and is a
critical setting. Default value is 1 for 1
unit peak-to-peak wave form.
i......... Bits per Sample, i.e. 8, 16, or 32.
32 is not used much and may make a error in
some other programs, so try 16. Default
value is 16. 8 is for low quality audio.
i......... Samples per Second for the WAV file to play
back at. Default value is 44100. Typical
values are 8000, 11025, 12000, 16000, 22050,
24000, 32000, 44100, and 48000, although
other values may work.
f......... Filename of WAV file to save from workspace.
Path and Filename for *.WAV type file with 44
byte header. File saved will be 8, 16, or 32
bits per sample of one or more track
channels.
FORMAT: SAVE WAV i i r r r i i f
EXAMPLE: # 1 SAVE WAV 10 2 0 1.0 1.0 16 44100 WAV\SOMENAME.WAV
NOTE: This command is only for Saving wave drawing elements
from the drawing workspace to WAV type sound files. The
maximum number of track channels may be the number of
wave elements loaded. Note that the currently selected
element will be for first track drawing element to save,
see the select element macro command, i.e. #. If more
than one channel is being saved, the other channel wave
elements need to be in consecutively numbered elements.
If you save a stereo 2 channel WAV, and you select
element 3 as the first track then element 4 must be the
second track. All wave track elements must have the
same number of line segments.
HINT: See also the WINDOW (HOLE), OFFSET, MAGNIFY, COPY,
REVERSE, SPLIT, FIT CURVE, and LOAD WAV commands. The
APPEND and ENTER macro commands might also be of
interest to generate WAV data drawing elements.
PURPOSE: To save the elements in the drawing workspace as ASCII
files with their extensions numbered according to their
element numbers. These numbered ASCII files would then
be loaded with the LOAD TABLE command and saved for use
with the SAVE FONT command when finished. This command
is only meant to be used for saving the characters of a
font, see the macro command SAVE ELEMENTS if you want to
save all the elements in the workspace that are part of
a drawing you are working on.
MAIN MENU: [F] [S] [W]
KEYWORD: SAVE WORKSPACE
PARAMETERS: 3
TYPE: i......... Low ASCII number of set (e.g. 1 to 32.)
i......... High ASCII number of set (e.g. 127 to 255.)
f......... Filename to save workspace by, no extension.
FORMAT: SAVE WORKSPACE i i f
EXAMPLE: SAVE WORKSPACE 32 127 C:\FONTS\INTRNAT1
NOTE: All character drawings should fall within +/- 127
drawing editor units in the x and y axis, and must be in
the z=0 plane. The standard em unit is 96 drawing
units. Select the [F]ont grid from the [G]rid selection
from the [S]et-up drawing sub menu for a guide to the
valid font size. Be sure you turn the font grid off
when you are finished drawing or editing your fonts,
since you will see a dot at the center of the screen if
you do not turn the font grid off. If you see spots
when the grids are off you may have accidentally pressed
the [Ins] key or the left mouse button while in the
drawing editor, use the INITIALIZE command to erase all
the lines in the workspace and see if the dots go away.
HINT: You can use the SAVE ASCII command instead of this
command if you only want a few of the characters saved
or want to rearrange the characters relation ship to the
assigned code numbers in their filename's extension. If
you save the character files with different code numbers
as their extension be careful to rename any characters
you are going to overwrite or you will lose those
character's drawing file. Unless you want to magnify or
rotate the whole font it might be best to use the LOAD
ASCII command and then the SAVE ASCII command to only
work on one character in the workspace a a time.
PURPOSE: To save one or all element(s) to an XASCII disk file, or
you can make a print-out of your x y z point values.
SAVE XASCII saves the currently selected element, so you
need to use the select element command before you use
the SAVE XASCII command. In order to save ASCII files
using all exponential notation an additional file type
was added to the SAVE command, i.e. XASCII, in v2.7I.
MAIN MENU: [F] [S] [M] [X] or [D] [?...] [F] [S]
KEYWORD: SAVE XASCII or SAVE X
PARAMETERS: 1
TYPE: f......... Filename or Port name for XASCII data.
FORMAT: SAVE XASCII f
EXAMPLE: # 1 SAVE X C:\ASCII\X.1 ; Save in sub-directory ASCII.
# 2 SAVE XASCII LPT1 ; Send to parallel printer.
# 3 SAVE XASCII COM2 ; Send to serial printer, use
; the DOS MODE command to set up the serial port first.
# 0 SAVE XASCII FIX.ASC ; If you get your drawing
; messed up you can save the elements as an XASCII file
; from the workspace and then load the XASCII file into
; the [W]rite command to save the good parts of the data
; out as blocks of text to DANCAD3D (tm) XASCII type
; files. Be sure to put ENTER on the top line, of the
; new XASCII data files you are creating, and 0 0 0 0 0
; 0 0 0 0 0 on the last line of the XASCII data files
; you are creating. See also the ENTER command.
HINT: Use the XASCII file type to transfer data between the
8087 and non-8087 versions of DANCAD3D (tm) v2.7I, v3.7J
and so on, If you want you write your own programs to
manipulate or import data from DANCAD3D (tm) you can use
the XASCII file type. The XASCII files have generally
been tabulated to make reading and writing to them
easier, but only one space is required between the
values on each line of data in the XASCII file. See
also the SAVE ASCII macro command. There is no LOAD
XASCII command since the LOAD ASCII command can load
both ASCII and XASCII file types. Some program versions
may support LOAD XASCII or LOAD X as a macro command,
but LOAD ASCII should be used in most cases. See file
INFOV27I.TXT in SECTION: 3.3.7.9 for more information
about the XASCII format.
PURPOSE: SCREEN_FONT loads a *.808 or *.814 screen font file into
the character table used by the ECHO, OUTPUT, and
OUTPUT$ commands in some graphic video modes. This
command was revised in v2.7G to work with the VESA 15,
16, 24, and 32 bpp video modes.
MAIN MENU: [D] [?...] [C] [S]
KEYWORD: SCREEN_FONT
PARAMETERS: 1
TYPE: f......... filename of screen font, i.e. *.808 or *.814
FORMAT: SCREEN_FONT f
EXAMPLE: SCREEN_FONT FONTS\RUSSIAN2.814
SCREEN_FONT FONTS\GREEK4.814
NOTE: You can edit or create screen font files by using the
commands in the drawing editor's Calligraphy sub-menu.
You can change the screen font and add more text to the
screen to have characters from more than one language
displayed on the same screen at the same time. It is
best to reload the default screen font, e.g.
DANCAD3D.814, after displaying text using a different
font.
HINT: See also ECHO, OUTPUT, OUTPUT$, and LETTERING macro
commands.
PURPOSE: SELECT, selects lines by color, width, and possibly
other modes if any are added in later versions. Makes a
new element with just the selected lines filtered into
it. Can be used to extract parts of a drawing that was
imported if the conversion generated lines of different
colors from the pen numbers, or feed rates, and such.
If you have imported an element you can use SELECT
several times to extract all the lines of each color
into separate elements in order to make editing easier
by grouping like lines into individual elements. If no
lines matching the select value are found no new element
will be made, so have your macro check for a change in
the number of elements before and after SELECT by using
the LET command. New for v2.7A.
MAIN MENU: [D] [?...] [L] [S]
KEYWORD: SELECT
PARAMETERS: 2
TYPE: w......... mode = C, line color select mode.
W, line width select mode.
i......... value = in mode C, the color number 0 to 127.
in mode W, the width number 0 to 255.
FORMAT: SELECT w i
EXAMPLE: # 1 SELECT C 15
# 2 SELECT W 2
NOTE: This command may or may not make a new element depending
on if any lines meeting the value to select for are in
the source element. Be sure to use the select element #
symbol to select the element for SELECT to select lines
from. The element selected to extract lines from, can
be 0 i.e. from all elements.
The "select" element macro command is a different
command and uses the # symbol as its keyword, so should
not be confused with this SELECT lines command.
HINT: See also SPLIT, MODIFY, WINDOW, and LINETYPE macro
commands.
PURPOSE: To select an element before a command is to act on the
currently selected element. Be very careful that you
always use this command before the other macro commands
that need an element to be selected before they are used
to select the element to act on, otherwise the wrong
element may get changed. This command is written as the
# symbol, the macro command SELECT is a different
command that filters lines out of an element by
selecting them. See also the macro SELECT command
description. In the documentation when the "select
element" macro command is mentioned what is meant is
that you use the # symbol before one of the other macro
commands to select the element to act on.
MAIN MENU: You are given a prompt when needed.
KEYWORD: #
PARAMETERS: 1
TYPE: i......... Number of element to select for action.
Range 1 to 999 individually, or use 0 to act
on all elements in the workspace. Elements
are numbered according to the order of their
introduction to the workspace. Commands like
JOIN and ERASE can change the numbers
assigned to the other elements in the
workspace, so keep in mind what the element
numbers are for of all your elements both
before and after each macro command.
FORMAT: # i
EXAMPLE: # 1 MAG Z 2 1 0.5 ; x=x*2:y=y:z=z*0.5 in element 1
; Remember to space between # & i.
# 2 SAVE 3D ABC.2 ; Save element number 2 as a file
; so it can be loaded separately.
# 0 ROTATE ZERO 0 0 90 ; Turn everything on its side.
LET |MARK -> ELEMENTS ; Mark highest element number.
:L001
# |MARK COPY ; Select element at mark.
LOOP :L001 5 ; Make 6 copies of the element.
# [ |MARK + 6 ] OFFSET C 100 0 0 ; Offset copy # 6.
# [ |MARK + 5 ] OFFSET C 110 0 0 ; Offset copy # 5.
# [ |MARK + 4 ] OFFSET C 120 0 0 ; Offset copy # 4.
# [ |MARK + 3 ] OFFSET C 130 0 0 ; Offset copy # 3.
# [ |MARK + 2 ] OFFSET C 140 0 0 ; Offset copy # 2.
# [ |MARK + 1 ] OFFSET C 150 0 0 ; Offset copy # 1.
HINT: Be careful that you always leave a space between the #
and the number for the element to select. See Appendix
C for the syntax of the ELEMENTS "pointer", that is, how
to find out how many elements there are currently in the
workspace so that you can do stack type arithmetic and
have your macro adjust to the current state of the
workspace.
PURPOSE: To generate an electronic signal to trigger the advance
of a single frame movie, or cine, camera, or some other
external device such as a single frame VTR or VCR. An
electronic signal is output from across your computer's
loudspeaker terminals that can be amplified to trigger a
relay that in turn can operate the camera motor. Use
this SIGNAL to command adjust exposure of the frames in
a cine film recorder by varying the duration of the
shutter open frequency. The electronic signals might
also be used to rotate the color separation filter wheel
or flip in a cross-hair mesh screen for the effects pass
with another control frequency. The signal command
could be used for other automation if you use a PLL
(phase locked loop) to latch relays in set and clear
mode, i.e. send 400Hz to turn a thing on, then 800Hz to
turn it off, then send 1600Hz to turn something else on,
and 3200Hz to turn it off, and so on. You can also just
make the computer beep or play music if you convert the
tune into pitch and duration.
MAIN MENU: NA
KEYWORD: SIGNAL
PARAMETERS: 2
TYPE: i......... Frequency, 19 to 32767 Hz.
i......... Duration, 1 to 1E18 milliseconds.
FORMAT: SIGNAL i i
EXAMPLE: SIGNAL 20000 100 ; 20,000 Hz for 0.1 seconds.
LET |EXPO = 10000 ; Initialize to 10 seconds.
:FADE ; This loop does a fade.
SIGNAL 1000 100 ; Advance camera one frame.
GRAPH COLOR ; Use EGA 16 color mode.
# 0 DISPLAY |XROT |YROT 0 -1000 |ZOOM 1 |XPAN |YPAN
SIGNAL 2000 |EXPO ; Open shutter.
LET |EXPO = [ |EXPO - 1000 ] ; Next frame - 1 sec. expo.
LOOP :FADE 10 ; 11 frame fade to black.
NOTE: The timing of the length of time the signal is on can
vary depending on which version of the program you are
using and how fast your computer is. The operating
system you are using, or other programs you have loaded,
may also effect the timing. You should check the actual
timing on the computer you will be using and make
adjustments to the values you give the SIGNAL command.
HINT: See also the DELAY macro command to time the spacing
between the signals for delayed control of your
mechanisms. To make an isolated connection to your
computers loudspeaker use a 0.1 mf 600V capacitor in
series with an 100K Ohm resistor on each terminal. Do
not ground the signal to the case of the computer but
you can use a two conductor with shield microphone cable
and ground the shield to the center tap of your
transformer isolated input in the amplifier that drives
the shutter release solenoid or camera advance motor.
To avoid flutter in the exposure of the cine film the
duration parameter of the SIGNAL command should control
the exposure, i.e. signal "on" opens the shutter and
signal "off" closes the shutter. Sending two beeps,
beep open, delay, beep close, will not give as
consistent exposure because of the harddisk seek time
and other variables of program disk access. Also do not
press the keys on the computer keyboard or pop up any
programs while SIGNAL is working because you will
disturb the timing. See information about the cine film
recorder in Section 5.1.
PURPOSE: To make an element that can be displayed in order to
view the shape that will be produced when a tool path is
executed. This command may be helpful in checking tool
path files before executing the tool path file in a NC
or CNC machine tool in order to try to catch some of the
more obvious mistakes that might otherwise not get
noticed. New to a revision of v2.7D.
MAIN MENU: [D] [?...] [N] [S]
KEYWORD: SIMULATE
PARAMETERS: 23
TYPE: i......... Mode = 1, just one mode at introduction,
check later documentation for others.
f......... Toolname = *.ASC tool outline file from
SIMTOOLS\ sub-directory.
r......... Feed_per_spindle_revolution = 1E-18 to 1E18,
try 0.01 to 0.002 for inch units, or 0.25 to
0.05 for mm units.
i......... Color_mode = -2, make same color as the
simulation tool file lines.
-1, make same color(s) as the
tool path element lines.
0 to 127, make just assigned
color 0 to 127.
1000 to 1127, same as 0 to 127
plus blinking tool animation.
(Note that the actual colors
displayed may be effected by
the current palette settings,
see the PALETTE command.)
r......... Sim_tool_x_mag = 1E-18 to 1E18, change size of
tool.
r......... Sim_tool_y_mag = 1E-18 to 1E18, change size of
tool.
r......... Sim_tool_z_mag = 1E-18 to 1E18, change size of
tool.
r......... Sim_tool_x_rot = -1E18 to 1E18, rotate the
angle of the tool.
r......... Sim_tool_y_rot = -1E18 to 1E18, rotate the
angle of the tool, you may need to use the y
rotation to adjust the angle of the lathe
tool outline to the work-piece.
r......... Sim_tool_z_rot = -1E18 to 1E18, rotate the
angle of the tool.
r......... Sim_tool_x_off = -1E18 to 1E18, offset the
tool relative to path.
r......... Sim_tool_y_off = -1E18 to 1E18, offset the
tool relative to path.
r......... Sim_tool_z_off = -1E18 to 1E18, offset the
tool relative to path.
r......... Sim_path_x_mag = 1E-18 to 1E18, change size
of path, i.e. for lathe, you may need to use
0.5 or 2 to adjust for the lathe cutting
twice as much on the x axis as the z.
r......... Sim_path_y_mag = 1E-18 to 1E18, change size
of path.
r......... Sim_path_z_mag = 1E-18 to 1E18, change size
of path.
r......... Sim_path_x_rot = -1E18 to 1E18, rotate the
angle of the path.
r......... Sim_path_y_rot = -1E18 to 1E18, rotate the
angle of the path.
r......... Sim_path_z_rot = -1E18 to 1E18, rotate the
angle of the path.
r......... Sim_path_x_off = -1E18 to 1E18, offset the
path relative to workspace.
r......... Sim_path_y_off = -1E18 to 1E18, offset the
path relative to workspace.
r......... Sim_path_z_off = -1E18 to 1E18, offset the
path relative to workspace.
l......... Mirror_mode = N, no mirror, e.g. for milling
simulations.
X, mirror x axis, i.e. for
lathe simulations.
Y, mirror y axis.
Z, mirror z axis.
FORMAT: SIMULATE i f r i r r r r r r r r r r r r r r r r r r l
EXAMPLE: VERSION v2.7D
; Example of how to use SIMULATE.
INIT
PALETTE 2 KEEPTEMP.PAL ; save palette colors
LOAD ASCII WORKPIEC.ASC ; Triangle element of Work-piece.
LOAD ASCII TOOLPATH.ASC ; see also LOAD GCODE here...
# 2 SIMULATE 1 SIMTOOLS\VSFBEMFQ.ASC 0.005 1000
0.375 0.375 1
0 0 0
0 0 0
1 1 1
0 0 0
0 0 0
N
; The values may need to be on more than one line.
; Do not put comments between the values.
# 0 ROTATE Z 0 90 0
# 0 ROTATE Z 0 0 90
# 0 FLIP Z X
WYSIWYG 1
PALETTE 1 0 0 { set background to black }
GRAPH_MODE COLOR
# 1 DISPLAY 0 0 0 -1.000E+18 240 34 0 -0.5
# 3 DISPLAY 0 0 0 -1.000E+18 240 1 0 -0.5
# 4 DISPLAY 0 0 0 -1.000E+18 240 1 0 -0.5
LOCATE 1 25 OUTPUT$ "Press [Return] to continue."
WAIT
PALETTE 3 KEEPTEMP.PAL { restore color palette }
RELEASE KEEPTEMP.PAL { erase unneeded file }
; End SIMULATE example.
NOTE: The example macro files SIMLATHE.MAC and SIMVMILL.MAC
can be run in order to see an example of the SIMULATE
command in operation if your computer has enough free
disk space, and those macros can in your distribution.
The macro SIMTOOLS.MAC might be run to view some of the
shapes of the tool outlines that came in the
distribution. If the program generates an error while
using the SIMULATE command check that you have enough
disk space free, at least 2GB free on the workspace
drive and the program drive are best. Increase the feed
per spindle rotation, and reduce the line segments in
the tool outline to reduce the number of line segments
in the simulation element. For the animation of the
tool outline to run at a good speed, a computer of
500MHz or better should be used. The speed of the
animation during the re-draw display can be adjusted by
changing the feed per spindle rotation value in the
SIMULATE command, and by changing the number of line
segments in the tool outline file.
HINT: You can break up the tool path into parts and generate
simulation elements for each part then combine the
simulations by using the Preview, DISPLAY, JET ADD, or
DOT ADD commands. See the notes about this in the text
derived from INFOV27D.TXT. See also the WINDOW and
SPLIT commands to isolate parts of the tool path file
for simulation in order to get a clearer view of the
portion of interest. You can draw your own tool
outlines for the simulation, use the drawing editor from
the appropriate view, and save the tool outline as an
*.ASC file into the SIMTOOLS\ sub-directory. See also
the LOAD GCODE command if you want to load and SIMULATE
tool path files from G code format, e.g. similar to EIA
RS-274-D, RS-244-A, RS-244-B (a.k.a. 274D, 274-D, RS-
274D, EIA-274-D, EIA-274D, 244A) and such.
PURPOSE: New command SORT triangles is for hidden line elements.
This command sorts triangles in an element, back to
front. Normally the sorting is done automatically by
the DISPLAY command, but pre-sorting the triangles may
effect the speed later if the elements do not move much
for the display. SORT may also have some uses with the
FILL_TRIANGLES command when making tool path files.
Revised in v2.7F.
MAIN MENU: [D] [?...] [H] [S]
KEYWORD: SORT
PARAMETERS: 1
TYPE: i......... mode = 1, sort triangles back to front.
2, sort triangles front to back.
FORMAT: SORT i
EXAMPLE: # 1 SORT 1 ; sorts triangles back to front, i.e. far first
# 1 SORT 2 ; sorts triangles front to back, i.e. near first
NOTE: You do not normally need to use SORT for the hidden line
display modes since they call the sorting when needed.
This command may have some uses if you are going to
export data in STL format or make tool path files. Be
sure to use the select element # symbol before SORT to
select the element in the drawing workspace to SORT.
HINT: See also SAVE STL, FILL_TRIANGLES, and DISPLAY.
PURPOSE: To divide an element that is in the drawing workspace
into two elements, without changing the position of the
line segments end points.
MAIN MENU: [D] [?...] [J] [S]
KEYWORD: SPLIT
PARAMETERS: 1
TYPE: r......... line number to be last line of first part.
FORMAT: SPLIT r
EXAMPLE: # 1 SPLIT 4556892
NOTE: If you use the macro commands such as ERASE, PURGE,
INSERT, or DELETE on elements in the workspace, you can
change the line number for the line segment that you
have used with SPLIT, therefore be careful when you edit
macros that make direct references to line numbers in
the workspace array.
HINT: This command can be used to break up a drawing that
was saved as one element, split any element in the
workspace, or to split an element that was put together
with JOIN. To find the right line number use the [F]ind
points command in the [L]ines sub-menu of the drawing
editor. See also the [J]ocky sub-menu of the drawing
editor.
PURPOSE: This macro command keyword STEREO has been introduced in
v2.7H in order to pass the various values required for
the Stereoscopic image formatting information on to the
DISPLAY macro command. The STEREO macro command must
come before the DISPLAY command for the DISPLAY command
to make an image formatted in the assigned stereoscopic
image stereo format code. The STEREO macro command must
come before the DISPLAY macro command each time you want
to display a stereoscopic image.
MAIN MENU: [P]
KEYWORD: STEREO
PARAMETERS: 14
TYPE: i i i i i i i r r r r r r r
Where:
i = StereoMode, only 0 in initial revisions.
i = FormatCode
i = BorderColor
i = Reverse
i = SyncAdjust
i = SyncTweak
i = AspectComp
r = RightMask
r = LeftMask
r = StereoGamma
r = Zshift
r = SXshift
r = EyeRot
r = EyeOff
FORMAT: STEREO 0 i i i i i i r r r r r r r
Macro command parameter usage order for STEREO:
STEREO StereoMode FormatCode BorderColor Reverse
SyncAdjust SyncTweak AspectComp
RightMask LeftMask StereoGamma
Zshift SXshift EyeRot EyeOff
Where:
StereoMode = stereomode is always 0 in initial revision of v2.7H
FormatCode = see formatcode list below
BorderColor = 0-15=colors 16=none, see color code list below
Reverse = 0=none 1=reverse right and left eye views
SyncAdjust = only for sync double shutter glasses, 0 or about 20 to 60
SyncTweak = only for sync double shutter glasses, 0 or about -3 to +3
AspectComp = for FormatCodes 20, 40, 120, and 121, see AspectComp info.
RightMask = for various glasses, 0 otherwise, 0 to about 0.35
LeftMask = for various glasses, 0 otherwise, 0 to about 0.35
StereoGamma = image adjustment, 1.0 or about 0.5 to 2.0
Zshift = 0 or + moves image to you, - moves it away, about -50 to +100
SXshift = 0 or + moves image to you, - moves it away, about -0.8 to +2
EyeRot = eye rotation, about 0.2 to 0.4
EyeOff = eye offset, about 0.1 to 0.2
EXAMPLE: An Example of how the STEREO macro command might be used
for on screen display:
VERSION v2.7H
; INFO27H3.MAC demo of "Sync Double" for Shutter Glasses.
INIT
ENTER
-1.0E+00 -1.0E+00 1.00E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15479E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 1.00E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 1.00E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
0 0 0 0 0 0 0 0 0 0 { END ENTER }
# 1 CENTER 0 0 0
# 1 MAGNIFY Z 0.50 0.25 0.25
# 1 OFFSET Z 2 -4.5 0
# 1 SAVE ASCII V27HTELE.ASC
INIT
LET |OFF = 0
LET |ROT = 0
:LABEL_A1
LOAD ASCII V27HTELE.ASC
LET |N -> ELEMENTS
# |N OFFSET C 0 |OFF 0
# |N ROTATE Z 0 |ROT 0
LET |OFF = [ |OFF + 0.25 ]
LET |ROT = [ |ROT + 51.42857143 ]
LOOP :LABEL_A1 44
LET LS1XDEG_.VAR = 0 { for DISPLAY }
LET LS1YDEG_.VAR = -90 { for DISPLAY }
LET LS1ZDEG_.VAR = -45 { for DISPLAY }
LET LS0LAMB_.VAR = 1 { for DISPLAY }
LET LS0REFL_.VAR = 1 { for DISPLAY }
LET LS1BRIG_.VAR = 1 { for DISPLAY }
LET LS1REFL_.VAR = 1 { for DISPLAY }
LET B24OVER_.VAR = 4 { for VESA24 mode }
LET B24UNDER.VAR = 1 { for VESA24 mode }
LET B24XPIX_.VAR = 800 { for VESA24 mode }
LET B24YPIX_.VAR = 600 { for VESA24 mode }
LET B24DITHE.VAR = 4 { for VESA24 mode }
LET$ B24BACK_.VAR = "" { for VESA24 mode }
LET$ B24NAME_.VAR = "" { for VESA24 mode }
PALETTE 1 0 4 { Set background color }
GRAPH_MODE SEEK 0 800 600 24
STEREO 0 121 6 0 25 0 2 0.20 0.20 1.0 0 0 0.4 0.2 { 121="Sync Double" }
# 0 DISPLAY -75 0 0 10 240 64 0 0
SAVE PIXEL INFO27H3.PIX
WAIT
STOP
; EOF
The STEREO command must come before the DISPLAY command each time you want to
generate a stereoscopic image. In the initial release of v2.7H only the VESA
15, 16, 24, and 32 bpp video modes can be used to display stereoscopic images
on the computer's screen. If your video board does not display these VESA
modes you can only output the stereoscopic image to a BMP file by using the BMP
graphics video mode.
An Example of how the STEREO macro command might be used to make BMP file:
VERSION v2.7H
; INFO27H4.MAC demo of "Interlace" and BMP modes for Shutter glasses.
INIT
ENTER
-1.0E+00 -1.0E+00 1.00E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15479E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 0.00E+00 1.00E+00 0.00000E+00 0.00000E+00 2.15470E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 0.00E+00 -1.0E+00 0.00000E+00 0.00000E+00 -2.1547E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
1.00E+00 0.00E+00 0.00E+00 2.15470E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 1.00E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
-1.0E+00 0.00E+00 0.00E+00 -2.1547E+00 0.00000E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 -1.0E+00 1.00000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 -1.0E+00 1.00000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 -1.0E+00 1.00E+00 -1.0000E+00 -1.0000E+00 1.00000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
-1.0E+00 -1.0E+00 1.00E+00 -1.0000E+00 -1.0000E+00 -1.0000E+00 1 1 160 0
0.00E+00 -1.0E+00 0.00E+00 0.00000E+00 -2.1547E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 -1.0E+00 -1.0000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 -1.0E+00 -1.0000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
-1.0E+00 1.00E+00 1.00E+00 1.00000E+00 1.00000E+00 1.00000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
1.00E+00 1.00E+00 1.00E+00 1.00000E+00 1.00000E+00 -1.0000E+00 1 1 160 0
0.00E+00 1.00E+00 0.00E+00 0.00000E+00 2.15470E+00 0.00000E+00 1 1 192 0
0 0 0 0 0 0 0 0 0 0 { END ENTER }
# 1 CENTER 0 0 0
# 1 MAGNIFY Z 0.50 0.25 0.25
# 1 OFFSET Z 2 -4.5 0
# 1 SAVE ASCII V27HTELE.ASC
INIT
LET |OFF = 0
LET |ROT = 0
:LABEL_A1
LOAD ASCII V27HTELE.ASC
LET |N -> ELEMENTS
# |N OFFSET C 0 |OFF 0
# |N ROTATE Z 0 |ROT 0
LET |OFF = [ |OFF + 0.25 ]
LET |ROT = [ |ROT + 51.42857143 ]
LOOP :LABEL_A1 44
LET LS1XDEG_.VAR = 0 { for DISPLAY }
LET LS1YDEG_.VAR = -90 { for DISPLAY }
LET LS1ZDEG_.VAR = -45 { for DISPLAY }
LET LS0LAMB_.VAR = 1 { for DISPLAY }
LET LS0REFL_.VAR = 1 { for DISPLAY }
LET LS1BRIG_.VAR = 1 { for DISPLAY }
LET LS1REFL_.VAR = 1 { for DISPLAY }
LET B24OVER_.VAR = 4 { for BMP mode, sub-pixel oversample }
LET B24UNDER.VAR = 1 { for BMP mode }
LET B24XPIX_.VAR = 1280 { for BMP mode, image width in pixels }
LET B24YPIX_.VAR = 1024 { for BMP mode, image height in pixels }
LET B24DITHE.VAR = 4 { for BMP mode, 24 bpp dithering }
LET$ B24BACK_.VAR = "" { for BMP mode, no background file used here }
LET$ B24NAME_.VAR = "INFO27H4.BMP" { for BMP mode, name of file to make }
PALETTE 1 0 4 { Set background color }
GRAPH_MODE BMP { to make a BMP file rather than displaying on the screen }
STEREO 0 160 16 0 0 0 0 0.18 0.18 1.0 0 0 0.4 0.2
# 0 DISPLAY -75 0 0 10 240 64 0 0
STOP
; EOF
NOTE: What follows is a more detailed explanation of the
STEREO command parameters.
SrereoMode:
There is just "stereo mode" 0 in the initial revision of v2.7H, so you
just enter 0 after STEREO for now.
FormatCode:
The "FormatCode" value is for selecting how the making of the stereo
3D image or file will be done. Each format code might be used to make
a stereoscopic image that could be viewed somewhat differently or with
different apparatus.
The location of the Right eye view and the Left eye view in the
stereoscopic combination image might be switched or swapped if there
is a need to do so, use the "Reverse" option value to swap the Right
and Left views. LCS shutter glasses may have a button on their
control driver electronics that also lets you swap the Left and Right
views when you need to, without having to regenerate the stereoscopic
image.
For exporting the stereoscopic image pick BMP video mode with the
GRAPH_MODE command, rather than saving the image displayed on the
screen, since the shading will be better when the 15 or 16 bpp VESA
modes are used. Using the BMP video mode also lets you save the
stereoscopic image larger and with finer detail for later printing.
When using a computer that has a video board that does not display
fancy VESA video modes you might be able to use the BMP video mode to
save the stereoscopic image to disk without having to use a different
video board.
"Padding" is black fill around the stereo images so the combined
stereo BMP image file can be converted to a Pixel file, i.e. the image
size is padded to be like a video screen shape. In order for the
padding to do its job the size of the source images must be selected
to convert to the desired standard result size. "Padding" is needed
for some FormatCodes that put the Left and Right images above and
below or side by side when the stereoscopic image is to be displayed
on screen. When using the main menu Preview command or the macro
DISPLAY command to display on screen the image is automatically padded
regardless of the FormatCode selected, but when using the BMP video
mode the image is saved un-padded when the appropriate FormatCode is
selected. Also when displaying side by side or above and below images
on the screen the resolution is divided by two and adjusted so that
the program does not need to switch into a resolution that is twice as
high, which might not be possible or safe for your monitor, i.e. the
on-screen image is displayed in the VESA mode selected regardless of
the FormatCode entered. When the image is saved using the BMP video
mode the image will be double resolution when needed for some of the
side-by-side or above and below, a.k.a. over-under, images. If you do
not want the BMP file at double resolution for some of the above and
below or side-by-side images enter X and Y pixel dimensions half the
composite image size. When making BMP files for later conversion to
Pixel files for display through LOAD PIXEL or ANIMATE be sure to
select the "Padding" adjusted FormatCodes and enter X and Y pixel
values that will make the BMP file the right size for conversion.
Some video modes do not come out even for the double image
FormatCodes, such as putting two 640x480 views on one standard
1280x1024 image. To make up for the odd screen sizes the program in
some cases makes adjustments to the size of the "padding" in the
FormatCodes that are selected to give extra adjustment of the
"padding".
If you want to make transparency slides for projection in two slide
projectors you can select FormatCode = 1 and 2, or rename the
temporary image files DANR0000.BMP and DANL0000.BMP, then shoot the
right and left eye views from the computer's full screen. You can
convert BMP eye image files to Pixel files using the Files Utilities
BMP Pixel command and then use Load Pixel to display the Pixel files
for photography. The CRT Negative command might be used to alter the
display on the screen to get reversed tones for photography onto Color
Positive film stock, such as Agfa CP-30 (tm) using yellow or orange
filters, to give a color positive slide or movie from the negative
screen image. The same idea might be used to make two strip 3D movie
prints for projection with two movie projectors interlocked with
synchro motors, which may give better results than making a side-by-
side squeezed print. It may be better to use video mode BMP when
saving separate eye view files by use of the temporary eye image
files, since the VESA modes reduce the separate image sizes to half
size, when you are using some FormatCodes, in order to get both images
on the screen in the selected mode, but when the BMP graphics video
mode is selected the images are output full size and so may have four
times as many pixels.
FormatCode = 0
Monoscopic mode. Use a FormatCode of 0 when you do not want to make a
Stereoscopic view, but do not what to remove the STEREO command from
the macro. That is FormatCode 0 disables the Stereoscopic image
generation.
FormatCode = 1
Right eye single eye view image. FormatCode 1 outputs just the right
eye view from the stereo pair. You might want each of the stereo
views output to separate images so that you can do further processing
of the images, or so that you can make a separate slide or cine film
of each of the two views for projection from two projectors or a
special double image projector. Unlike just copying the file
DANR0000.BMP, FormatCode 1 generates an image that can that be ghost
masked. Both the RightMask and LeftMask values should be set as they
would be when making a combined stereoscopic image. FormatCode 1 was
added after the November 27, 2003 release.
FormatCode = 2
Left eye single eye view image. FormatCode 2 outputs just the left
eye view from the stereo pair. You might want each of the stereo
views output to separate images so that you can do further processing
of the images, or so that you can make a separate slide or cine film
of each of the two views for projection from two projectors or a
special double image projector. Unlike just copying the file
DANL0000.BMP, FormatCode 2 generates an image that can that be ghost
masked. Both the RightMask and LeftMask values should be set as they
would be when making a combined stereoscopic image. FormatCode 2 was
added after the November 27, 2003 release.
FormatCode = 10
"Parallel", a.k.a. "wall eyes", side-by-side format, the Left eye
image is on the Left side of the image and the Right eye image is on
the Right side of the image (unless you have used "reverse" to swap
them). This format is used with some kinds of stereoscopic image
viewers that have prisms or mirrors in them that let you view the
centers of the two images without diverging your eyes. Some people
can "free view" the "Parallel" format if viewed from a distance or the
images are printed so that their centers are equal to or a little less
than the distance between your eye's pupils, about 50mm to 80mm. Some
people might find the "Crossed eyes" format easier to "free view"
since the image spacing may be less critical. If the "Parallel"
images are printed on small cards so that their centers are spaced a
little less than the inter-pupil distance, you can view the images by
using two, preferably achromatic, magnifying glasses of about positive
75mm to 150mm focal length, one cemented lens in front of each eye
like eye glasses. Holding a black card between the images so that
each eye can see only one image may help when viewing. The "Parallel"
images might be viewed off of the computer screen by using special
"periscope" viewers using four front surface mirrors or 90 degree
prisms. The "periscope" type viewer might have an adjustment to allow
the images to be converged, e.g. one or more of the mirrors might
pivot or slide to try to correct for different viewing distances and
different distances between the right and left image centers. It
might be possible to use just one periscope over just the right or
left eye, but it may be generally better to keep the optical path
length the same for both eyes so that both eyes focus at the same
distance. Wedge prism type 3D viewers for "Parallel" side-by-side
views may also allow viewing images that have a center spacing greater
than the spacing between the eyes. Two thin wedge prisms might be
arranged like lenses mounted in eye glasses so that you look through
the prisms and your line of sight is made to diverge without your eyes
having to diverge. Achromatic wedge prisms might be desirable since
wedge prisms made of a single kind of glass may show some degree of
chromatic aberration, i.e. rainbow fringes. Using the STEREO
command's "BorderColor" option may help in lining up the two side-by-
side stereo images while viewing. Using the monitor's horizontal and
vertical size adjustments may help somewhat to achieve fusing and
convergence by letting you change the distance between the right and
left image centers. See also FromatCode 20 which might be adjusted
with the AspectComp to give a tall aperture full screen image with
some image center distance compensations. When the VESA video modes
display on the screen the images is padded, but when the BMP video
mode is selected the image is not padded unless you select a padded
FormatCode.
FormatCode = 11
This is also a "Parallel" image but simple black padding has been
added equal to twice the image height. This might be needed for
conversion to some odd video modes such as 1280x960 or 640x400 and
such. See also FormatCode 12 for adjustment for some uneven pixel
ratios.
FormatCode = 12
This is like FormatCode 11 but the padding has been adjusted for some
video modes like 2x-640x480 going to 1280x1024 or 2x-320x200 going to
640x480. You might try to report what other odd VESA modes you think
should be adjusted on the "Wish List" form. When the image is to be
displayed on-screen the adjusted padded FormatCode would usually be
the preferred FormatCode.
FormatCode = 20
This is a "Parallel" image format with the two images in anamorphic
squeeze across their width for recording on 3D cine film when the
AspectComp is set to 0. Special lenses or mirrors are used on the
movie projector to unsqueeze and superimpose the two images on the
movie screen. Polarizing filters are normally used for each side of
the projector lens so the viewers can see color images by using
Polarized 3D glasses. Pure Red and Cyan filters plus Didymium type
rare earth glass filters might also be used on the projector with a
stereo unsqueeze lens, in place of the usual polarizers, to possibly
get better ghosting results when viewing with Red-Cyan cardboard gel
glasses than when making an Anaglyph color release print, since the
dyes and minerals in the filters over the movie projector might have
better pass and stop bands than the dyes obtainable by printing onto
color print stock, e.g. a black and white print could be used since
filters are on the projector lens. If your monitor has enough range
on its vertical size or height adjustment to reduce the on screen
image height to 50% you might use FormatCode 20 in place of
FormatCodes 10, 11, and 12 to try to get higher vertical resolution.
If your monitor can not shrink the on screen image enough, you may be
able to reduce the distortion by using the AspectComp adjustment
value. Within FormatCode 20 the AspectComp value can select sub-
formats, when it is 1 the image is un-squeezed such that it is a tall
aperture of the usual screen image with the sides cut off, when it is
2 the image contains a smaller version of the usual screen image plus
extra on the top and bottom within the taller aperture. If you what
to adjust the monitor raster size in an asymmetric way in order to
adjust the center distance of the two images to try to correct for the
limitations of some viewing aid, the AspectComp values 100 to 120 work
like 1 except the aspect compensation is adjustable in grades from
mode 0 to 1 and past 1, and values 200 to 220 work like 2 except that
the aspect compensation is adjustable in grades from 0 to 2 and some
extra beyond that. To view the "tall screen" side-by-side parallel
images off of the computer screen you might try to use some kind of
prism or periscope viewer.
FormatCode = 30
"Crossed eyes" side-by-side format puts the Right eye image on the
Left side and the Left eye image on the Right side. "Crossed eyes"
stereo format is the format preferred by some people for "free
viewing", "free viewing" means viewing without any special glasses or
viewers. To "free view" the "Crossed eyes" image sit back about two
to three feet from your monitor then hold your finger about half way
between your monitor and your nose. Look at your finger tip and move
your finger closer or further from your nose until you see three out
of focus images side by side. Ignore the two images on the sides and
concentrate on the center image. Do not try to focus the center
image, focus on your finger. Slowly lower your finger while keeping
your eyes lined up on the center image. When your finger is out of
the way, just sit there and look at the out of focus center image for
a few minutes, being careful not to let your eyes shift position and
look at one of the side images. After you gain good control at
holding the out of focus center image in place you can try little by
little to bring it into focus while struggling to keep your eyes from
moving off of the center image. It is natural for your eyes to focus
at the point that the eyes converge, but to "free view" you need to
train yourself to separate your control of the muscles on your eyes
that focus and converge your eyes. This is somewhat like learning to
ride and balance a bicycle, once you learn how to gain conscious
control of these various eye muscles it becomes a new skill that you
might be able to keep and use for the rest of your life. Do not give
up if your first few tries fail, once you learn this skill you might
be able to "free view" off of your monitor or from a print out of the
stereoscopic image anytime and anywhere even when you do not have your
special glasses or viewers with you. Using the image "BorderColor"
option may be a help in "free viewing" since it gives the three images
you see an outline by which you can try to register them. Another aid
you might try for "free viewing" is to cut a hole the shape of one of
the on screen images, a little smaller than the image, in a black
piece of cardboard. Place the black piece of cardboard midway between
the monitor's screen and your eyes, such that when you look at the
screen through the hole you see the image on the left side of the
screen with only your right eye, and you see only the image on the
right side of the screen with your left eye. You may need to make
several black cards with the rectangular hole until you make one that
has the hole just large enough to see only one image when your eyes
are crossed. You could make a hinged bracket to flip the black
cardboard mask down in front of your monitor and hold it out the right
distance on a stick of some kind, that way both of your hands could be
free, and you just need to move your head to the right spot to view
the 3D stereoscopic image through the rectangular hole in the mask.
The filetype JPS is a variation of the popular JPG filetype that is
used on the internet to display stereoscopic images. To make a JPS
file save the stereoscopic image as a "Crossed eyes" BMP image, then
use the software that came with your scanner to convert the BMP image
into a JPG type file, using the minimum compression option in order to
preserve the stereo detail and reduce "cardboarding" of the image
planes. Next, rename the JPG file to have the JPS file extension.
Renaming should work since if the JPS file lacks the special image
header encoding the image reader should assume the JPS file is a JPG
file that has the image formatted for "Crossed eyes" stereoscopic
image format. Since the JPS file will not have the usual stereo
header encoding some viewers may not display the renamed JPG file
properly. It may be possible to add the correct header encoding to
the JPS file with a third party program, but you would need to find
such software. See also FromatCode 40 which can be adjusted with the
AspectComp to give a "crossed eyes" tall aperture full screen image
with image center distance compensations.
Some related viewing aids for viewing "Crossed eyes" side-by-side
stereo images might be of interest to viewers that have difficulty
"free viewing" "Crossed eyes" stereo images. When you are using a CRT
monitor you can cut some polarizer sheets so that you have two sheets
half the width of the screen and the full height of the screen, one
sheet has the polarization angle set to 45 degrees and the other sheet
has the polarization angle set to 135 degrees. You then put 45 and
135 degree Polarized glasses on and cover your left eye, then place
the Polarizer sheet that looks gray over the left half of the screen,
and the Polarizer sheet that looks black over the right side of the
screen. When you switch and cover the right eye you should see the
right side of the screen through a gray filter, and the left side of
the screen through a black filter. You then display a "Crossed eyes"
image on the screen by using stereo format code 30 or 40. If you move
back some distance from the monitor and view the side-by-side images
through the two filters over the screen and are wearing the Polarized
3D glasses you should be able to cross your eyes and see just one
stereoscopic image, rather than the usual three images side-by-side
that you would see when "free viewing" without using the Polarized 3D
glasses.
If you are making transparency slides for projection, you might be
able to use glass mounts and bind strips of Polarizer material,
aligned to 45 and 135 degrees, half the width of the image on the lens
side of a "Crossed eyes" color transparency. When such a slide is
projected and the viewers are viewing through 45 and 135 degree
Polarized glasses they should be able to fuse the two side-by-side
images a little easier than if the "Crossed eyes" image was projected
without the Polarized filter since they will just see one image rather
than three, particularly if the room is very dark and the image is
small and distant. A special type of screen to project on might be
needed to make the side images dim, but ghosting should not be an
issue since this is a "Crossed eyes" stereo format and the images are
never superimposed, except in the viewers mind. Heat from the
projector lamp might be a problem with melting and destruction of the
bound transparency and Polarizer filter strips, so you might want to
use a dichroic heat mirror for the mounting glass closest to the light
source.
Since LCD monitors and screens used in laptop computers already have
polarizers in them you can not tape two large Polarizer strips over
them, since one side of the screen would come out black. Dr. Keigo
Lizuka has suggested that in this situation you can leave one side of
the LCD screen uncovered and put a sheet of about 1 mil clear
cellophane over the other half of the screen. The cellophane rotates
the polarized light so that you now have light coming from the two
sides of the screen at angles that are similar to using two Polarizer
filters on a CRT monitor. You need to use cellophane of the right
thickness for this to work, using a different thickness or a different
kind of plastic will probably not give the same results. If your LCD
screen has an angle of 45 or 135 degrees then you may be able to use
Polarized glasses set to 45 and 135 degrees to view using the
cellophane technique, otherwise you might need to make Polarized 3D
glasses that have the filters rotated to the same angles that you are
getting from the uncovered and cellophane covered sides of your LCD
screen. This cellophane gimmick may not work with all LCD displays.
This "split screen filtering" idea could be used with circular
Polarizer glasses and sheets on the monitor or slide, and such.
This same idea might be used with colored filters over the two sides
of the computer monitor, or slide transparency, and viewing with
Anaglyph glasses. For instance if you display a side-by-side "Crossed
eyes" image on the computer screen, then cover the right side of the
monitor screen with a red theatrical gel or dyed plastic sheet and
cover the left side of the monitor screen with a cyan gel or dyed
plastic sheet, and view by using Red-Cyan Anaglyph glasses with the
red filter on the left eye, you might then see a ghost free stereo
image by crossing your eyes. The color filters in this technique
might not need to be perfect since filter leakage may just make dim
side images rather than ghosts within the central stereo image. Any
of the other Anaglyph color combinations might operate in the same
way. Moving back a distance from the monitor or screen and viewing in
a darkened room might help with the ability to fuse the stereo image.
I have not yet tested all of the various display viewing options,
methods, and techniques described so you may need to do some
experimenting to see what you might find of utility.
FormatCode = 31
This is "Crossed eyes" format plus simple black padding for conversion
of the image for on-screen display. For some odd video modes this
FormatCode might be needed, but for standard video modes it may be
better to use FormatCode 32.
FormatCode = 32
This is "Crossed eyes" format with padding plus adjustment for some
video modes that do not have double the image height of the original
images. FormatCode 32 would be the preferred FormatCode for on-screen
display of "Crossed eyes" stereoscopic image format, generally.
FormatCode = 40
When AspectComp is 0 this is a non-standard "Crossed eyes" anamorphic
format that might be useful if your monitor have size controls with
enough range to make the images un-squeezed, thereby getting twice the
vertical resolution since black padding would not be needed in the
combined stereoscopic image. See if you can reduce the "vertical
size" or "height" on your monitor to 50% and increase the "horizontal
size" or "width" on your monitor to 100%. If you cannot get enough
range on your monitor to get the correct 4:3 image shape, you might
use the AspectComp adjustment to distort the image in order to make up
for the extra height of the image frames. FormatCode 40 could be used
in place of FormatCode 20 for 3D motion pictures if the polarizing
filters where swapped for the two projected images. Within FormatCode
40 the AspectComp value can select sub-formats, when it is 1 the image
is un-squeezed such that it is a tall aperture of the usual screen
image with the sides cut off, when it is 2 the image contains a small
version of the usual screen image plus extra on the top and bottom
within the taller aperture. If you want to adjust the monitor raster
size in an asymmetric way in order to adjust the center distance of
the two images to try to correct for the limitations of some viewing
aid, the AspectComp values 100 to 120 work like 1 except the aspect
compensation is adjustable in grades from mode 0 to 1 and past 1, and
values 200 to 220 work like 2 except that the aspect compensation is
adjustable in grades from 0 to 2 and some extra beyond that. To view
the "tall screen" "Crossed eyes" images you can try to "free view" by
crossing your eyes, so no viewer would be required by people who are
able to easily "free view" such "Crossed eyes" images.
FormatCode = 80
The side-by-side "Mirror Right" stereoscopic format has the Left eye
view on the left side, and the Right eye view on the right side, like
the "Parallel" format, but has the Right eye view flipped or mirrored
side to side so that the Right eye view will appear correct when
viewed in a mirror. To view this format you place a front surface
mirror perpendicular to the monitor screen with the mirrored surface
facing right and you look directly at the left image with your left
eye and you look at the reflection of the right eye image in the
mirror. You can tip the mirror a little from side to side at the end
closest to your face in order to bring the centers of the images into
convergence. If you use this format frequently you might make a
hinged bracket that fits to the top of your monitor and hangs the
mirror in the proper position, so that the mirror can be flipped out
of the way when not needed. You might also add two positive meniscus
diopter lenses, i.e. eyepieces to look through, of a focal length
slightly longer than their distance to the monitor so that you can
view the images on the monitor without straining your eyes to focus
close up. Viewing with one eye's view reflected in a mirror might be
easier for people who cannot master "free viewing" by the use of
"Crossed eyes" format. Having a border on the images may make lining
up the two images easier, see also the BorderColor option value. The
program uses the related padded FormatCodes when rendering the image
for on screen display when the VESA graphics video modes are selected,
so use the graphics mode BMP and output the stereoscopic image to a
disk file if you do not want it padded.
FormatCode = 81
This is "Mirror Right" format with black padding, this might be needed
for some odd screen image dimensions, but the adjusted padding in
FormatCode 82 is probably of more frequent use. The padded
FormatCodes are for use with images that will be converted to Pixel
files for on-screen display, if you are making images for display on
the internet you do not need the padding, generally.
FormatCode = 82
This is "Mirror Right" format with black padding plus adjustment for
some standard screen image dimensions that do not have the height
twice the sub-image size, this might be needed for some odd screen
image dimensions. In some cases the non-adjusted padding in
FormatCode 81 may be required for odd screen dimensions. The padded
FormatCodes are for use with images that will be converted to Pixel
files for on-screen display, if you are making images for display on
the internet you do not need the padding, generally. The program uses
the related padded FormatCodes when rendering the image for on screen
display when the VESA graphics video modes are selected, so use the
graphics mode BMP and output the stereoscopic image to a disk file if
you do not want it padded.
FormatCode = 90
The side-by-side "Mirror Left" stereoscopic format has the Right eye
view on the Right side, and the Left eye view on the Left side, like
the "Parallel" format, but has the Left eye view flipped or mirrored
side to side so that the Left eye view will appear correct when viewed
in a mirror. To view this format you place a front surface mirror
perpendicular to the monitor screen with the mirrored surface facing
left and you look at the right image directly with your right eye and
you look at the reflection of the left eye image in the mirror. You
can tip the mirror a little from side to side at the end closest to
your face in order to bring the centers of the images into
convergence. If you use this format frequently you might make a
hinged bracket that fits to the top of your monitor and hangs the
mirror in the proper position, so that the mirror can be flipped out
of the way when not needed. You might also add two positive meniscus
diopter lenses, i.e. eyepieces to look through, of a focal length
slightly longer than their distance to the monitor so that you can
view the images on the monitor without straining your eyes to focus
close up. Viewing with one eye's view reflected in a mirror might be
easier for people who cannot master "free viewing" by the use of
"Crossed eyes" format. Having a border on the images may make lining
up the two images easier, see also the BorderColor parameter. The
program uses the related padded FormatCodes when rendering the image
for on screen display when the VESA graphics video modes are selected,
so use the graphics mode BMP and output the stereoscopic image to a
disk file if you do not want it padded.
FormatCode = 91
This is "Mirror Left" format with black padding, this might be needed
for some odd screen image dimensions, but the adjusted padding in
FormatCode 92 is probably of more frequent use. The padded
FormatCodes are for use with images that will be converted to Pixel
files for on-screen display, if you are making images for display on
the internet you do not need the padding, generally.
FormatCode = 92
This is "Mirror Left" format with black padding plus adjustment for
some standard screen image dimensions that do not have the height
twice the sub-image size, this might be needed for some odd screen
image dimensions. In some cases the non-adjusted padding in
FormatCode 91 may be required for odd screen dimensions. The padded
FormatCodes are for use with images that will be converted to Pixel
files for on-screen display, if you are making images for display on
the internet you do not need the padding, generally. The program uses
the related padded FormatCodes when rendering the image for on screen
display when the VESA graphics video modes are selected, so use the
graphics mode BMP and output the stereoscopic image to a disk file if
you do not want it padded.
FormatCode = 100
The "Over-Under" or "Above-Below" stereoscopic image format, with the
right image on top, is used with special prism or periscope mirror
viewers that let you look at the center of the monitor screen or
printout and see one stereoscopic image. If the left image needs to
be on top you can use the "Reverse" option value to swap the stereo
images. Some kinds of prism viewer might have two weak wedge prisms
that divert your line of sight so that the right eye sees objects
above the line of sight and the left eye sees objects below the line
of sight. The power of the wedge prisms may effect how far away from
the monitor you need to be and that the centers distance of images be
a certain value. With a large monitor you may not be able to converge
or fuse the stereo images if the viewer's wedge prisms are too strong
or weak. You may be able to find some kind of wedge prism viewer for
"Over-Under" viewing, perhaps one constructed in a manner similar to
the "KMQ (tm)" type lorgnette style viewer described in Europe, but
how well such a viewer might work could depend in part on the image
centers distance between the two stereo images on your monitor. One
issue with wedge prism viewers might be that when the prisms are made
just from one kind of glass or plastic there may be some residual
chromatic aberration, i.e. rainbow fringes. To account for some of
the rainbow fringes each of the two wedge prisms might be made of two
prisms made of different kinds of glass so that some of the chromatic
aberration might be reduced, i.e. achromatic wedge prisms. In some
cases it might be possible to view the "Over-Under" format with
"periscope" type front surface mirror viewers using two front surface
mirrors for one eye where the mirrors can tip to make up for the
difference in the vertical image to image center distance. To keep
the optical path length the same for the two eyes two periscopes might
be used, the right one going up, and the left one going down, both
adjusted to align the view of the images with the vertical center line
of the monitor's screen. If two periscopes are used you would use
four front surface mirrors. Four 90 degree prisms can be used in
place of four front surface mirrors to make two periscopes. Using the
STEREO command's "BorderColor" option may help in lining up the two
images. Using the monitor's horizontal and vertical size adjustments
may help achieve convergence by letting you change the distance
between the right and left image centers, this may be particularly
helpful when using a wedge prism viewer that is not adjustable.
FormatCode = 120
When AspectComp is set to 0 this "Squeezed Over-Under" right on top
format might be useful for viewing with the same kind of viewers as
would be used with the FormatCode 100 format, except that you would
need to reduce the monitor width control to get an un-squeezed image
with double the horizontal resolution. The horizontal resolution is
double since no black padding would be needed on the sides of the two
images. If your monitor's horizontal size or width control does not
have enough range to reduce the on-screen image width to 50% you might
also use the AspectComp value to try to correct for some of the on-
screen distortions. FormatCode 120 is not for use with Sync Double
LCS glasses since those require black padding between the two images
for the second vertical retrace period, see FormatCode 121 for
displaying images in stereoscopic shutter glasses Sync Double stereo
modes. Within FormatCode 40 the AspectComp value can select sub-
formats, when it is 1 the image is un-squeezed such that it is a wide
aperture of the usual screen image with the top and bottom cut off,
when it is 2 the image contains a small version of the usual screen
image plus extra on the sides within the wide aperture. If you want
to adjust the monitor raster size in an asymmetric way in order to
adjust the center distance of the two images to try to correct for the
limitations of some viewing aid, the AspectComp values 100 to 120 work
like 1 except the aspect compensation is adjustable in grades from
mode 0 to 1 and past 1, and values 200 to 220 work like 2 except that
the aspect compensation is adjustable in grades from 0 to 2 and some
extra beyond that. To view the "wide screen" over-under images you
will probably need some kind of prism or periscope viewer. FormatCode
120 could be used like FormatCodes 20 or 40 in a movie or slide
projector, the double projection lenses though would need to be
rotated 90 degrees and adjusted for the smaller image center distance.
FormatCode = 121
This "Squeezed Over-Under, Vertical Sync Doubler" format with
adjustments is for use with Liquid Crystal Shutter Glasses, a.k.a.
LCD Shutter Glasses or LCS glasses. To double the vertical sync
coming from your video board you attach a circuit between your video
board, a.k.a. video card, and your monitor's video input cable. This
circuit picks up the vertical sync pulse, waits about one half the
vertical retrace frequency, then sends a second vertical retrace sync
pulse to the monitor, thereby doubling the vertical retrace frequency.
So if your video board is outputting 60Hz for the vertical sweep in
your monitor, your monitor will sweep at 120Hz when sync doubled. The
advantage of sync doubling your monitor may be two fold, there may be
less flicker when using the Shutter Glasses, and the flip-flop that
feeds drive signals to the shutter glasses might be used to display
the two stereo images without the need to "page flip" the video memory
in the video board during the use of the video board's non-interlaced
modes. If you sync double the monitor when viewing ordinary menus,
and such, you will see the top of the menu stretched out with the
bottom also stretched out and superimposed over it, i.e. the normal
screen display is "scrambled" and not readily usable. So in order to
use the Sync Double stereoscopic display mode you need to have the
screen image specially formatted with the image for one eye on the top
of the screen squeezed vertically, and the image for the other eye
vertically squeezed on the bottom of the screen. Since the electron
beam in the monitor is moving from the bottom of the screen back up to
the top of the screen after the second sync pulse generated by the
Shutter Glasses driver circuit, the top of the second image cannot be
right next to the bottom of the first image, there needs to be a black
strip between the two images. For use with my programs it might be
desirable for the shutter glasses controller circuit to have full
manual control, i.e. one button for the shutter glasses stereo mode,
i.e. "Interlace", "Page Flip", "Line Blank", and "Sync Double", and
another button for the left and right view reverse. FormatCode 121
has some extra options that are needed for its use, "SyncAdjust" and
"SyncTweak" let you try to set the height of the black band between
the two squeezed eyes images to a value that might help line up the
two images on top of each other when the shutter glasses controller is
set to "Sync Double" stereo mode. The number of scan lines needed for
the black strip may be different for different video modes and
monitors, so you will need to figure out what values might work with
your hardware, and use those values to generate images for display on
your hardware. SyncTweak might be tried in addition to SyncAdjust to
move just the top image down, or just the lower image up. Set
SyncTweak to 0 and use SyncAdjust to get the images as close as you
can, then if needed try making SyncTweak a positive or negative value
to try to get the two images superimposed. Having a border on the
images helps with alignment, see the BorderColor option. SyncTweak
may not help in some cases, or if the controller senses the video
signal in addition to the sync signal, and such. Since the two images
are each less than half the full screen height in sync double mode
AspectComp is used to figure out how to resolve the non-square pixels
and reduced image aperture, the options are: 0 = crop the images so
that a little is lost of the top and bottom, 1 = compensate the Y axis
aspect ratio so that the image is squeezed a little more to fit into
the aperture that is less than half the screen high, and 2 makes the
image smaller and wide screen by reducing both the image height and
width while adding some extra image area on the sides. Options 0 and
2 generally do not require adjusting the monitor vertical size
adjustments when going to and from regular to sync double stereo
modes. Option 1 shows the usual image area, but since the image is
squeezed more than 2 times the vertical size adjustment on the monitor
may need to be adjusted each time you go in and out of sync double
mode by pressing the button on the shutter glasses controller. When
your video board is outputting interlaced video signals you may not be
able to use the "Sync Double" stereo mode on your shutter glasses
controller since the monitor may superimpose the two fields and the
image resolution may look less than if the interlace was displayed
normally. Some video boards may sometimes output non-interlaced video
signals at the lower resolutions and interlaced video signals at the
higher resolutions. When your video board is working at higher
resolutions and is interlacing you may need to use FormatCode 160
rather than FormatCode 121 for displaying images with shutter glasses.
The "Sync Double" images can only be displayed "full screen" and only
at the resolution they were created for, also the sync adjustments are
dependent on your particular monitor and video refresh rate, so
FormatCode 121 is mostly just for displaying 3D stereoscopic images on
your particular computer system, if you need to share 3D images for
use with shutter glasses FormatCode 160 is probably a better choice
most of the time. If you need to share an image or animation that
needs to be displayed in FormatCode 121 you can share a macro file
that generates the image or animation and the person running the macro
can try to adjust the parameters of the STEREO macro command to try to
get the "Sync Double" images to display on his or her computer system.
FormatCode = 160
This "Interleave/interlace/line blank" format with right eye on odd
rows is for use with Liquid Crystal Shutter Glasses, a.k.a. LCD
shutter glasses or LCS glasses. The image is made up of alternating
lines from the two views, one line from the right view then one from
the left view, and so on throughout the height of the combined image.
FormatCode 160 might be a satisfactory format for display when the
video board and monitor and shutter glasses controller are working in
"interlace" scanning mode. When the video board is working in "non-
interlace" video mode FormatCode 160 might also be viewed if the
shutter glasses controller circuit has a "line blank" stereoscopic
mode. In some cases "line blank" stereo mode may look a little
darker, or a little less sharp, than some other stereo controller
circuit mode since every other scan line gets turned off and the video
signal goes through a blanking circuit. In "interlace" mode each eye
sees alternate scan lines. Since the vertical frequency may be slower
during "interlace" stereo mode there may be a little less ghosting due
to the phosphors having more time to decay. In "interlace" video mode
the video signal frequency may be lower which might make the
horizontal details sharper in some cases. In "sync double" stereo
mode using FormatCode 121, with the video board operating in non-
interlaced video mode, both vertical and video frequencies going to
the monitor may he higher, and so, possibly reduce sharpness and
increase ghosting a little. FormatCode 160 might be good for use when
the image is to be displayed as part of a document or on the internet
since the stereoscopic image does not have to take up the full screen.
Because scrolling a displayed page containing an image made using
FormatCode 160 can reverse the right and left eye scan lines, you may
need to press the eye reverse button on the shutter glasses controller
circuit to have the right eye view get to the right eye, and so on.
When "Interlaced" images are converted from BMP to compressed
filetypes you should select no or minimum compression since blurring
of the vertical or horizontal details may be destructive to some of
the stereoscopic integrity, so it might be better to keep stereoscopic
images un-compressed. "Sync Double" images need to be displayed "full
screen" since the timing of the monitor sync depends on the images
displayed, also the black strip in "Sync Double" images probably needs
to be different for different monitors and video modes. The
"Interlace" format does not need to be displayed full screen, and sync
adjustments within the image are not generally required for various
monitors or video modes. Because the vertical resolution is half in
"Interlace" stereo mode higher resolution video modes, such as
1280x1024 at 24bpp might be desirable when you do not need to animate
the images. The program averages the scan lines for conversion to
"interlace" mode rather than just dropping the in between lines. For
use with my programs it might be desirable for the shutter glasses
controller circuit to have "full manual control", i.e. one button for
the shutter glasses stereo mode, i.e. "Interlace", "Page Flip", "Line
Blank", and "Sync Double", and another button for the left and right
view reverse.
FormatCode = 170
This "Lenticular/Parallax Barrier" format with the odd columns having
the right eye view, is for use with special LCD screens that have a
cylindrical lens sheet or other parallax barrier attached so that each
eye sees just the even or odd pixel columns. It is like FormatCode
160 but runs the interlaced lines up and down rather than side to
side. Screens that have the parallax barrier built in may be
infrequent now, but if you have one FormatCode 170 might make an image
that can be displayed on it for viewing in Stereoscopic 3D mode
without glasses of any kind. You might be able to make a parallax
barrier for your regular LCD monitor by printing out a drawing with
thin lines spaced a little closer than the width of the screen, one
line for each pair of pixels on the LCD's screen, then print the
drawing onto high contrast "litho" film so that you have wide black
stripes with thin clear lines. If you get the spacing of the clear
lines correct, can get the film close enough, i.e. the right distance,
to the LCD monitor, and you sit the right distance away in a darkened
room you might be able to see some of the 3D images without using
glasses. The spacing of the clear lines in the barrier sheet should
ideally be slightly non-linear from center to the sides in order to
compensate for the particular distance between the monitor and the
viewer. Do not try to use a parallax barrier sheet on a CRT monitor,
it is probably too hard to get the on screen image and vertical
barrier mask aligned, especially at higher resolutions. A company
called i-Art (tm) at www.iart3D.com, seems to be offering, or have
offered, an add on kit that puts a transparent lenticular sheet in
front of your normal LCD monitor called "Auto3D Kit (tm)". I have not
tested this product and do not endorse it for use with my programs,
but you may want to check for more information if you have a LCD
monitor, since it might let you view stereoscopic images without using
glasses of any kind. If ghosting is present when viewing with a
parallax barrier or lenticular sheet you might experiment with using
some ghost masks to see if there is any benefit.
FormatCode 205
This Red-Cyan Monochrome balanced Anaglyph format uses glasses with a
Red filter on the left eye and a Cyan filter on the right eye, is one
of the more common Anaglyph viewing formats, and might be used for
stereoscopic display on various monitors, and possibly to some extent
with color slides or print out. If your Cyan-Red Anaglyph glasses
have a red filter on the right eye use the "Reverse" parameter of the
STEREO command to swap the right and left eye views. FormatCode 205
might be a good choice for including 3D stereoscopic images on Web
pages, so long as the file compression is kept small, or not used, to
reduce, or prevent, any compression induced artifacts. When making
Anaglyph images the Zshift, XSshift, EyeRot, and EyeOff values should
probably be less than the values that look good for making images to
be viewed with shutter glasses since the ghosting typical with impure
colored glasses may make it difficult to fuse the two images if the
stereoscopic disparity is large. To try to reduce the ghosting you
may be able to look through two, three, or more, stacked Anaglyph
colored glasses at the same time thereby filtering the light better
and perhaps reducing the ghosting somewhat. Ghosting is seeing a
little of the left eye view in your right eye and a little of the
right eye image in your left eye. To try to evaluate the quality of
your Anaglyph glasses make an test image using perspective display
mode 10 and a large amount of stereoscopic disparity for a bright
Anaglyph wire-frame outline with no ghost masking against a black
background. Look at the Anaglyph wire-frame image through the colored
glasses and cover your left eye, this shows how much red is leaking
through the cyan filter, then cover your right eye to see how much
blue and green are leaking through the red filter. You may see more
ghosting through one of the filters than the other filter. Some
impure Red-Cyan Anaglyph glasses might leak quite a lot through both
filters possibly making viewing of images with a large amount of
disparity problematic. By stacking some Red-Green 3D glasses over
some Red-Cyan glasses you may be able to reduce some of the ghosting,
making viewing of 3D stereoscopic Anaglyphs better. Filter stacking
can be taken to extreme proportions, but since the monitor is of
limited brightness you are limited as to how many filters you can
stack before the image is too dim, even when viewed in a totally dark
room. Ghost masking might be combined with filter stacking to try to
suppress whatever slight residual ghosting would remain when filter
stacks with tolerable transmission would be used. Gamma correction
might also be helpful when very dark filters are used to lighten the
shadow areas of the image, which otherwise might be too dark to see
well. The computer monitor may not have 100% purity of the electron
beams reaching phosphor dots since there may be some spread of the
electrons passing through the internal shadow mask, so the red image
from the red electron gun may light up the blue and green phosphor
dots a little, and the blue and green electron guns may light up the
red phosphor a little, possibly giving rise to another source of
ghosting no mater how perfect the filters in the Anaglyph glasses are.
If you move the computer monitor you should probably degauss it since
movement of the CRT monitor may effect the color purity. Some
monitors may have better purity than others since there may be small
adjustments and magnets in the monitor the may effect the color purity
in some cases, these settings are generally done at the factory.
Another source for a possible loss of purity and source of ghosting
might be from the phosphors themselves, when the phosphor dots are
applied using resists some of the other color phosphors may get washed
over the previously applied ones giving an opportunity for
contamination, that is, there may be a little blue or green phosphor
over the red phosphor dots, and such. Anaglyph images are simple to
view by using just the properly colored glasses, and might be easy to
share since anyone with the properly colored glasses might also be
able to try to view them. If you are going to do quite a bit of
stereoscopic viewing just by yourself the Liquid Crystal shutter
glasses may give you a somewhat nicer viewing experience with perhaps
less color "twinkling" and perhaps somewhat easier fusing of images
with large stereoscopic disparity in some cases. Images for LCS
glasses may not be as share-able if they have had to be tweaked and
adjusted for your monitors quarks, e.g. "sync double" stereo mode, and
such. When posting Anaglyph images on the internet you should
probably use the minimum image compression possible, or no compression
at all, and use 24 bpp color since any reduction in the image
resolution may contribute to "cardboarding" of the image details
making them look like cardboard cut-outs rather than continuously
round objects. The BMP file format the program outputs in is un-
compressed and gives un-compressed image quality. FormatCode 205
makes a stereoscopic Monochrome balanced image, but FormatCodes 225
and 235 allow tri-color to be viewed with Red-Cyan glasses. To
possibly improve the ghosting issues due to filter or phosphor cross
talk when viewing Red-Cyan images a special narrow band Yellow light
absorbing filter, such as Neodymium and Praseodymium or didymium rare
earth glass filter, might be placed over both of the stacked Red and
the stacked Cyan filters in the Glasses, or over the monitor screen as
a whole. How much benefit putting particular filters in the filter
stacks might be would depend on the various combined curves of all of
the system components. See also the associated text section about
Anaglyph viewing aids for additional Anaglyph information and how to
test Anaglyph filters using DANCAD3D.COM (tm).
FormatCode = 206
This "Yellow-Blue" Monochrome balanced Anaglyph format uses a Yellow
filter on the Left eye and a Blue filter on the Right eye. The
Reverse option can be used to swap the colors for the eyes.
FormatCode 206 makes a Monochrome balanced image, but FormatCodes 226
and 236 allow color to be viewed with Yellow-Blue glasses. The
Yellow-Blue glasses might be thought by some to give better color
results than Red-Cyan glasses, but the Yellow-Blue filter combination
might in some cases produce somewhat worse ghosting depending on the
purity of the filters used for viewing. You can try to test the
quality of the filters used in the different kinds of glasses by
viewing a bright Anaglyph wire-frame image against a black background
with no ghost masking, and make up your own mind about which pair of
colors give the least amount of ghosting and look best with your
monitor's phosphors. Using stacked Deep Amber filters and stacked
Deep Blue filters combined with narrow band blue-green blocking
filters, e.g. rare earth glass filter and or interference filters, may
give results with less ghosting than just a single light yellow and
light blue filter. See also the associated text section about
Anaglyph viewing aids for additional Anaglyph information and how to
test Anaglyph filters using DANCAD3D.COM (tm). There may be some
issues relating to proprietary rights regarding Yellow-Blue anaglyphs
in some countries, so only do what is permissible in the jurisdictions
applicable.
FormatCode = 207
This "Magenta-Green" Monochrome balanced Anaglyph format uses a
Magenta filter over the Left eye and a Green filter over the Right
eye. The Reverse option can be used to swap the colors for the eyes,
i.e to get a Green-Magenta image. FormatCode 207 makes a Monochrome
balanced image, but FormatCodes 227 and 237 allow color to be viewed
with Magenta-Green or Green-Magenta glasses. Magenta-Green glasses
are not common, perhaps due to the difficulty of getting filters that
are pure enough to block the ghosting. Magenta-Green or Green-Magenta
anaglyph might possibly find some use perhaps in display methods that
polarize the colors of light differently, and so if that were the case
the image might be viewed with polarized glasses rather than colored
glasses, bypassing some of the issues of color filter purity, or
polarized and colored filters could be stacked to reduce ghosting.
See also the associated text section about Anaglyph viewing aids for
additional Anaglyph information and how to test Anaglyph filters using
DANCAD3D.COM (tm).
FormatCode = 208
This "Red-Blue" Monochrome balanced Anaglyph format uses a Red filter
over the Left eye and a Blue filter over the Right eye. The Reverse
option can be used to swap the colors for the eyes. This color
combination may produce the lowest amount of ghosting if the filters
in the glasses are very good since green tends to leak through both
red and blue filters, i.e. no green light may equal less leakage.
Many red filters are actually reddish magenta, so they may transmit
some blue. To reduce blue transmission through the red filter the
deep red filter should be combined with some very strong yellow or
yellowish orange filters to block all of the blue light. Blue filters
sometimes transmit a little red, so the blue filter should be combined
with bluish green filters in order to cut down on the amount of red
light reaching the blue filter eye. The strong purple effect of using
Red-Blue Anaglyph glasses may make viewing a little harsh on the eyes,
the alternative two-color FormatCode 209 the Red-Green Anaglyph mode
may not be as good for ghosting reduction, but the yellowish overall
tint might, for some people, be easier to look at for longer periods
of time.
FormatCode = 209
This "Red-Green" Monochrome balanced Anaglyph format uses a Red filter
over the Left eye and a Green filter over the Right eye. The Reverse
option can be used to swap the colors for the eyes for Green-Red
glasses. This Red-Green Anaglyph format may be one of the traditional
Anaglyph color combinations used for 3D stereoscopic books printed
with Red and Green inks and for 3D Anaglyph motion pictures. The
sensitivity of the red and green nerves in the eyes is close in
wavelength and the sensitivity to red and green light overlaps
somewhat. It is also hard to make red and green filters that do not
both transmit some yellow light. So some ghosting when using Red-
Green Anaglyph glasses might be difficult to avoid unless the filters
used over the eyes are very strong and the yellow light in the overlap
region is filtered out. Preferably the narrow band of yellow light
between colors red and green would be filtered out, perhaps by adding
a narrow band yellow absorbing filter to the red and green filters on
the Anaglyph glasses, e.g. the addition of didymium or rare earth
Amethyst Contrast Enhancer type filters might have some effect. How
much benefit rare earth filters might have would depend on the
transmission of the other filters used, and might not be worth the
extra cost. Red-Green glasses may work better than Red-Blue or Red-
Cyan glasses on printout in cases where the red dyes or inks might
tend to allow reflection of some blue light. Printing Red-Green
Anaglyph images on broad band bright yellow paper may help filter out
undesirable blue light. Red-Green may work better than Red-Cyan
images when projecting photographic slide transparencies if the dyes
in the slide's image leak blue light. You might try to use a broad
band yellow filter pass filter and a narrow band yellow blocking
filter over the slide projector to help the Red-Green Anaglyph glasses
differentiate the peek red and green parts of the spectrum.
FormatCode = 210
This "Green-Blue" Monochrome balanced Anaglyph format uses a Green
filter over the Left eye and a Blue filter over the Right eye. The
Reverse option can be used to swap the colors for the eyes for Blue-
Green glasses. Glasses with special filter stacks should probably be
used to minimize ghosting when viewing "Green-Blue" anaglyph. A
narrow band filter that absorbs light between green and blue might be
helpful in the filter stacks for this format. Green and blue may, for
some people, show less color contrast than combinations involving red,
and so might perhaps tend to show less "twinkling", for some people.
FormatCode = 225
This half-color "Red-Cyan" format is for displaying desaturated color
images for viewing with "Red-Cyan" Anaglyph glasses like monochrome
FormatCode 205. The half-color display mode gives some impression of
color with less of some of the "twinkling" problems encountered in
full color Anaglyph images when highly saturated colors are displayed
such that there is a great difference in the brightness between the
same parts of the image in both eyes. If you want to see what the
full color anaglyph image would look like try FormatCode 235.
FormatCode = 226
This half-color "Yellow-Blue" format is for displaying desaturated
color images for viewing with "Yellow-Blue" Anaglyph glasses like
monochrome FormatCode 206. The half-color display mode gives some
impression of color with less of some of the "twinkling" problems
encountered in full color Anaglyph images when highly saturated colors
are displayed such that there is a great difference in the brightness
between the same parts of the image in both eyes. If you want to see
what the full color anaglyph image would look like try FormatCode 236.
There may be some issues relating to proprietary rights regarding
Yellow-Blue anaglyphs in some countries, so only do what is
permissible in the jurisdictions applicable.
FormatCode = 227
This half-color "Magenta-Green" format is for displaying desaturated
color images for viewing with "Magenta-Green" Anaglyph glasses like
monochrome FormatCode 207. The half-color display mode gives some
impression of color with less of some of the "twinkling" problems
encountered in full color Anaglyph images when highly saturated colors
are displayed such that there is a great difference in the brightness
between the same parts of the image in both eyes. If you want to see
what the full color anaglyph image would look like try FormatCode 237.
FormatCode = 235
This full-color "Red-Cyan" format is for displaying saturated color
images for viewing with "Red-Cyan" Anaglyph glasses like FormatCode
205 and 225. The full-color display mode gives full color but with
some of the "twinkling" problems encountered when highly saturated
colors are displayed such that there may be a great difference in the
brightness between the same parts of the image in both eyes. The
monochrome FormatCode 205 may be easier on the eyes since the
brightness for corresponding parts of the image in both views may be
about the same. The half-color FormatCode 225 gives some impression
of the colors with "twinkling" problems intermediate between
Monochrome and full-color Anaglyph display.
FormatCode = 236
This full-color "Yellow-Blue" format is for displaying saturated color
images for viewing with "Yellow-Blue" Anaglyph glasses like FormatCode
206 and 226. The full-color display mode gives full color but with
some of the "twinkling" problems encountered when highly saturated
colors are displayed such that there may be a great difference in the
brightness between the same parts of the image in both eyes. The
monochrome FormatCode 206 may be easier on the eyes since the
brightness for corresponding parts of the image in both views may be
about the same. The half-color FormatCode 226 gives some impression
of the colors with "twinkling" problems intermediate between
Monochrome and full-color Anaglyph display. There may be some issues
relating to proprietary rights regarding Yellow-Blue anaglyphs in some
countries, so only do what is permissible in the jurisdictions
applicable.
FormatCode = 237
This full-color "Magenta-Green" format is for displaying saturated
color images for viewing with "Magenta-Green" Anaglyph glasses like
FormatCode 207 and 227. The full-color display mode gives full color
but with some of the "twinkling" problems encountered when highly
saturated colors are displayed such that there may be a great
difference in the brightness between the same parts of the image in
both eyes. The monochrome FormatCode 207 may be easier on the eyes
since the brightness for corresponding parts of the image in both
views may be about the same. The half-color FormatCode 227 gives some
impression of the colors with "twinkling" problems intermediate
between Monochrome and full-color Anaglyph display.
BorderColor:
The BorderColor parameter lets you set the color of the thin border
around each of the stereoscopic images, or to select no border.
Putting a border around the right and left eye images can make
aligning the images easier and make fusing of the stereoscopic image
in your mind easier since you have some common points to line up.
Seventeen options are available, sixteen colors and no border. The
border takes one or two pixels from around the image since fitting the
images into the screen requires that the pixel size remain constant
with or without the border. The colors available are: 0=black, 1=dark
blue, 2=dark green, 3=dark cyan, 4=dark red, 5=dark magenta, 6=dark
yellow, 7=light gray, 8=dark gray, 9=light blue, 10=light green,
11=light cyan, 12=light red, 13=light magenta, 14=light yellow,
15=white, 16=no border. Border color 6 may be a good choice for many
applications, such as "Crossed eye" free viewing.
Reverse:
The Reverse parameter of the STEREO macro command lets you swap the
right and left eye views when generating the stereoscopic image. The
values to use are, 0=do not swap, and 1=reverse right and left eye
views. When using LCS glasses the electronic controller should have a
button on it that lets you reverse the right and left eye views
without having to regenerate the stereoscopic image.
SyncAdjust:
The "SyncAdjust" only applies to sync double shutter glasses modes
such as FormatCode 121, when using other FormatCodes set this
parameter to 0. In order for the shutter glasses to be used in sync
double stereo mode the image on the screen must consist of two eye
images squeezed vertically and arranged in the above-below format.
Between the two images there must be a black band that gives the
electron beam in the monitor time to make it back to the top of the
screen before the top of the lower image is displayed over the upper
image. The width of this black strip will need to be wider or
narrower depending on the video mode selected, the vertical refresh
rate Hz, and the type of Monitor being used. This SyncAdjust value
lets you make the black strip between the upper and lower images on
the screen wider or narrower depending on the value that you enter. A
value of around 46 may work with 640x480 mode but you will need to
experiment to see what values work with your computer system and
shutter glasses. To test the value make an image with a border and
increase this value by one each time the screen redraws until the
borders line up with the shutter glasses control in sync double stereo
mode. If the borders go from one line too low to one line too high
you might try a non-zero "SyncTweak" value. You will need to test
each video mode that you want to use and write down the settings that
work with that mode. The "SyncAdjust" values that work may range from
about 20 to 60 depending on the video mode used. The "Sync Double"
stereo mode may not be usable for video modes that your video board
sends out as interlaced, in which case you would use FormatCode 160
and set the shutter glasses controller to "interlace" stereo mode, or
perhaps "page flip" stereo mode if that works the same as "interlace"
in your glasses controller driver circuit. Be sure that you adjust
the "SyncAdjust" and "SyncTweak" to get the right and left images
superimposed as best you can or the ghost masking might not have the
mask and image aligned enough.
SyncTweak:
The "SyncTweak" parameter value should be set to 0 while adjusting the
"SyncAdjust" value. "SyncTweak" only applies to sync double stereo
mode when used with Liquid Crystal shutter glasses, e.g. FormatCode
121. When other format codes are used SyncTweak should usually be set
to 0. "SyncTweak" can be set to small positive or negative integers to
shift just the top image down or just the bottom image up. Usually
"SyncTweak" would be set to 0 and "SyncAdjust" would be used alone to
align the left and right view images. "SyncTweak" may not help at all
in some cases, particularly in cases where the control circuit senses
the start of the video information, and such.
AspectComp:
The AspectComp value is needed to resolve some issues relating to the
aspect ratio of images displayed using the Sync Double stereo mode for
shutter glasses, e.g. FormatCode 121, and anamorphic FormatCodes 120,
20, and 40. For other FormatCodes AspectComp should generally be set
to 0. In FormatCode 121 the black stripe in the center of the above-
below image used for Sync Double stereo mode takes part of the screen
so that each of the two eye images are less than half the screen
height. There are three ways to resolve this issue by setting
AspectComp to: 0=crop image height to fit the available aperture,
1=compensate by squeezing the image height more to fit into the
available aperture height, and 2=reduce both the image height and
width to make the image height fit the aperture and have a little
extra image on the sides giving a slightly wide screen image.
AspectComp options 0 and 2 help avoid having to adjust the monitor's
vertical size or height control each time you switch into or out of
sync double stereo mode. AspectComp option 1 lets you have the normal
4:3 screen image, but may require adjusting the monitors vertical size
or height control each time you switch into or out of the sync double
stereo mode for your shutter glasses. In FormatCode 120 when
AspectComp is 0 the two images are anamorphic squeezed vertically. By
using other values of AspectComp with FormatCode 120 you can get
"over-under" "wide-screen" images that are not vertically squeezed.
The valid values to use are: AspectComp 0 = Y is 2:1 squeezed for
anamorphic over-under format, AspectComp 1 = adjust Y image aspect for
of the image half height and full width no squeeze, AspectComp 2 =
adjust X image aspect for normal image height and twice width no
squeeze, AspectComp 100 to 120 are grades between modes 0 and 1, plus
extra, and may require the monitor raster size to be adjusted to
cancel distortion, AspectComp 200 to 220 are grades between modes 0
and 2, plus extra, and may require monitor raster size to be adjusted
to cancel distortion, AspectComp 100 to 120, and 200 to 220, might be
used to adjust the centers distance of the images for better viewing
with some fixed center viewers. In FormatCode 40 when AscpectComp is
0 the two images are anamorphic squeezed across their width. When
AspectComp is a value other than 0 a tall image aperture side-by-side
image is made. Values for AspectComp when FormatCode is 20 or 40 are:
AspectComp 0 = X is 2:1 squeezed for anamorphic side-by-side format,
AspectComp 1 = adjust X image aspect for normal image height and half
width no squeeze, AspectComp 2 = adjust Y image aspect for normal
width and twice height no squeeze, AspectComp 100 to 120 are grades
between modes 0 and 1, plus extra, and may, require the monitor raster
size to be adjusted to cancel distortion, AspectComp 200 to 220 are
grades between modes 0 and 2, plus extra, and may, require monitor
raster size to be adjusted to cancel distortion, AspectComp 100 to
120, and 200 to 220, might be used to adjust the centers, distance of
the images for better viewing with some fixed center viewers.
RightMask:
Ghost masking is used to try to obscure ghost images seen through
filter glasses when the filters are not perfect. Best results will
probably always be obtained by using viewing aids that do not produce
ghost images, but when ghost images are present combining the stereo
images with masking images may make the ghost images somewhat less
apparent. The combination image of the original image and the ghost
mask does not look like the original image since the mask image has
been combined with it, and so whether or not the masked image is more
or less satisfactory is a subjective impression, and will depend on
many factors only some of which may be controllable. Since the black
level gets lifted during masking, reducing the monitor brightness to
push the black level down may negate the masking and make the ghosts
visible again, particularly in the shadows.
If the filters leak quite a lot of light the amount that the black
level needs to be lifted to match the ghosts from the brightest image
points may be more than what might be satisfactory, so you may end up
just adjusting things so that some ghosts from the highlights are left
somewhat visible. To offset this issue you may select element colors
that are less bright, e.g. do not use white and such, and adjust the
lighting values and stereo gamma correction so that the foreground is
not too much brighter than the other parts of the rendering.
The values for RightMask and LeftMask should be set to 0 for
FormatCodes that do not superimpose the right and left images in such
a way that ghost images can be seen because of filter leakage, and
such. The RightMask and LeftMask values set some fraction of the
opposite eye view that is to be used to generate the masking image,
typical values range from about 0.1 to 0.35 with larger values used
for more apparent ghosts and smaller values used for faint ghosts. If
the ghost image represents only a small portion of the total image
brightness, superimposing around the ghost a de-ghosting image mask
image might make the ghost somewhat less visible. In practice complete
nulling of the ghost is probably impossible, because of non-linearity
of the monitor and other factors, but some reduction may help with
stereoscopic fusion under some circumstances such as viewing wire-
frame images. For Ghost masking to work at all with high contrast
images on a black background, such as wire-frame display modes, the
black level needs to be lifted to dark tones or medium tones. Since
the filters in the glasses are dark the appearance of the lifting of
the black level is suppressed somewhat by the filters in the viewing
glasses, and therefore the lifting of the black level may be less
noticeable with the viewing glasses on.
Ghost masking may tend to be more incomplete for Anaglyph images since
the chrominance component might not be nulled for large bright areas
in the stereo images. There are some things you might try to do to
improve the effectiveness of the ghost masking when used with Anaglyph
images, such as moving far back to view the Anaglyph images at a
distance of more than four feet, adjusting the monitor's controls to
reduce the contrast and increase or decrease the monitor brightness to
the level that nulls the ghosts best, balancing the right and left
masking values to correspond to the leakage differences of the right
and left eye filters, improving the filters in the glasses by stacking
filters to make the ghosts less bright so smaller values of ghost mask
are required, adjusting the StereoGamma setting to flatten the image
tones, and keeping the stereoscopic disparity small to help in
reducing the size of the color fringes.
Eyes tend lose the ability to differentiate color in details if they
are very small and surrounded by another color. So when the ghost of
a red wire-frame line is viewed through the green filter with a dim
cyan mask image around the ghost, and the monitor contrast is reduced
and brightness tweaked to balance the apparent brightness of the ghost
and the mask, the ability to see the dim red ghost surrounded by the
cyan mask tends to decrease the further you get back from the monitor.
Greatly reducing the brightness of the image and viewing in a darkened
room may reduce the perceived color from Anaglyph images since our
eyes cannot see much color in very dim light. Viewing the images very
dim may help reduce the color contrast between the masks and the
images.
The Ghost masking may be more utilitarian when used with shutter
glasses. The LCM electro-optical filter elements in shutter glasses
may have uneven peak density across their filter area, so no
particular value for the Ghost masks may be somewhat effective for
looking through all portions of the LCM shutter filter elements, that
is when you look through different parts of the shutter filter the
ghosts may change brightness. If you move farther from the monitor
you may be better able to view the whole monitor screen through a
small "sweet spot" in the LCM shutter filters, if there is one. Also
the LCM shutter filter for the right eye may have a different peak
density than the LCM shutter filter for the left eye, giving rise to
incomplete nulling for one of the two eyes if the same value is used
for both RightMask and LeftMask, hence the need for the ability to
enter separate masking values for the two filters.
Ghost masks may in some cases seem to reduce the subjective
assertiveness of some ghosts, but the strength of the mask used may
need to be adjusted for best effect with a particular image, stereo
mode, and vertical refresh rate used. So masked images may not look
the same when viewed on other computers or with other shutter glasses.
Also the monitor brightness and contrast may need to be adjusted for
each image.
When using "Sync Double" stereo mode larger values for the RightMask
and LeftMask seem to be needed, perhaps because the higher vertical
refresh gives less time for the monitor's phosphors to decay, so
values of 0.20 to 0.40 or more may be needed. When using "Interlace"
stereo mode on the shutter glasses controller with the video board in
interlace mode at higher resolutions values from 0.10 to 0.30 might
seem satisfactory. When using "Line Blank" with the video board in
non interlace mode values around 0.15 to 0.35 might seem close to a
good fit. Larger values may need to be used for higher vertical
refresh Hz rates.
Because the ghost mask and image to mask are on different scan lines
in field sequential images displayed for use with shutter glasses the
ghost mask may not register or fit exactly over the image being
masked. The misregistration might be caused by jitter in the
monitor's sync circuits, jitter in the sync triggering of the shutter
glasses controller, timing errors during "Sync Double", movement of
the viewers eyes, interlacing, or similar issues. When the mask and
image are not on top of each other at the same time small fringes
around the ghost may be visible. Moving farther back from the monitor
may make the ghost fringes and other misregistration artifacts less
visible.
When using "Sync Double" stereo mode be sure that you adjust the
"SyncAdjust" and "SyncTweak" as best you can to try to get the right
and left images superimposed or the ghost and mask may not have their
images aligned well.
LeftMask:
Since the filters in the stereoscopic viewing glasses may not be
balanced and may give ghost images of different brightness each eye
has its own ghost mask setting value, RightMask for the right eye, and
LeftMask for the left eye. Imbalance of the ghost images is probably
more of an issue with Anaglyph glasses than with Liquid Crystal
Shutter glasses, a.k.a. LCS glasses. The setting of the monitor
"drive", "gain", and "screen" controls for the red, green, and blue
electron guns may effect the "black level" and "white level" of the
three colors, and make their brightness relationship on the screen
"drift" or "cross over" when the brightness or contrast controls on
the monitor are adjusted. To get the mask images to null optimally
may require making adjustments to the brightness and contrast controls
on the monitor, stacking filters on the glasses, and or in some cases
perhaps having the monitor's internal controls adjusted by qualified
service personal to rebalance the three colors. The three electron
guns should generally be adjusted to keep the relative brightness and
contrast of the red, green, and blue, images constant when the monitor
contrast and brightness controls are adjusted over their entire range,
and the brightness control should be able to bring the black level
above black. If the monitor's colors do not track as needed, that may
exacerbate the problem of finding a single setting of the monitor's
contrast and brightness controls that may help null the ghosts in both
eyes at the same time.
StereoGamma:
When the stereo images are viewed through dark filters, or the monitor
brightness is reduced it may be hard to see details in the darker
areas of the images, applying gamma correction to the stereo images
might be used to lighten the shadow areas to make viewing better.
Doing gamma correction to alter the image contrast may make the ghost
masking more effective for some source images, or monitor types. When
StereoGamma is 1.0 no change is made, when StereoGamma is greater than
one the shadow areas are lightened, and when StereoGamma is less than
one the shadow areas are darkened. A value of around 1.4 may be
helpful.
Zshift:
The Zshift value might be used to make the displayed objects appear to
be closer to the viewer or further from the viewer. When Zshift is
zero the workspace center is about even with the plane of the screen.
When Zshift is less than 0 the rotation point for EyeRot is
effectively moved forward, so elements centered around the workspace
center would appear to be farther back or inside the monitor. When
Zshift is greater than 0 the rotation point for EyeRot is effectively
moved backward, so elements centered around the workspace center would
appear nearer to the viewer or in front of the monitor screen.
Depending on your vision, being near or far sighted and such, it may
be easier for you to fuse the stereoscopic images if they appear
nearer or farther away. Zshift interacts with EyeRot and EyeOff so
those values may need to be adjusted when you make changes to Zshift.
Zshift is normalized relative to the display scale in order to have it
have a relatively constant effect regardless of the perspective
display scale, otherwise every time you changed the display scale to
make the image a little larger or smaller you would need to change the
Zshift value as well, you may still need to make small adjustments
sometimes though. Exaggerating the perspective by setting the
Perspective Z vanishing point distance, a.k.a. zvp, value to a small
value relative to the depth of the elements being displayed may cause
distortions in the stereoscopic disparity, particularly at larger
values for the stereoscopic values, so you may need to increase the
zvp to reduce such distortions. The EyeRot value should not be 0 when
Zshift is not zero, generally. Typical values for Zshift might range
from -50 to +100 or so.
SXshift:
This Stereo X shift works somewhat like the Zshift value, but through
a mechanism more like the X shift perspective display value. The
Zshift value moves the rotation point used with EyeRot, which converts
into increased or decreased stereoscopic disparity for the foreground
or background. This Stereo X shift slides the two stereo images in
opposite directions, which has the effect of moving the point your
eyes converge on when viewing the images move to or away from you. A
value of 0 makes no change. Values larger than 0 slide the images so
that the right eye view moves left and the left eye view moves right,
making you more cross eyed than you are just looking at the screen
plane, putting the image between the screen and your eyes. Values
smaller than 0 slide the images so that the right eye view moves right
and the left eye view moves left, making you less cross eyed than you
are just looking at the screen plane, putting the image inside or
behind the monitor's screen. These values are normalized for a
display scale of 240, and so scale to the screen's with being about 8
units. You do not want to move the right eye image more than about 1
inch to the right on the screen, so negative values would be limited
to about -0.8 or so, positive values would be limited to how far the
images can spread before they fall off the sides of the screen,
perhaps +1.0 to +2.0 or so.
EyeRot:
The EyeRot value is the apparent Y axis rotation deviation from the
rotation entered with the DISPLAY command for each eye, the left eye
view rotates the elements so that more of the left side is visible,
and the right eye view rotates the elements so that more of the right
side is visible. The EyeOff value simulates the parallax obtained by
moving ones viewpoint to the left and right from the center of the
image. Typical values for EyeRot would range from 0.2 to 0.4 degrees
for rotation to the right and to the left, i.e. this is the half angle
of the rotated element not the triangle formed by both eyes. The
amount of stereo rotation used should be limited in order to keep the
maximum disparity of the near and far points on the elements being
displayed to about a quarter of an inch on the monitor screen.
Smaller amounts of disparity should be used for Anaglyph images since
the larger the disparity is the more difficult it might be to fuse the
two images when ghosting is present.
EyeOff:
When EyeOff is used the element is offset to the left or right and
then the X shift is used to re-center the element's image so that the
center of the workspace stays near the screen plane. Keeping the
workspace center near the screen plane might help reduce the
stereoscopic disparity and thereby perhaps help to make the viewing of
the 3D stereoscopic combined image less of a strain on the eyes, since
when there is less stereoscopic disparity the eyes are focused and
converged close to the screen plane. For convenience the EyeOff value
is normalized for a display scale of 240, and the value entered stays
about the same for any display scale entered, unlike the viewer
distance value used with the DISPLAY command and the main menu Preview
command. Normalizing the EyeOff value helps to eliminate the need for
using a different value for each different display scale used to
generate the perspective view. Typical values for EyeOff would be
about 0.1 to 0.2 units depending on the depth of the elements being
displayed. You might want to keep the maximum disparity of the near
and far parts of the elements to no more than one quarter of an inch
on the monitor screen. Smaller amounts of disparity might be used for
Anaglyph images since the larger the disparity is the more difficult
it is to fuse the two images when ghosting is present. You may want
to reduce the EyeOff value when positive values for Zshift or SXshift
are used, particularly larger values.
After the STEREO command is used with the DISPLAY command the DISPLAY
command reverts to monoscopic display mode, i.e. FormatCode 0. So
each time you want to make a stereoscopic image you need to put the
STEREO macro command before the DISPLAY command.
In the initial release of v2.7H when a stereoscopic image is generated
for display on the screen three BMP files are generated and left on
the disk in case you want to use them, in that way you can avoid
having to regenerate the images for some applications, which could
save several days of computing for complex images. Another reason for
saving the temporary image files is that when you are displaying on
screen with the 15 bpp or 16 bpp VESA SVGA video modes and save the
screen image as a BMP file the BMP file will not look as good as it
would have if you saved it as a BMP file with 24 bpp color resolution.
To get around this short coming of using the 15 and 16 bpp VESA modes,
the image is generated as a 24 bpp BMP file then dithered further when
loaded into the screen as a 15 or 16 bpp image. If you like what you
see on the screen you can rename the temporary file named DANS0000.BMP
in the program's directory and have a 24 bpp version of what is
displayed on screen in 15 or 16 bpp VESA mode. If you save the on
screen image as a BMP file you would get a 24 bpp BMP file converted
from the on screen 15 or 16 bpp image which would not look as good.
If you want the original separate images for the right and left eye
views to make right and left eye slides or for special processing with
the UTILITY BMP_TO_BMP commands you can rename the files named
DANR0000.BMP and DANL0000.BMP to keep the right and left eye images
that were used to be combined into the last DANS0000.BMP image. If
you are using the BMP graphics mode to make a BMP file the combined
stereoscopic image will not go to DANS0000.BMP, it will go to the
output filename specified in the on disk variable B24NAME_.VAR and
file DANS0000.BMP will contain some older stereoscopic image. If you
want to save the temporary BMP files for future use be sure that you
do so before calling the STEREO and DISPLAY commands again, since the
previous images will be overwritten and lost. When using the 15 and
16 bpp VESA video modes for making stereoscopic images the dithering
values get altered internally in order to save the temporary BMP files
with the correct dithering for being 24 bpp, so the dithering value
you enter is not used in the normal way. The dithering value entered
is used for VESA 24 and 32 bpp video modes and for the BMP video mode,
but you would always enter a dithering value of 4 normally for those
video modes.
FormatCodes 1 and 2 were added after the initial release of v2.7H so
that the eye views could be displayed separately such that the ghost
mask could also be included. See the notes about these changes in
Section: 3.3.7.8.
When you want to include a stereoscopic background image you need to
do some special things with the background image file. If the last
letter of the background image filename coded is an letter S, and a
stereoscopic FormatCode other than 0 is also entered, the program then
replaces the S with R in the background filename when making the Right
eye view image, and replaces the S with a L when making the Left eye
view image. If you want the same BMP file loaded as the background
image in both the Right and Left eye images then the last letter
should not be a letter S, and should be a letter M, although any other
letter than S may work in present revisions, in the future M may be
required. The letter S just before the period in the BMP background
filename keys stereoscopic background mode, the letter M just before
the period in the filename keys monoscopic background mode. The
filename coded with the last letter being S does not exist on the
disk, and will not appear in the file directory, you would need to
look for the filename ending with R or L since those are the names you
would save the stereoscopic background images under.
Thusly:
Code C:\MYDIR\MYBACK1S.BMP
then C:\MYDIR\MYBACK1R.BMP is loaded for the Right eye view background,
and C:\MYDIR\MYBACK1L.BMP is loaded for the Left eye view background.
Code C:\MYDIR\MYBACK1M.BMP
then C:\MYDIR\MYBACK1M.BMP is loaded for the Right eye view background,
and C:\MYDIR\MYBACK1M.BMP is loaded for the Left eye view background.
This way of keying the background image name lets the program use just
the usual one filename string variable, i.e. B24BACK_.VAR, with both
stereo and non-stereo display modes, and lets you pick the use of a
stereoscopic or monoscopic background image.
To make the two stereoscopic background images with DANCAD3D.COM (tm)
you can use the STEREO and DISPLAY macro commands to display the
background elements with the same settings and FormatCode that the
rest of the elements will be displayed with. After a combined
stereoscopic image is made you just copy the temporary eye image files
the program leaves on the disk, so that they can be used as the
background files later.
{ Example way to copy background image files }
FILES COPY DANR0000.BMP C:\MYDIR\MYBACK1R.BMP
FILES COPY DANL0000.BMP C:\MYDIR\MYBACK1L.BMP
When making stereo backgrounds be careful about the direction and
amount of disparity since the background must appear behind the
elements to have the elements display over the background, and the
direction and amount of disparity must be small enough to allow the
viewer to fuse the images easily. And be sure the display values are
the same when the background is used to make a rendering so that the
foreground and background will look like they go together.
HINT: See also the information in Section: 3.3.7.8 about
viewing stereoscopic images. See also the GRAPH_MODE and
DISPLAY macro commands. When you display a tool path
file as a stereoscopic image it may be best to use the
MUTATE command to convert the tool path line segments
into 3D triangle elements so the the "lines" in the tool
path will be sorted by depth, i.e. only triangle
elements get sorted by depth. Having the tool path
"lines" sorted by depth may help in discerning some
features.
PURPOSE: To STOP a running macro and return to the main menu.
This command is equivalent to pressing [Control] and [X]
while the macro is running, commands beyond STOP are
skipped and the main menu will come back up. This and
related macro command HALT have been revised in v2.7A so
information below applies to v2.7A.
MAIN MENU: [R] ... ^[X]
KEYWORD: STOP
PARAMETERS: NA
TYPE: NA
FORMAT: STOP
EXAMPLE: :DO_OVER
LET |E = 0
ECHO ENTER ELEMENT TO ROTATE OR -1 TO END %%
INPUT |E
IF |E > -1 THEN GOTO :CONTINUE
STOP
:CONTINUE
LET |ELEMENTS -> ELEMENTS
IF |E > |ELEMENTS THEN GOTO :DO_OVER
# |E ROTATE C |X |Y |Z
HINT: Use STOP when debugging to stop the macro, at the bottom
of the part of the macro you are working on, so that you
can use [P]review from the main menu to see what you
have been making in the workspace up to the point where
you put the STOP command into your macro file. See also
REMARK commands ; and { } as well as TRACE and OUTPUT.
Use the WAIT command when you just want the macro to
pause until the [Return] key is pressed. When you use
the STOP command the contents of the workspace are
preserved and can be examined with [P]review, [D]raw,
and [N]umeric [L]isting from the main menu. If you wish
to back up the workspace before using the STOP command
then use the SAVE ELEMENTS command. The STOP command
works about like what happens when you press the [Ctrl]
& [X] keys while the macro is running. See also the
DELAY, HALT, and WAIT commands. The HALT macro command
should be used to end a macro when the macro is being
called from a DOS batch file and you want the batch file
to continue after the macro by having DANCAD3D.COM (tm)
automatically quit back to the batch file. When you
want the macro to pause for a fixed time then continue
on its own, use the DELAY macro command.
PURPOSE: The STRIP command removes comments from a macro file to
make the file take less disk space, and possibly run
faster. New for v2.7A.
MAIN MENU: [F] [U] [M] [S]
KEYWORD: STRIP
PARAMETERS: 1
TYPE: f......... filename of macro to strip.
FORMAT: STRIP f
EXAMPLE: STRIP MYMACRO.MAC
NOTE: Be sure to backup the file before you strip it since
code areas commented out temporally will be lost, as
will parts of the macro where comments where not
properly entered. The FILES COPY macro command might be
used to make the back-up copy of your macro.
HINT: See also the REMARK, FILES COPY, CHECK_SUM, and
EXPORTFILE macro commands.
PURPOSE: The STROKE_PITCH command lets you change the thick line
stroke pitch from inside a macro file to compensate for
the output resolution. See also the Drawing editor's
Setup sub-menu Stroke pitch command to do the same thing
from a menu command. New for v3.7N.
MAIN MENU: [D] [S] [S]
KEYWORD: STROKE_PITCH
PARAMETERS: 1
TYPE: r......... value for stroke pitch in dpi, default 300.
FORMAT: STROKE r
EXAMPLE: STROKE_PITCH 300
NOTE: The World scale also regulates the look of thickened
lines so be sure it is set to a valid value for the
output you wish to make. You can use this also to
adjust the stroke pitch for tool paths to compensate for
the wide tool not needing so many strokes.
HINT: See also the WORLD_SCALE, DISPLAY, JET, and DOT macro
commands.
PURPOSE: To make an element slant like a parallelogram. SLOPE
acts on the currently selected element. This command is
not used very much, but can be used to adjust the italic
angle in italic text, or for some special effects.
MAIN MENU: [D] [?...] [3] [S]
KEYWORD: SLOPE
PARAMETERS: 3
TYPE: w......... Axis to do slope to: X or Y or Z.
w......... Axis to use as reference for slope.
r......... Degree of slope, -100 to 0 to +100.
Try values of slope from -.5 to .5 to start.
FORMAT: SLOPE w w r
EXAMPLE: # 3 SLOPE X Y 1.5
HINT: This is a special purpose command. If you want to alter
the italic angle of some text you can use this command.
It might also be interesting for making grass and trees
sway in the "wind", or simulating the effect of
earthquakes. You can also impart a kind of pantograph
motion to cylinders and make objects look like they are
made of a pile of very thin teflon sheets being pushed
around. Using slope on a block of text might make an
attractive graphic arts effect. Using an inverse italic
factor for the block of text might make unusual "stair
case" columns of text after they are sloped.