Copyright (C) 1986-2009 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 23 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."
This section has text mostly about revisions to a "Beta Test" version v3.7 of my programs, and might be looked to for updated information relating to changes from v2.7, regarding some of the revised or added program features. There may be changes made in versions subsequent to the revisions of version of v3.7 that alter what is described in this section as it applies to that subsequent version. See also any other documentation files, and pages in this Web site (HTML document) for additional and or any more recent information.
The HTML documentation in this SECTION: 3.3.7.33 was derived from the text in the file INFOV37M.TXT that is, or was at one time, included in my *.ZIP file archive DANCAD16.ZIP (tm). You may find the current revision of DANCAD16.ZIP (tm) to download by going to SECTION: 9.70.61.0. My file DANCAD16.ZIP (tm) may also archive some other types of files like the ones described in this section, so check the current *.ZIP file in its current revision to see what exactly might be in it.
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.
My current file DANCAD16.ZIP (tm) is a *.ZIP file that holds a current "Beta Test" version of my programs and associated files for "Beta Testing." This section refers to the preliminary revision of the CAD programs v3.7M version, and the preliminary revision of the CAM programs v3.75 version, look for other sections or documentation relating to any subsequent revisions.
The use and copying of these programs and files are governed by my current Terms of Use and End User License Agreement ("EULA") which are located in SECTION: 0 of this "Beta Test" Web site. You must read and fully agree to be legally bound by the current End User License Agreement ("EULA") before you use or "Beta Test" any of the files in my file DANCAD16.ZIP (tm). If you are unable to read and agree to the current End User License Agreement ("EULA") do not use or "Beta Test" any of the files in my program distribution, the DANCAD16.ZIP (tm) archive file.
Be sure that you scan the programs and files in my DANCAD16.ZIP (tm) for virus or other contamination since you are responsible for checking them before you use them. These programs and this information are made available "AS-IS" and are without warranty of any kind express, expressed, or implied. Since these programs are "Beta Test" you must agree to become a "Beta Tester" before you make any use of them, see the End User License Agreement ("EULA") in this "Beta Test" Web site for more information. Be sure to read the current instructions in this "Beta Test" Web site regarding procedures for reporting program bugs and other such problems.
On some systems the *.ASC data files, or *.MAC macro files, may be able to be renamed *.TXT to avoid certain kinds of file type misinterpretation by text editor type programs and such. Thank you for helping test these "Beta Test" CAD and CAM programs.
A *.TXT file version, similar to some of the text in this Section, may be included in the v3.7M and v3.75 revision of my DANCAD16.ZIP (tm) distribution archive file (see the "downloads" SECTION: 9 of this "Beta Test" Web site). See the text in any files like README.*, FILES*.TXT, and INFOV37*.TXT stored in my current DANCAD16.ZIP (tm). You should check for the current types of document files because they may be more up-to-date than this *.HTM file, or it is possible that this HTML file could be more up to date, depending on which one got worked on last.
Below is text from file INFOV37M.TXT that was written to be included in a preliminary revision of version of v3.7M of my DANCAD16.ZIP (tm) distribution for preliminary information about changes in version v3.7M of the programs. You should read this information before you try to use or "Beta Test" the revised programs. This information is in addition to the previous documentation, i.e. a supplement to, and does not go into detail about many of the previously documented features, so you should therefore review the other sections and documentation as well.
The text of INFOV37M.TXT was derived from some notes I made to myself as I worked on the code for v3.7M, so you should check this document, and the other documentation, against the programs before you do any "serious" testing of the programs since there may be some differences between the descriptions here and the current state of development of commands and features in the programs. Please report any discrepancies between the documentation and the programs or files that you find. Some of the text from this section may have been incorporated into the other sections of this Web site, in doing that some of the text may have been further revised, and so may contain additional information, therefore after reading through all of this section you should also read through all of the other portions of this Web site, even those portions that might seem to be duplicates.
I have kept this preliminary information in one long file so that you can use the "find in page" feature of your HTML browser to search for a keyword relating to some new command or feature you are looking for more information about, otherwise you might have to search through more files.
See also the This Section and About DANCAD16.ZIP (tm) sub-sections above, as well as SECTION: 3.3.7.30, SECTION: 9.70.0.0, and SECTION: 9.70.61.0 for more information about v3.7.
DOCUMENT: INFOV37M.TXT
Copyright (C) 2005 by Daniel H. Hudgins, All Rights Reserved.
Terms of use: This "Beta Test" document may only be used in accord and within
the limitations imposed by the current End User License Agreement "EULA" posted
at the author's Web site www.DANCAD3D.com (sm) in file S0000000.HTM, any other
use or copying is prohibited. This document is provided "AS IS" without
warranty of any kind express, expressed, or implied. Mistakes, errors, and
omissions should be reported according to the instructions in SECTION: 8 of the
current "On-Line" version of my Web site www.DANCAD3D.com (sm).
This preliminary document may have some brief descriptions of changes made to
my CAD or CAM programs DANCAD3D.EXE (tm), DANCAD87.EXE (tm), DANCAM.EXE (tm),
and DANPLOT.EXE (tm) relating to the "Beta Test" release of v3.7. This file is
meant to be included in the initial "Beta Test" v3.7 distribution to help long
time users acquaint themselves with some of the many changes that have been
made to the programs. If you are not a long time user you will most probably
need to read all of the text located at my "Beta Test" Web site
www.DANCAD3D.com (sm) before you read this document in order to make practical
use of it. This document is not a complete list of changes made to the
programs, and may not reflect the operation of the version of the program
accompanying it in all respects. The programs may be still undergoing change,
so the results obtained from any of the commands may be different than
expected, and the operation of older commands may have changed as well. Since
so many changes have been made to the programs you should not expect any of the
commands to operate as you have used them in the past, and you should
frequently back-up and save what you are working on so that you do not lose
everything when the program crashes. All specifications, descriptions, and
instructions are subject to change without notice.
Be sure to see also the text from files INFOV27*.TXT, *.TXT, *.BAT, *.DOC,
*.HTM, and any other newer INFOV37*.TXT information that is at www.DANCAD3D.com
(sm).
I would like to thank the thousands of users of my programs who have helped
"Beta Test" the many revisions of my programs since about 1986, I hope you will
enjoy checking out some of the newer program features that I have spent so many
years working on. Best wishes for success in your projects.
---
NOTES FROM RELEASE OF THE V3.7M CAD PROGRAMS, NOVEMBER 2005
If you have not already read INFOV37J.TXT, INFOV37K.TXT and INFOV37L.TXT please
do that before installing and beginning "Beta-Testing" the new v3.7M of the CAD
programs, since it goes over some of the changes from v2.7 to v3.7 that you
should be aware of. Text from INFOV37J.TXT, INFOV37K.TXT and INFOV37L.TXT
should be in SECTION: 3.3.7.30, 3.3.7.31, and 3.3.7.32 at www.DANCAD3D.com
(sm). You should also review the update and info documentation relating to
v2.7 and updating from v2.6 if you have been using an older version or to
familiarize yourself with the changes that have been going on.
The major changes from v3.7L to v3.7M are: the addition of menu and macro
commands to load and save *.WAV type wave files.
The menu LOAD WAV command is in the Files Load Industry WAV command from the
CAD programs' Main Menus. The LOAD WAV command in the initial release of v3.7M
will only read 8, 16, and 32 Bit per Sample WAV files that have a "standard"
header of 44 bytes of "The Canonical WAVE file format" type. If your WAV file
has additional unneeded information in it you may be able to load it into
another sound program and save the wave data to another WAV file without the
unneeded information. If the file does not conform to the 44 byte header plus
data format and error may be generated and the data most likely will not load.
The WAV file's wave data is converted into a drawing element made of line
segments. The second point of each line segment represents one sample from the
WAV file's data, the first point of each line segment can be assigned in
different ways by the LOAD WAV mode selected, see the menu listing the modes
when you use the command. It is important to note that the first point in a
chain of line segments would not be a wave data point since the wave data is
held in the second point of line segments, therefore you may need to make the
first line segment in a chain of line segments a dot so that a second point is
on the same spot as the first point, giving you two first points (from the
first and second line segments) and one second point (from the first line
segment) on the first spot for the first wave sample data point.
If the WAV file loaded is Stereo, Quad, or Multi-Track, the tracks are loaded
into separate drawing elements. The SAVE WAV command can save the track
elements back to a multi-track WAV file if the tracks are in elements with
consecutive numbers and all of the wave track elements have the same number of
line segments.
The default size of the wave tracks is about One unit peak-to-peak with a track
spacing of One unit. The default way the tracks load is for the first track to
start at the center of the workspace and go off to the right, with any
additional tracks starting at X=0 and going off to the right below the first
track. In v3.7M the maximum number of line segments is limited to about 50
million, and all of the track elements are in the same workspace, so the length
of the wave file that can be loaded is divided by the number of tracks. The
maximum number of tracks is limited by the number of elements in one workspace,
so only about 999 tracks can be loaded at once in v3.7M. These limits may
change in future versions, so check any subsequent documentation. Fifty
million samples for a WAV file recorded at 44100 Samples per Second gives a
Mono track length of about 18 minutes, or a Stereo track length of about 9
minutes. DANCAD87.EXE v3.7M has a somewhat smaller workspace due to the larger
data type used by the math co-processor, and the workspace will be smaller if
your disk space is limited, so your results may vary and descriptions are very
approximate.
The menu version of the SAVE WAV command is located in the Files Save Industry
WAV command. The SAVE WAV command works much like the LOAD WAV command. If
you wish to save individual tracks from several tracks loaded into the
workspace you can change the "initial channel offset" and select a number of
the channels to save to be fewer than the number of channel track elements in
the workspace. If the default settings are used track 1 will have an "initial
channel offset" of 0, track 2 will have an "initial channel offset" of 1, and
so on. The main restriction on using SAVE WAV is that multi-channel saves must
be done only when the wave elements are arranged in the workspace to have
consecutive element numbers, this is due to the way the command operates, you
select the wave element with the lowest number that you want to save, then tell
the command how many channels to save, the program then saves all of the
elements from the selected element up to the number of channels selected, for
example if there are 7 elements in the workspace and you select element 4 and
tell the program to save 2 channels it will make a WAV file with element 4 as
the first track and element 5 as the second track.
The left-right orientation and the X scale do not affect SAVE WAV mode 10 since
it just converts line segments second points into WAV samples. The Y axis
scale and Y axis channel offsets are very critical and must be set to proper
values to correspond to the location of the wave drawing elements in the
workspace.
Since the WAV sample data loaded is just another drawing element the various
drawing commands can be used to some extent to edit the WAV sample data in the
workspace. For instance, the Magnify command might be used to adjust the
volume by setting the Magnify center to the wave offset, or the Offset command
might be used to adjust the DC offset in wave data you shifting the wave
element up and down along the Y axis. The WINDOW, HOLE, or SPLIT commands
might be issued to chop up wave data into smaller parts.
In addition to processing wave data, you might use this feature to import wave
data into drawings. The formatted wave data in your drawing might then be
exported as a BMP file for display in a document or converted to a JPG file for
display on the Web and such. Wave data outside the audio spectrum might be
stored and time shifted to be converted into a WAV file so that it can be
loaded into a drawing by means of the LOAD WAV command, this might have
application with weather data, seismic data, radio astronomy, and other sorts
of electronic sampling and D2A conversion. You might also generate WAV files
from software algorithms or through conversion of statistical data and
simulations.
DANCAD3D.EXE (tm)'s Macro commands can be used to generate wave elements to
save with the SAVE WAV command to generate electronic music and sound effects.
See the ENTER and APPEND macro commands. You could also draw wave patterns and
use the FIT CURVE command to smooth them out to make wave files.
---
NEW MACRO COMMANDS
Two new Macro command have been added to v3.7M, the LOAD WAV command and the
SAVE WAV command. See also the discussion of the menu version of these new
commands above.
The LOAD WAV command loads tracks from a WAV file as drawing elements into the
drawing workspace. The sample data is stored in the Y2 data, so the Y1 position
can be used to change the appearance of the wave as displayed. Only un-
compressed WAV data can be loaded in v3.7M.
LOAD WAV mode init_ch_off ch_off X_scale Y_scale filename
WHERE:
Mode: 10 = Wave loaded as chain of line segments.
20 = Wave loaded as bars from center.
21 = Wave loaded as bars from min.
22 = Wave loaded as bars from max.
30 = Wave loaded as dots.
init_ch_off = real -1E18 to +1E18 initial channel Y axis offset.
Default value is 0. Can be used to position tracks for
loading when track will later be saved as part of a multi
track WAV file. Must be set to the Y axis center for the
track position in the drawing workspace.
ch_off = real -1E18 to +1E18 channel Y axis offset.
For when more than one track is loaded.
If file is Mono set this to default value.
Default value is 1 unit.
X_scale = real -1E18 to 1E18 scale for X axis.
Default value is 1 for spacing of 1/100 unit per sample.
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.
filename = Path and Filename for *.WAV type file with 44 byte header.
File must be 8, 16, or 32 bits per sample, and not too long to
fit into the free space in the drawing workspace.
The SAVE WAV command saves track channel elements from the drawing workspace to
a WAV file. The sample data stored in the line segment Y2 data is converted
into wave sample data in the *.WAV file produced. The WAV data is save un-
compressed.
# n SAVE WAV mode channels init_ch_off ch_off Y_scale bits samples filename
WHERE:
n = Selected element for first track to save. 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.
Mode: 10 = Convert each line segments Y2 data into a WAV sample.
channels = 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.
init_ch_off = 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.
ch_off = 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.
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.
bits = 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.
samples = 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.
filename = Path and Filename of *.WAV type file to make.
Here is an example macro WAV_EX01.MAC that makes an example WAV file named
WAV_EX01.WAV. You can try running this macro in DANCAD3D.EXE (tm) or
DANCAD87.EXE (tm) v3.7M to generate the WAV file to see if you can load it into
your sound playing software that came with your sound board, or some other
sound editing program. This macro makes two drawing elements of dots for the
wave samples, then saves them to a stereo WAV file. You can edit the value for
the samples per second from 6000 to other values to change the pitch on play
back. Changing the other values or editing the macro code can produce other
sounds. The sample is flipped and joined to double its length, which may make
a click in the center unless the junction is adjusted to cross zero there.
VERSION v3.7M
GOTO :STARTUP
:RETSTART
INIT
LET |X2 = 0
LET |X3 = 0
LET |X4 = 0
LET |Y2 = 0
LET |YR = 0
LET |YL = 0
LET |VR = 1
LET |VL = 1
BEGIN
:LABEL01
LET |YR = [ ( SIN( |X2 ) + COS( |X3 * 1.01 ) + SIN( |X4 / 1.05 ) ) / 6 ]
{ LET |YL = [ ( COS( |X2 ) + SIN( |X3 / 1.03 ) + COS( |X4 * 1.02 ) ) / 6 ] }
LET |X2 = [ |X2 + 0.200 ]
LET |X3 = [ |X3 + 0.205 ]
LET |X4 = [ |X4 + 0.212 ]
{ LET |VR = [ |VR ] }
{ LET |VL = [ |VL ] }
LET |Y0 = [ |YR * |VR ]
LET |X0 = |X2
APPEND |X0 |Y0 0 |X0 |Y0 0 15 1 0 0
LOCATE 10 10 OUTPUT |X0
IF |X2 < 4410 then goto :LABEL01
# 1 COPY
# 2 REVERSE
# 2 FLIP Z Y
JOIN 1 2
{ --- }
LET |X2 = 0
LET |X3 = 0
LET |X4 = 0
LET |Y2 = 0
LET |YR = 0
LET |YL = 0
LET |VR = 1
LET |VL = 1
BEGIN
:LABEL02
{ LET |YR = [ ( SIN( |X2 ) + COS( |X3 * 1.01 ) + SIN( |X4 / 1.05 ) ) / 6 ] }
LET |YL = [ ( COS( |X2 ) + SIN( |X3 / 1.03 ) + COS( |X4 * 1.02 ) ) / 6 ]
LET |X2 = [ |X2 + 0.200 ]
LET |X3 = [ |X3 + 0.205 ]
LET |X4 = [ |X4 + 0.212 ]
{ LET |VR = [ |VR ] }
{ LET |VL = [ |VL ] }
LET |Y0 = [ ( |YL * |VL ) + 1 ]
LET |X0 = |X2
APPEND |X0 |Y0 0 |X0 |Y0 0 15 1 0 0
LOCATE 10 11 OUTPUT |X0
IF |X2 < 4410 then goto :LABEL02
# 2 COPY
# 3 REVERSE
# 3 CENTER 0 1 0
# 3 FLIP C Y
JOIN 2 3
# 1 SAVE WAV 10 2 0 1 1 16 6000 WAV_EX01.WAV
{
LOAD WAV 10 0 1 1 1 WAV_EX01.WAV
}
STOP
:STARTUP
TEXT
LOCATE 1 1 OUTPUT$ "WAV_EX01.MAC Copyright (c) 2005 DAN HUDGINS example sound generation macro."
LOCATE 1 2 OUTPUT$ "Play the WAV_EX01.WAV file saved to hear the sound generated."
LOCATE 1 3 OUTPUT$ "Edit the values in this macro to make different sounds."
LOCATE 1 4 OUTPUT$ "If there is not enough space in the workspace, shorten the waves."
LOCATE 1 6 OUTPUT$ "The counters will both count up to 4410 before the WAV file is saved."
LOCATE 1 10 OUTPUT$ "Right X0="
LOCATE 1 11 OUTPUT$ "Left X0="
INIT
GOTO :RETSTART
; END WAV_EX01.MAC
This macro may be included in DANCAD16.ZIP (tm) along with v3.7M of the CAD
programs.
---
ADDITIONAL INFORMATION
Please visit my Web site On-Line at: http://www.DANCAD3D.com/ for additional
information. Please report bugs, mistakes, or other problems with this
document or the programs, see SECTION: 8 at the current On-Line version of my
Web site for current instructions.