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 the "Beta Test" versions v2.7A and some revisions of v2.7B of my CAD and CAM programs, and might be looked to for updated information relating to changes from v2.5 or v2.6 of some of the program features. There have been changes made in versions subsequent to the preliminary versions of v2.7A or v2.71 that probably alter what is described in this section as it applies in some regards to that subsequent version. See also any other documentation files, and pages in this Web site (HTML document) for additional and or more recent information.
The information in this section is no longer intended for use with v2.7A since that version is out of date and no longer available, rather this information has been preserved so that persons who have been using out of date or discontinued versions could have a "stepping stone" to make their way to familiarity with how the programs have progressed. Some notes have been added here relating to changes that where made to features revised in v2.7C, but some of the features described here may no longer is operating as described in the version or revision you have. Be sure to see any newer documentation that may have been composed relating to any more recent revisions.
The HTML documentation in this SECTION: 3.3.7.1 was derived from the file UPDATE27.TXT file that was at one time, included in my *.ZIP file archive DANCAD3D.ZIP (tm). You may be able to download the current DANCAD3D.ZIP (tm) program distribution by going to SECTION: 9.70.51.0.
In a revision of v2.7C the UPDATE27.TXT file was replaced by a shorter INFOV27C.TXT file more focused on recent changes. In my file DANCAD3D.ZIP (tm) there may also be archived some other types of files like the ones described in this section, so check the *.ZIP file in its current revision to see what exactly is currently 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 program distribution file DANCAD3D.ZIP (tm) is a *.ZIP file that holds the current "Beta Test" versions of my programs and associated files for "Beta Testing." This section refers to some of the preliminary v2.7A and v2.7B version revisions of the programs, look for other sections or documentation relating to any subsequent revisions, since v2.7A and v2.7B are out of date and no longer available.
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 DANCAD3D.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 file the DANCAD3D.ZIP (tm) archive file.
Be sure that you scan the programs and files in my DANCAD3D.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.
Below is text extracted and revised somewhat from the original file UPDATE27.TXT that was written to be included in the preliminary versions of the v2.7A version and some revisions of v2.7B version of my DANCAD3D.ZIP (tm) for preliminary information about changes in the CAD and CAM 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 UPDATE27.TXT was derived from some notes I made to myself as I worked on the code for v2.7 over several years, 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 has been incorporated into the other sections of this Web site, in doing that some of the text was 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 many more files.
See also the This Section and About DANCAD3D.ZIP (tm) sub-sections above, as well as SECTION: 9.70.0.0 and SECTION: 9.70.51.0 for more information about any more current v2.7 revision.
Below is a preliminary partial list of some of the new things I worked on for several years after the release of v2.6C, all of these new or revised things may not work on your computer depending on your hardware and OS configuration, but this list should give you an idea of some of the features to look for in these revisions. Be sure to also see the information about changes made after the release of v2.7A.
New "BETA TEST" Features in DANCAD3D.COM (tm) v2.7A
Compatibility with faster CPU's such as PIII coppermine.
VGA and VESA SVGA 16 and 256 palette mode support on compatible boards.
VESA video display up to 1600 by 1200 resolution on compatible boards.
16 colors displayed in drawing editor on EGA and VGA boards.
Preview and drawing screen background color can be set on EGA or VGA.
Pixel file can be used as background in Preview command.
Hidden line displayed in drawing editor and Preview on all boards.
New display modes for Hidden line removal in Preview command.
Surface shading and adjustable light sources in Preview command.
Import of BMP files for 2D and 3D elements.
Export of BMP files for rendered 3D drawings with shading.
Convert BMP files to PIXEL or ASCII.
Convert PIXEL files to BMP or ASCII.
Convert JET page files to BMP or ASCII.
Import or Export STL file sub-set (experimental command).
Thicken, Lathe, and other command modified for making hidden line elements.
Drawing editor works with "free" lines or triangles for hidden line.
Drawing editor has display options for viewing hidden line elements.
Mouse interface altered for "compatibility" under Win95 (tm) (you may need to use the alternative keyboard command for the mouse center button when running under Win95 (tm), but the right and left buttons should work.)
Imports some "G code" type CNC files, lines, arcs, and radius compensation. (radius compensation works on arcs and curves, so changes may need to be made in the source file to make use of this feature.)
Enter some "G codes" directly into drawing editor while drawing. The G code block you enter as text will produce new tool path lines on the drawing editor screen right after you enter the supported G codes.
Exports some "G code" type CNC files directly from drawing editor to make a "G" code file directly like the macro Output command (this only works with some commands since there are not G code commands for many of DANCAD3D's (tm) commands, you can still use the SAVE G command to save "any" tool path drawn with DANCAD3D (tm) to a G code file.)
Tracing commands for outlines of scanned or drawn elements.
Approximate tool radius compensation for traced outlines.
Tool radius compensation on irregular curve drawing elements.
New [H]idden sub-menu in drawing editor for hidden line elements.
New [N]C sub-menu in drawing for making CAM tool path elements.
Printing of hidden line elements on various printer and plotter types.
Delay timing automatically adjusted for faster computers.
Convert Raster to Vector and Vector to Raster in various modes.
Optimize plotting order for lines to be plotted.
Help screens revised.
Many new macro commands have been added.
The CAM programs also under went considerable revision and now may be able to achieve higher step rates and operate motors at higher speeds in some applications. The version numbers in v2.7 are composed with a letter after the 7 for the CAD programs, and a digit after the 7 for the CAM programs, e.g. v2.7A for CAD and v2.71 for CAM. You should include the full version code as well as the compile date and time for the *.COM or *.EXE program file in your bug reports.
New "BETA TEST" Features in DANCAM.EXE (tm) and DANPLOT.EXE (tm) v2.71
Compatibility with faster CPU's such as PIII coppermine.
Mouse support for menus.
File directory for file prompts, both local and on server.
Entered value storage and recall at value entry prompts.
Password protection for program start.
Multiple configuration files with different names possible.
Option for Encoder wheel for jog movement entry.
Built in computer network using serial port.
Plot from local file or from serial port to server.
Built in file server for network.
Computers on network have assignable ID codes.
Automatic digitizing scanning teach mode using probe.
Programs may work on computers faster than 133MHz now.
Option to slow step pulse output on fast computers.
Feed rates calculated by time and distance, inch/minute and such.
Display units adjustable to inch, metric, other, and user units.
Feed rate override adjustable while doing plotting command.
Feed rate table can be set-up for 127 different line colors.
Automatic Dwell can be triggered by line color.
Help screens revised.
CAM program *.OVR overlay file will load into memory above 640K if possible.
"Overdrive" ramping lets stepper motors operate in "Rapid" feed above their "pull-in" step rate, in some cases allowing faster point to point movements, if sufficient voltage is available, than were obtainable with v2.6.
Linear feed rate maximum RPM speed improved.
Programs can automatically shift between linear and rapid movement modes.
Self calibration command to automatically calibrate machine to feedrates selected in the feed rate table for time and distance.
Option for position trace screen while executing tool path.
Automatic tool path offset and repeat for multiple copies.
Canned tool cycles can be loaded in teach-jog menu.
Graphic display of tool path in teach mode.
Line colors displayed in graphic teach mode on EGA or VGA video.
Graphic background color and palette can be set in EGA or VGA modes.
Please report any disparity between the operation of the programs and the descriptions in this document, or other bugs and mistakes, see SECTION: 8 in the current On-Line Web site for current instructions.
Rather than distribute the programs on a set of floppy disks as I have in the past distributions of v2.7 will probably be distributed either as a *.ZIP file or as set of files in a directory on a CD-R disk. Since the programs need to write temporary files to the directory they are running in, you cannot run the programs until you copy them into a directory on your harddisk. The directory you copy the files into should be a special directory used just for my programs, and not for other programs.
Since v2.7 may still be undergoing development there may be more than one version or revision. Rather than copying the newer files over the older files, you should make a new sub- directory for each newer version or revision. You may want to keep an older version for a period while you check the newer version, since the newer version may not work as well as the older version for some task that you are testing.
You can use the DOS MD command to make a sub-directory to keep my programs in, I suggest that you name the sub-directory DC27, or DC2701, DC2702, DC2703 and so on if you need more than one copy to work on more than one project at a time.
EXAMPLE: C:\>MD C:\DC27
Then move or download the DANCAD3D.ZIP (tm) file into that sub-directory, and "expand" or "extract" the zipped files using your UN-ZIP utility program. If you do not have an UN-ZIP utility you can probably search for a free one on the Internet.
Once all of the program and associated files have been copied, extracted, or expanded into the DC27 directory, run the DOS batch file named INSTALL.BAT so that the many sub- directories will be set up for the programs to use, and the drivers and font files will be copied to the needed sub-directories. If any files are missing or misplaced the programs may not function, or give error messages.
When you run the programs the first time you will need to wait while they go through some self calibration. DO NOT COPY THE PROGRAMS FROM ONE COMPUTER TO ANOTHER AFTER THEY HAVE GONE THROUGH THEIR SELF CALIBRATION, since doing so would probably result in timing errors. If you need to install the programs on more than one computer do so only with the original files, and not the ones from after you have run the programs the first time!
If you upgrade your computer or make changes that would effect system speed, the programs should be deleted and reinstalled so that they will be properly adjusted to the new environment.
The CAM programs are DOS programs and have not been designed specifically for a multi-tasking environment. You should not have a TSR program, such as a clock display program, or any other program running in "background" while the CAM programs are operating. It is better if your computer would be booted with a DOS or re-booted with a "DOS 95" system disk before running the CAM programs. In order to run your harddisk under DOS your harddisk should probably have been formatted as DOS FAT, and divided into four 2.1GB partitions. Harddisks larger than 8.4GB may need to be formatted so that only 8.4GB of the total disk space are used, in order to be compatible with DOS 6.22. You must disable the "turbo" switch on your computer so that the computer speed cannot be changed after the programs have been run the first time. Do not run any programs at the same time as the CAM programs that use the Parallel port, Serial port, or Joy-stick ports.
The revised CAD programs v2.7 now seem to run under Win95 (tm) but you cannot run more than one copy at a time in the same sub-directory, and you should not run any programs in "background" that use any of the same hardware, such as the Parallel printer ports, or Serial ports. Each of the CAD programs might work best if they are the only program running on your computer. When the CAD programs are run under Win95 (tm) the mouse center button, i.e. on three button mice, will probably not work, so you will have to use the alternative keyboard command, such as the [Spacebar] in the Drawing editor, or [F1] in the Write command. When run under DOS with the appropriate DOS driver the mouse center button should work as it did in v2.6, unless you have forced the two button mouse mode with the new mouse configuration file.
The amount of free DOS memory should be as great as possible since the programs need almost all of the free DOS memory to operate. Unload any resident programs that use DOS memory that you can.
The CAD programs will benefit from a fast harddisk, and a disk cashing program that uses memory above the DOS 640KB. The CAD programs may also be able to be copied to a RAM disk above the DOS 640KB by using the XCOPY command, if your system is a '286 or better. For using the hidden line display modes a PIII coppermine processor, or the equivalent, will be a better choice than slower processors.
Some SVGA cards may require an external VESA TSR driver since their internal video BIOS has bugs or does not support some of the VESA modes, if you cannot get the SVGA modes to work you might try an older SVGA video card that supported the VESA video standard. Some AGP video boards may not work under DOS, but I have some PCI VESA SVGA cards that work just fine without extra drivers. ISA SVGA VESA cards might work in newer computers that have an ISA slot if you take the PCI or AGP video out and or disable it.
Since these are "Beta Test" programs you should re-boot your computer after running them, before you run any other programs.
Look for any README.*, *.TXT, *.BAT, or such files, for additional instructions for any particular distribution.
If you have un-zipped my DANCAD3D.ZIP (tm) file, you should be able to use the DOS COPY command to copy any *.TXT files to your printer, e.g.
C:\DC27>COPY *.TXT PRN
If you have a serial printer you should be able to use the DOS MODE command to set the serial port before you use the COPY command, e.g.
C:\DC27>COPY *.TXT COM1 /B
If you are using WINDOWS 95 (tm) you may be able to load the *.TXT file, file into WORDPAD.EXE (tm) or INTERNET EXPLORER (tm) and use the print command in those programs to print out the file on your printer.
DANCAD87.COM (tm) is a special version of DANCAD3D.COM (tm) that uses the math co-processor. The use of the math co-processor can speed up some program operations, and slow down some others. In general DANCAD87.COM (tm) will run a little faster on some commands that do not use the disk much, and slower on commands that use the disk quite a bit.
I may have included a simple "bench mark" macro to get a rough idea of the speed difference between running on DANCAD3D.COM (tm) and DANCAD87.COM (tm), called 8087B1.MAC in DANCAD3D.ZIP (tm). The speed for this bench mark seems to go in the order fast to slow of: WINDOWS 95 (tm), DOS 6.22 using a RAM disk without SMARTDRV, DOS 6.22 using a harddisk with SMARTDRV with both the read and write cache on, DOS 6.22 using a harddisk with SMARTDRV with just the read cache on, and using a "DOS 95" floppy boot disk with a CONFIG.SYS to set BUFFERS=99. If you are running my CAD programs off a harddisk under DOS you should almost definitely use SMARTDRV or the equivalent to cache the harddisk. The video board type selected, program revision, WINDOWS 95 (tm) settings and modes, and the amount of free DOS 640KB memory that is free will also effect the program speed, so YOUR RESULTS MAY VARY FROM THOSE GIVEN HERE. By using a processor newer than a PIII coppermine you may find that my programs may not run faster, and might run just a little slower, at the same rated CPU clock speed, i.e. you might need a higher clock speed to get the same performance, so test the system yourself, if speed is important to you, before you purchase it.
Here are some preliminary very approximate speed checks using 8087B1.MAC: 12.8 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under WINDOWS 95 5400 HD. 22.7 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under WINDOWS 95 5400 HD. 20.4 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK no SMARTDRV. 25.4 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK no SMARTDRV. 21.9 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK w/SMARTDRV r/w+. 26.1 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK w/SMARTDRV r/w+. 23.7 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK w/SMARTDRV r+. 26.6 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 RAMDISK w/SMARTDRV r+. 36.7 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD SMARTDRV r/w+. 31.5 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD SMARTDRV r/w+. 40.6 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD SMARTDRV r+. 39.8 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD SMARTDRV r+. 197.6 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD no SMARTDRV. 58.7 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under DOS 6.22 7200 HD no SMARTDRV. 146.3 sec. DANCAD87.COM (tm) on 733MHz PIII coppermine under "DOS 95" BUFFERS=99 5400 HD. 118.2 sec. DANCAD3D.COM (tm) on 733MHz PIII coppermine under "DOS 95" BUFFERS=99 5400 HD. 33.2 sec. DANCAD87.COM (tm) on 500MHz PIII under DOS 6.22 RAMDISK w/SMARTDRV r+. 37.1 sec. DANCAD3D.COM (tm) on 500MHz PIII under DOS 6.22 RAMDISK w/SMARTDRV r+. 46.8 sec. DANCAD87.COM (tm) on 500MHz PIII under DOS 6.22 7200 HD SMARTDRV r+. 48.2 sec. DANCAD3D.COM (tm) on 500MHz PIII under DOS 6.22 7200 HD SMARTDRV r+. 177.5 sec. DANCAD87.COM (tm) on 500MHz PIII under "DOS 95" BUFFERS=99 5400 HD. 145.1 sec. DANCAD3D.COM (tm) on 500MHz PIII under "DOS 95" BUFFERS=99 5400 HD.
You can see how your computer compares to these 8087B1.MAC tests. Different tasks will be faster or slower depending on the ratio of CPU work or harddisk access is used. My CAM programs use a different overlay method than that used by the CAD programs, and so the results of bench marks on the CAD programs, will probably not say too much about the CAM programs results.
Most of the drawing data files created with DANCAD87.COM (tm) such as the *.2D and *.3D types are not compatible with DANCAD3D.COM (tm), because DANCAD87.COM uses a different internal numeric format. So, when you need to exchange drawing files between DANCAD3D.COM (tm) and DANCAD87.COM (tm) you should use the Files Save ASCII and Files Load ASCII commands only.
If you experience problems getting one of my other programs to read files saved in DANCAD87.COM (tm) try this fix,
Load the drawing into DANCAD87.COM (tm)'s workspace.
Use the Files Save ASCII command in DANCAD87.COM to save the element.
Use the Files Load ASCII command in DANCAD3D.COM (tm) to load the element into DANCAD3D.COM (tm)'s workspace.
Use the Files Save ASCII in DANCAD3D.COM (tm) to save the element back to your disk.
Try to load the *.ASC file you just saved into my other program that you had the problem with before.
Report the command in DANCAD87.COM (tm) that made the problem *.ASC file in the first place.
DANCAD87.COM (tm) will only work on computers that have a math co-processor installed, or that have a processor with a math co- processor built into it. If you have a "stripped down" processor that lacks the math co-processor you will not be able to use DANCAD87.COM (tm).
All of my programs other than DANCAD87.COM (tm) should now in their v2.7 revision run on any 8088 compatible processor from 4.7MHz to 733MHz, and may work up to 10GHz or faster, but has not been tested at those speeds yet.
Although my programs have been designed to operate under DOS 2.1 through 6.22, it may be possible to operate v2.7 under WINDOWS 95 (tm), or a computer booted with a "DOS 95" boot disk made from the DOS prompt in WINDOWS 95 (tm).
My CAD programs v2.7 seem to work well now under WINDOWS 95 (tm) since I made some changes to various things like the mouse auto detection. The three button mouse's center button may not work using the WINDOWS 95 (tm) mouse driver, but the alternative keyboard keys can be used in place of the mouse center button. You should probably not have any other programs running in background while my CAD programs are operating, but you may be able to go out to the windows "desk top" by pressing [Ctrl] and [Esc] while my CAD programs are running in non-SVGA modes, and then go back into the programs by clicking on the button "symbol" at the bottom of the "desk top" on the bar along the bottom of the screen. The CAD programs should be run in FULL SCREEN window mode since the mouse seems to work better that way. You should not use the printer port with any other programs while you are trying to print drawings from my programs.
If you are using the SVGA display modes, such as with the macro DISPLAY command or the main menu Preview command you should not use the Windows (tm) commands that let you "pop" out of the program to the desktop or another program since the screen may get messed up when you re-enter the program. Instead quit back to to a text mode screen, e.g. the main menu, and then "pop" out of the program. You may be able to "pop" out and back in in SVGA mode sometimes, but I do not recommend that you try to since the screen may get messed up, the program may look like it crashed, or the program may crash, possibly because Windows (tm) is not putting everything back the way it was before you popped out every time, or some other kind of compatibility issue.
I have made changes to v2.7 to fix problems that came up when older versions were run on computers faster than 133MHz. I have tested v2.7 on computers up to 733MHz PIII coppermine, and not found any serious problems with that computer speed. I think the programs should be good on computers up to 10GHz or faster, but have no way to test that at this time, so I cannot tell what might happen on computers that fast.
The CAM programs are not specifically designed to be used while windows is running in multi-tasking mode, but you might make a "DOS 95" floppy disk by exiting to the WINDOWS 95 (tm) DOS prompt, putting a blank floppy disk in your A: floppy drive, then enter the DOS commands:
C:>FORMAT A: /U /S
The system boot files will take up most of the floppy disk, but they are mostly all that is needed on that disk. I am still experimenting with what happens when my programs are run under WINDOWS 95 (tm), so be careful when attempting to try these ideas out yourself.
If you do not have a DOS icon, you can get to the DOS prompt by clicking on the [Start] "button" at the lower left of Windows 95 (tm), then select the [Run] option and enter the word COMMAND on the run prompt program name line, this should open a DOS window, that should let you enter DOS commands. My programs generally run best in "full screen" mode, which you can get by clicking on the icon at the top of the DOS window that has four arrows pointing out from its center, i.e. when the screen is not already in full screen mode.
Experimental procedures to run the CAM programs use these steps:
Make a "DOS 95" floppy disk. Add the DOS mouse driver and make your AUTOEXEC.BAT and CONFIG.SYS files. Try FILES=20 and BUFFERS=99. If you do not set up the mouse driver on the floppy (the driver files can be on the harddisk) in the floppies AUTOEXEC.BAT and or CONFIG.SYS the mouse will not work when you run the programs. When WINDOWS 95 (tm) boots normally it loads the mouse driver, but since you are not letting WINDOWS 95 (tm) boot normally you need to set up the loading of the mouse driver yourself. If you want the CD-ROM drive to work, e.g. to read tool path files off of a CD-R disk, you may need to add some drivers for the CD-ROM drive as well.
Shut down WINDOWS 95 (tm), so the computer turns off.
Turn your computer on, and press [Del] until the BIOS set-up comes up.
Set the set-up so that the computer will use the boot order floppy first.
Be sure the "DOS 95" floppy disk is in the floppy drive.
Save set-up and re-boot.
Use the DOS CD command to change to the directory my programs are installed in, e.g. CD C:\DC27 or wherever else they are.
Run the programs, and calibrate for this environment.
Reboot your computer before you run WINDOWS 95 (tm) in multi- tasking mode.
It might be theoretically possible to run the CAM programs in a window in multi-tasking mode on computers faster than 500MHz since window's "house keeping" will only be a small part of the computer's time, but those interruptions may interfere with some of the program's features such as the "overdrive" ramping probably causing the stepper motors to stall when the motors are run faster than their "pull in" speed. There may be some other problems with the auto calibration of the feed rates, the RPM test, and other parts of the program that are effected by interruptions. The small interruptions might also degrade surface finish to some extent. Windows (tm), or other, programs that run in background constantly should not be loaded while the CAM programs are running, such programs might be print spoolers, network programs, audio or video players, modem, harddisk or virus utilities, and internet programs.
I have not done useful testing of my CAM programs v2.7 under WINDOWS 95 (tm) using servo motors yet, but the servo motors might let you get away with some minor interruptions, it would depend on how fast you were trying to run the servo motors, and how bad the interruptions are on your system.
I have noticed that some harddisks go to "sleep" after a period of non-use, and when they wake up the system sometimes locks up for a period of time, which might cause servo motors to over- shoot, or stepper motors to stall. The system can sometimes also briefly lock up when the harddisk goes into sleep mode. You may need to use a harddisk without this "sleep" function in some applications.
If you put the CAM programs in three sub-directories, and open three windows (3.11?) you might be able to run three machines at using LPT1, LPT2, and LPT3, but I do not recommend that you ever try that since the motors would have to be run slower and the performance would probably not be very good. It is better to use three "bare bones" computers or old "junk" computers to run the CAM programs. At any rate you should NEVER try to run the CAM programs at the same time that some other application is running in "background." Do not run two of my programs CAD and CAD, CAM and CAM, or CAD and CAM in the same file sub- directory at the same time.
It may be possible to run two copies of the CAD programs in two windows if the CAD programs are in different sub- directories. They will probably not run at the same time but you would be able to switch back and forth by pressing [Alt] and [Tab] when they are not in SVGA video modes. You might want to do this to have a macro in the [W]rite command in one copy, and use the [R]un command in the other copy while de- bugging a macro. Just be sure that you DO NOT OPEN THE SAME FILE in both copies of the CAD program or you will probably get problems with file sharing.
I should mention that if my programs crash, or are shut down wrong, under WINDOWS 95 (tm) the OS might think the file is still in use and give you error messages telling you that you cannot load, save, copy, or delete a file even though you do not think the file is in use. These "phantom" error messages should go away after you re-boot the computer.
You should probably not try booting your computer with a DOS 6.22 floppy if your harddisk has WINDOWS 95 (tm) installed on it. Be sure that you do not run any DOS 6.22 utilities that adversely effect the harddisk, or you may scramble the FAT and make a mess out of the disk's file directory. Booting from DOS 6.22 might not work, anyway, if the harddisk was not formatted for DOS 6.22 originally, or the harddisk is bigger than 8.4GB or has a partition bigger than 2.1GB.
If the above discussion seems unfamiliar to you, you might want to think about learning more about general computer topics, such as making a floppy boot disk, from other sources before starting your "Beta Testing" of my new programs.
One of the most important changes to the CAD and CAM programs is the addition of color graphic display modes. Some of the new modes work on regular VGA video cards, but the higher resolutions displayed in the CAD programs require a SVGA VESA v1.2 or v2.0 compatible video card. Some older EGA and VGA boards may not work with some program features used by those modes, but I have not found any serious problems with the boards I have tried so far. If their are bugs in the video board BIOS that make one or more video modes not work properly, you might be able to use another video board and have those modes display properly.
Many SVGA video cards made for 80486 computers supported SVGA VESA modes that are compatible with my programs in there present state of development, but some newer video cards may lack the VESA BIOS, or may have their bus arranged to only work under Windows (tm) and not DOS.
I have tried several video cards and all that I have work with my programs, for the most part, but they are those boards that seem to be compatible with DOS type software.
Video cards that are not compatible because they lack the on board video BIOS may be able to be used if a TSR program is run before my programs to load a software BIOS substitute for the hardware BIOS, but although I have may have seen some notes on Web sites of video board manufactures making references to various downloads, I do not have those video boards, and cannot tell if such software would be compatible with my programs.
I have tested some PCI bus video cards that state that they work with DOS software, and found that video modes up to 1280x1024 seem to work, but one brand did not seem to support 1600x1200 in the VESA modes. Which VESA modes are supported by video boards seems to vary from one chip set to another. Some BIOS chips on some video boards may contain bugs, so if some of the modes do not display properly you might try a board from a different manufacture that uses a different chip set, but be careful though since the same, possibly defective, chips may be on both boards even though they carry a different brand name.
The boards that seem to work are generally the cheep ones, including some that are from the China area. You may be able to get a used ISA, VLB, or PCI video board cheep and find that it works better with my programs than newer video boards.
You generally do not need more than 4MB or 8MB of memory on the video board for the VESA modes. If you are not going to use the highest resolution modes then a video board with 1MB or 2MB might work.
I have also added color display modes for EGA boards, as well as regular VGA boards. The CGA and Hercules (tm) monochrome graphics are still supported, so if your fancy new video board does not support my programs, you might be able to stick in some old board you have laying around and still make use of my programs graphic displays.
The main video boards that I have been testing v2.7 with seem to use the "SiS 6326" graphic accelerator chip, although I do not make special calls to that chip. I have tried the programs with another board that seems to use the "Trident Blade3D 9880" chip set, which seemed to work in at least some modes. All three of these boards use the PCI bus. I also have tried an older SVGA Genoa (tm) board that seems to use a "Cirrus Logic CL- GD5428-" chip. You might try one of these if you have some extra video boards laying around.
Even if your video board supports the needed modes, your monitor will probably not. Mostly only new monitors in the larger sizes support 1600x1200 resolution, so if you try to use those modes on an older monitor it will go out of sync and you will not be able to see what is on the screen to enter commands. Also it may not be healthy for your monitor to be out of sync, it might over heat or burn out. So only select display modes that both your video board and your monitor support properly.
If you want to save color drawings in the 1600x1200 resolution video modes as a BMP color or gray scale graphics file, and your video board supports that mode in a way that is compatible with my programs, and your video monitor does not support that mode, you may be able to turn your monitor off and have my CAD programs run from a macro to display the drawing and save it to the BMP file, and then return to video text mode so that you can safely turn the monitor back on.
Believe it or not the pre-v1.0 c. 1985 version of DANCAD3D.COM (tm) had some "hidden line" removal, but running it on my brothers IBM PCjr (tm) it took hours or days just to redraw the screen or print out, so I removed that portion of the code and developed the CAD programs for wire frame animation. Since computers now are perhaps as much as 2000 times faster than that old IBM PCjr (tm) what took two or three hours before now takes minutes or less. This length of time seems more like a reasonable wait for the screen to redraw, especially when working in the drawing editor.
Complex objects and scenes can still take a day or longer to calculate, even on an about 1GHz computer, but that is better than a year or longer!
So off and on over the years I was working on parts of the code for hidden line removal, and after the release of v2.6 I decided to rework all of DANCAD3D.COM (tm) to be compatible with hidden line removal, without disturbing much of the usability that the program had for simple line drawings, editing tool paths, and wire frame animation.
In order to make the program work as it did before, but have a new capability, I store the triangles used for hidden line removal as two line segments, the first line segment goes from p1 to p2 of the triangle, the second line segment goes from p3 of the triangle to p4 which is the end point of a "normal" from the plane of the triangle. The line segments from p2 to p3, and p3 to p1 are IMPLIED and not stored in the workspace. Since the two line segments that make up each triangle and its normal are always consecutive and in that order you must never erase one of them or put them out of order or you will get LOTS of error messages. The program has some built in checking for this kind of error, but you should be aware of the need to always keep the line pairs together if you manually edit line data. By the way, in the discussion here p1 means "point 1" as in point one of the triangle's three points. Each point would have its own X, Y, and Z value, i.e. p1x, p1y, p1z, and so on.
If you enter triangles manually by writing or editing an ASCII file you should set p4 to be equal to p3, and then use the commands in the drawing editor to generate the normals to reflect the changes to the triangles end points, except for simple triangles parallel to the major axis, you would probably not be able to set the values for p4 correctly yourself. See the Correct and other commands in the drawing editor's Hidden sub-menu.
The program assumes that triangles facing the viewer have line directions that move from p1 to p2 to p3 in a clockwise direction, and that p4 is pointing nearer to the user than p3. If p4 points away, or the triangle is counterclockwise the triangle is not displayed in some modes to save time re-drawing the screen, since you cannot see the back side of objects.
Sometimes when using the Lathe or other commands if the source element lines are drawn backwards the normals and triangles will be the wrong way around. To see if this has happened you can use some special display modes in the drawing editor or the main menu Preview command to see the normally invisible normal line segments. If you see the normals pointing in the wrong direction there are some commands to change the direction so that they go the way you want, i.e. pointing outside of the shape you are drawing. See the Correct, Revert and other commands in the drawing editor's Hidden sub-menu.
The line attributes have been altered to allow the program to identify line segments that are "free" old type line segments, from the new triangle line segments. You should let the program automatically assign these attributes, and not try to change them manually. You can still edit the line color and width generally but leave the line shape and line stile attribute alone for now. If you need to edit the triangle attributes, read Appendix N first.
You should not mix elements that have triangles in them, with elements that just have line segments in them. Although many commands can still operate on elements that have either line segments or triangles, some can only operate on one or the other. Some commands convert elements that have line segments into elements that have triangles, so you will have to keep in mind what you are doing and what type of data is in the elements you are working with.
When drawing elements for display with hidden line removal, remember that you are drawing the outside surface of the object, without portions of the surface under or passing through the surface of other objects. The objects need to be drawn as having a volume of thickness enclosed by the outer surface, and not just the "front" or when you rotate the object there will be "holes" appearing.
To produce hidden line removal the program sorts the triangles, and then displays the triangles that face forward, starting at the back and working in order to the front. This trick works most of the time, but it can get confused if the elements are not drawn carefully to make the triangles sort in the right order. Sub-dividing triangles to be smaller than the distance between objects generally improves the odds that the triangles will sort in the right order, but slows down the sorting since there will be many more triangles, so generally you draw large triangles where objects are at a distance, and smaller ones in and around where to objects meet. See the Divide and other commands in the drawing editor's Hidden sub-menu.
Drawing elements for hidden line removal is a complex subject, so I will have to leave any possible drawing lessons for some other time, my goal here was to explain how the program is set up to operate, and to give some insight to what the many new commands are used for. Drawing for hidden line removal is somewhat more complex than drawing for wire frame, so if you find it too much work you can still use the program for wire frame animation just as you have been doing. There may be some example macro files to look at, that came in the *.ZIP archive along with the programs, e.g. DEMO*.MAC or EX*.MAC, that might help you learn something about using the commands to draw for hidden line display.
The display modes used by the main menu Preview command and the commands in the Hardcopy sub-menu have been expanded to allow for display and printing of hidden line elements. Which of these modes will look best depends of what kind of video board you have, what your elements are of, and what type of printer you will be using.
In order to print color drawings you can try to save the Preview screen as a color BMP file, and probably use the software that came with your scanner to output the drawing to your color printer. Color BMP files look best when saved from a VESA compatible SVGA video board that is able to work with my programs. Black and White drawings can be printed directly from DANCAD3D.COM (tm) using some of the same drivers as before.
When printing my CAD program does not usually fill in the background, since laser print out generally does not look good with the whole page black, rather the program tries to make the drawing look like a pen and ink drawing with or with out shading as you chose by the display mode. You should set the line width in your drawing elements to 3 or 5 using the round equal pen shape mode for your display or printing using hidden line display modes that show the element edges as outlines.
If you print a color BMP file saved from the Preview command the quality of the printout will depend on the program you are using, and your color printer. To put drawings on the internet, the BMP file might be able to be converted to JPG or GIF in the software that came with your scanner, but you should set the compressing to the least compression setting so that the drawing does not become fuzzy. GIF might look better than JPG for some kinds of drawings, particularly drawings with thin lines.
The background color or shade of gray can be set from the Set-up Palette command in the drawing editor, or by using the PALETTE macro command. At present, the drawing editor and the Preview command, use the default background color assigned to the same value, color index 0. You can override the background color in the Preview command by loading a Pixel file as a background file. You can also load a background of any color with the LOAD PIXEL macro command if you use the LOAD PIXEL command before the DISPLAY command. The setting for the background file in the Preview command is in the exit menu that pops up after the first time the screen draws, and you press [Esc]. See also the CRT Background command to make colored background files to use with DISPLAY or Preview.
The display modes and their operation may change since I have not finalized the display code values, but here are the perspective display modes that I was working on around when this preliminary information was written:
Mode 1 is the default display mode and for line drawings. Modes 2 & 3 are for checking that triangles are drawn correctly. Modes 4 & 5 are for making silhouette traveling mats for special effects.
The modes in the table below are for display on the video screen, see printer modes list further below this table.
In v2.7G the 20 series of hidden line display modes was modified so that mode 21 now does the outlining of the edges in the same color as the triangle fill, and mode 24 does the triangle fill without the outlining of the edges. The change to mode 21 and mode 24 were to allow for the production of traveling mats that will fit the outline of the shapes when the shapes are displayed with outlines, that is the outlining changes the size of the silhouette mate somewhat, so there needed to be a option to make the mate with or without the outlining.
Also in v2.7G a new display mode 6 was added that displays the triangles in a surface as random colors other than the background fill color. Mode 6 can be used with the Preview or DISPLAY command, and in the Drawing Editor. Check for any current and update documents for any information about changes to the display modes.
mode . Tri fill color . Tri outline color . lines shown . notes 1 . black . line color . edges . also works for line drawings 2 . black . line color . sides . to see triangles 3 . black . line color . sides + normals . to see normals 4 . black . none . none . use with a white background for mate 5 . white . none . none . use with a black background for mate 6 . random . none . none . use to see surface triangles [ 10 series modes do not sort triangles, for quick set up of perspective values ] 10 . no fill . line color . forward edges . quick perspective adjustments, no sort 11 . no fill . line color . all edges . edge wire-frame, no sort 12 . no fill . line color . all sides . sides wire-frame, no sort 13 . no fill . line color . all sides + normals . normals wire-frame, no sort [ 20 series modes fill triangles with line color, for use with M16 or C16 palette modes ] 20 . line color . black . edges . for M16 or C16 with background other than black 21 . line color . line color . edges . for M2 to make traveling mats with outlines 22 . line color . white . edges . for M2, M16, or C16 with background other than white 23 . line color . xor line color . edges . for M2, M16, or M16 24 . line color . none . none . for M2 to make traveling mats without outlines [ 30 series modes lambert shade by the whole triangle like lambert using triangle sort order ] 30 . sort shade . black . edges . for M256 or C256 31 . sort shade . line color . edges . " 32 . sort shade . white . edges . " 33 . sort shade . xor line color . edges . " 34 . sort shade . none . none . " [ 40 series modes lambert shade by the pixel, with automatic lambert settings ] 40 . AL shade . black . edges . for M256 or C256 41 . AL shade . line color . edges . " 42 . AL shade . white . edges . " 43 . AL shade . xor line color . edges . " 44 . AL shade . none . none . " [ 50 series modes lambert shade by the pixel, with manual lambert settings ] 50 . ML shade . black . edges . for M256 or C256 51 . ML shade . line color . edges . " 52 . ML shade . white . edges . " 53 . ML shade . xor line color . edges . " 54 . ML shade . none . none . " [ 60 series modes automatic lambert + light source shade by the pixel ] 60 . AL + LS shade . black . edges . for M256 or C256 61 . AL + LS shade . line color . edges . " 62 . AL + LS shade . white . edges . " 63 . AL + LS shade . xor line color . edges . " 64 . AL + LS shade . none . none . " [ 70 series modes manual lambert + light source shade by the pixel ] 70 . ML + LS shade . black . edges . for M256 or C256 71 . ML + LS shade . line color . edges . " 72 . ML + LS shade . white . edges . " 73 . ML + LS shade . xor line color . edges . " 74 . ML + LS shade . none . none . " ------------------------------------------------------------------------
The video board you are using limits the quality of the results you can get. Also even if you have a SVGA board that can display all modes your video monitor may go out of sync on the higher resolution video modes. The codes to enter to select the various video modes are displayed by the main menu Preview command, such as E640M16 for monochrome display on an EGA board with 640 by 350 pixels, or S1280C256 for 256 palette mode color mode on a SVGA board with 1280 by 1024 resolution. Older video boards such as Monochrome graphics, or CGA should still work but will not look good with some display modes because of the lack of palette colors.
The video board type is selected from the small menu that comes up over the opening title screen, and that selection limits which of the various video modes you can select later with the main menu Preview command.
You should check your video board manual to see which modes are supported, and then check that your monitor can display them without going out of sync. Do not try to display modes other than Hercules (tm) (720 by 348 monochrome graphics mode) on a Hercules (tm) or monochrome graphics (720 by 348) board or monitor. Do not try to display Hercules (tm) on video boards that do not support that mode since the BIOS will probably not intervene, and problems or damage may result.
Many of the display modes are not meant to be used normally, so you should probably just use the modes listed below most of the time.
Select the best display mode for the task, and your video board type:
Use mode 1 for line drawings on all board types.
Use mode 1 for palette M2 modes for triangles.
Use mode 10 for quick set up of the perspective values before hidden line display of the triangle elements.
Use mode 20, 22, or 23 for palette M16 or C16 modes for triangles.
Use modes 44 or 54 with M256 for making a surface tool path from a Pixel file.
Use mode 64 for palette M16, M256 or C256 single still drawings.
Use mode 74 for palette M16, M256 or C256 animations and sequences, generally you should keep lambert values constant for all of the frames, be sure to assign the lighting variables before calling the macro DISPLAY command.
When displaying triangles with the modes that show the triangle edge lines you should set the line width in the triangle elements to 3 or 5 with the round equal shape option. This reduces parts of the edge lines disappearing during the triangle fill when the elements are displayed at various angles.
Before using the macro DISPLAY command you need to set the lighting variables if you use the modes that need them. Use these variable names in the default current directory that the program is running in since these variable names are the ones that the program will look for for setting the lighting values.
LS0ZFAR_.VAR Point beyond the deepest part of the elements, neg normally. LS0ZNEAR.VAR Point nearer than the closest part of elements, pos normally. LS1XDEG_.VAR Sets x rotation of movable light source 1, normally left at 0. LS1YDEG_.VAR Sets y rotation of movable light source 1, normally +90 to -90. LS1ZDEG_.VAR Sets z rotation of movable light source 1, normally +90 to -90. LS0LAMB_.VAR Sets brightness of diffuse light source 0, normally 0.5 to 1.0. LS0REFL_.VAR Brightness of diffuse light 0's reflection, normally 0.5 to 1.0. LS1BRIG_.VAR Sets brightness of movable light source 1, normally 0.5 to 1.0. LS1REFL_.VAR Brightness of movable light 1's reflection, normally 0.5 to 1.0.
If you do not assign these variables and old ones are on your harddisk, the program will read the old values and you may get confused as to why the program is not using the default values, so be sure to assign these variables with the values you want before you use the macro DISPLAY command.
Variables LS0ZFAR_.VAR and LS0ZNEAR.VAR are used by display mode series 50 and 70, but not series 40 and 60 because mode series 40 and 60 automatically find the near and far points for the elements in the workspace. When doing animation you do not normally want the far and near points for the diffuse lighting moving around as the elements move, so mode series 70 lets you fix those values. Display mode series 50 might be used to prepare a tool path, in such a case you would want to be able to use the far and near points for clipping.
Here is some example macro code showing how these new commands might be used:
VERSION v2.7C
; Example macro code.
WYSIWYG 1 { Set "What You See Is What You Get" state }
PALETTE 1 0 4 { Set pallet color value for background }
GRAPH_MODE S1280C256 { Set SVGA color graphics mode }
{ lighting vars used by hidden line display preview mode 74 }
LET LS0ZFAR_.VAR = -7.75 { for DISPLAY }
LET LS0ZNEAR.VAR = +5.50 { for DISPLAY }
LET LS1XDEG_.VAR = 0 { for DISPLAY }
LET LS1YDEG_.VAR = -75 { for DISPLAY }
LET LS1ZDEG_.VAR = -45 { for DISPLAY }
LET LS0LAMB_.VAR = 0.85 { for DISPLAY }
LET LS0REFL_.VAR = 0.8 { for DISPLAY }
LET LS1BRIG_.VAR = 1 { for DISPLAY }
LET LS1REFL_.VAR = 1 { for DISPLAY }
# 1 DISPLAY -25 -30 0 -20 100 74 1.25 0 { Display element }
; End example macro code.
There are three ways to print hidden line drawings currently in v2.7A:
Use the JET or DOT commands, since the JET or DOT commands use raster graphics the display modes used for displaying on the screen have similar effects in the Workspace and Add commands. There are some differences since the printer makes black on white paper I did not want the print out to have a solid black background, and the lines look better as thin black lines rather than white lines. The shading in the print out is darker in the areas darker on the video display. If you want a dark background you can use the usual commands from the JET and DOT menus to fill a page file before you add the hidden line elements on top of that page.
Since the PostScript (tm), HPGL/2 laser, and Pen Plotters, operating through my Plot command cannot display "erased" lines over drawn lines, a special command in the Hardcopy sub-menu is provided called "Ready" that uses the JET commands to make a JET page file with the hidden line elements displayed on it, you then use display mode 1 to print out the trace from that page file which has been created by raster to vector conversion. This overcomes problems resulting from the fact that the SAVE 2D, LASER, IMAGESETTER, and PLOT commands do not work with triangle elements or the display modes for triangle elements. To use the "Ready" command for printing, you select "Ready" enter the element number for the triangle element and use the hidden line display mode you want, such as 64, then "Ready" makes a new element for you that is made of only "free" line segments, you then select the SAVE 2D, LASER, IMAGESETTER, or PLOT command and enter the element number of the element "Ready" made for you, then you select display mode 1 for printing this new element. You should set the size of the image when you use the "Ready" command and do not re-size the element "Ready" makes since that element contains raster lines that will not look correct if enlarged, and the shading will get darker if reduced. Also the element "Ready" makes is 2D, so the only rotation used on printing it should be 0 or 90 degrees on the Z axis, the X and Y rotations should be set to 0, if you want the triangle element rotated, do that with the "Ready" command and not with the printing command later.
If you have a color printer it probably operates under Windows (tm), and most Windows (tm) graphics programs load BMP type graphics files. Since the main menu Preview command in DANCAD3D (tm) can save the SVGA screen in 8 bit color you might be able to save the Preview screen as a BMP file, then load that file into a Windows (tm) graphics program such as MSPAINT.EXE (tm), then use the Windows (tm) driver for your color printer to print the drawing out.
When printing triangles with the modes that show the triangle edge lines you should set the line width in the triangle elements to 3 or 5 with the round equal shape option. This reduces parts of the edge lines disappearing during the triangle fill when the elements are displayed at various angles.
Differences in the display modes for printing, particularly to the JET page files, or commands that use the JET page files as an intermediate are:
modes = 20, 30, 40, 50, 60, 70 The triangle line color is forced 1, black toner. modes = 21, 30, 41, 51, 61, 71 The triangle line color is 1, black toner, unless 0. modes = 22, 32, 42, 52, 62, 72 The triangle line color is forced to 0, blank paper. modes = 23, 33, 43, 53, 63, 73 The triangle line color is 0 unless the line color is 0. modes = 24, 34, 44, 54, 64, 74 The triangle line color outline is not displayed (shading or fill only).
On the JET page or print out color 0 is the white paper, and color 1 is the black toner. The background color on the JET page is the blank paper (white) rather than the default black or gray as on the video screen.
If you use JET ADD to a JET page that was all set to 1's (black toner) the triangles filled with 0's will print as paper white on top of a black toner background. The Pixel backgrounds do not work on the JET page printout, but you can use the JET commands to shade the JET page before using JET ADD if you want a background other than plain paper.
The preferred modes for printing hidden line drawings using the JET WORKSPACE or JET ADD commands would be:
1 = blank "white" filled triangles with black edge outlines on blank background.
60, 70 = shaded surfaces with black edge outlines on blank paper background.
Since the line color used in the triangles is used to find the triangle fill color in modes 60 and 70 you can adjust the darkness of the elements somewhat by picking different line color numbers for the elements, in addition to using the lighting adjustment values associated with modes 60 and 70.
Paper white edge outlines on dark shaded triangles does not generally work very well because the thin white lines are hard to see. It is usually better to have dark outlines and lightly shaded triangles on a light paper background.
The shading values are reversed so that the JET values for the "dark" shaded areas are set to mostly 1's and the "light" shaded areas are set to mostly 0's. Therefore if you adjust the lighting values to make the video display lighter, the printout will also be made lighter in the shaded parts of the triangles.
Although the display modes 64 and 74 are preferred for the SVGA display and saving the BMP files, the modes 60 and 70 generally look better for line art printout on a laser printer because the edge and junction triangle's edge outlines give a more definite delineation of the elements form.
Setting the line thickness in the triangle elements to 3 or more, with Round Equal line shape, can help make the outlines of the triangle's edges more bold on the printout so as to improve the outline of the surfaces, you can use the [L]ines edit [L]ine style command in the drawing editor or the LINETYPE macro command to change the line width in the triangle elements.
The brightness values displayed by the [J]et [V]iew command do not give an exact impression of the shading because the screen resolution is less than the printer and the pixels get merged in a way that alters small details such as the shading dots used in "line art" two color drawings. The toner darkness setting in the printer can also effect the shading darkness. If you are going to photocopy a printout the brightness of the shading will also change because the copier will lighten or darken small details such as the shading dots.
Drawing elements made with the Hardcopy Ready command should not be enlarged or reduced since the raster lines may get spread apart and become visible, or the shading dots may get too close together and look darker, or too far apart and look lighter. The element made by Hardcopy Ready is normally meant to print at a scale of 240. Also you should not make a Hardcopy Ready type file with the 150 dpi JET driver and print it with the 300 dpi driver for the same sorts of reasons.
The Demo or sample *.MAC files that offer elements that display hidden line removal will look best on computers that have compatible VESA SVGA, although the un-shaded modes look all right on CGA and Monochrome Graphics. The shaded modes will look very "grainy" on CGA and Monochrome Graphics, or in the C16 modes, but on the EGA, VGA, and SVGA the M16 modes don't look too bad if you stand back a distance from the monitor.
If you do not have any display mode better than the 16 "color" modes, you can use the M16 modes and make several hundred pixel files of the same view, then display those pixel files in the ANIMATE command with the delay set to 0, the grain will then blend together because of the persistence of vision. You could then make a time exposure on film from your monitor to get a more even gray tone display. The same trick will help on animations if you make enough frames to display the animation at the maximum frame rate by setting the ANIMATION delay to 0. One of the pioneers of movie making may have wanted to show his movies at 60 frames per second, so this is probably not so new of an idea.
The sample *.3D file(s) supplied are probably in DANCAD3D.COM (tm) 3D-Quick format, and so will produce an error when you try to load them into DANCAD87.COM (tm). In cases where I may have included the macro that made the *.3D file, you can probably run that *.MAC macro file in DANCAD87.COM (tm) to make a version of the *.3D file that will load into DANCAD87.COM (tm). The *.2D files supplied are also probably in DANCAD3D.COM (tm) format, and will not load into DANCAD87.COM (tm) unless you convert them to *.ASC in DANCAD3D.COM (tm). The *.ASC 3D drawing filetype should work with both DANCAD3D.COM (tm) and DANCAD87.COM (tm) as should the *.MAC, *.FON, and some other filetypes.
When you enter the name of a sub-directory with the FILES MAKE sub-directory command you need to end the name of the sub- directory with a period, otherwise the program will look for a directory with that name, and you will get stuck and not be able to get out of the prompt.
When you click on a directory name in a file directory the program will now bring up a directory of that sub-directory in place of reporting that the "file" entered is not found.
When entering the name of a file you always need to enter a filename with its extension, or end the filename with a period. A filename not ending with a period or extension at the prompts is considered to be the name of a sub-directory.
The CAD programs use a new mouse config file to tell the programs which type of mouse to use. This change was made to avoid some problems that happen under some operating systems when the programs auto detect for the FastTRAP (tm) 3D track-ball. By forcing the program to default to the standard mouse most systems will probably work with the standard mouse. If you have a FastTRAP (tm) you can use the new mouse config file to have the program look for its features.
The name for the mouse configuration file is: DANCADXX.MOU and it can contain values in text form on the first line:
FASTTRAP tells program to check for FastTRAP (tm) driver features.
REGULAR tells program to only use regular mouse features.
NONE same as regular at this time. Program normally auto-detects the
mouse. Be sure your mouse driver was installed when the computer was
booted, and before you run my programs.
You can use the DOS copy command or the [W]rite command to make such a file.
Under Windows (tm) a three button mouse may not retain the capabilities of the center button with the CAD programs, but you can use the substitute keys on the keyboard e.g. [Space] in the drawing editor, and [F1] in the [W]rite command.
The CAM programs in v2.7 now can use the mouse to operate the menus and move the cursor in some prompts.
The programs can still be operated just by the keyboard keys, or my both the keys and the mouse when a mouse is loaded. Under DOS be sure to load the mouse driver before you run the programs or the mouse will not work. You should have a DOS mouse driver on the floppy disk that might have come with your mouse, if you did not get a disk with your mouse you might check the mouse company to see if they have a driver on their Web site.
The CAM programs have a built in very experimental computer network that might let several computers be connected together to serve and transport files between them. This network concept is still very experimental, and may under go gross changes in possible future revisions.
Be sure to see also the section below about CAM program command line operation and operation from batch files, since there is some information about the CAM network commands there. The CAM network can be operated in three ways, from the CAM programs menus, from the DOS command line, and from DOS type batch files.
This network makes simple connections between the standard Serial ports. CAM files can be executed from a shop computer that does not have a harddisk by running a wire from the shop to a file server computer in a less contaminated room. Some CAM program operations make temporary files, so some program functions may be limited on a computer without a harddisk. A RAM disk might be used to allow the CAM programs to create temporary files on computers without harddisks if the systems have enough memory installed.
At present, in v2.7A, this network is designed to answer one request at a time, so tool path files can also be downloaded to the local harddisk for execution, thereby freeing the network for other workstations to download tool paths from the file server while the previously downloaded tool paths are being executed.
Normally each computer can be fit with four serial ports, and you can select in the programs which Serial port(s) you want to connect to. Up to eight serial ports per computer can be configured if you manually set up the configuration and have serial cards that use unique addresses (note this capability may not work with any particular brand of hardware, so do not purchase any hardware with the assumption that it will work with my programs.) By adding switch boxes it may be possible to connect many computers to up-load and download tool path files to one or more file servers.
A serial port IO delay is used to correct network problems that can happen on some faster computers such as PIII 733MHz, settings from 10 microseconds to 100 microseconds seem to work, but you can adjust this value in the network port set up option. To see if the value is correct put one computer in server mode, and try using the Chat message option from the remote computers. If Chat works without any problems, try getting a file directory of the server from the remote computers. If you can get directories, try using the Fetch and Store commands. Be sure that you have an \XFER\ sub-directory off of the CAM programs sub-directory, and that you have enough free disk space for the network commands to create the many temporary files they need to make for the various commands and options you will need to use.
Most of the problems you are likely to encounter while using the CAM network will arise from not having enough free disk space on one of the computers, not having the required sub- directories on one of the computers, not having a unique network ID on each of the computers, not having the computer's ports set to the same settings, and interrupting the connection before it has completed.
The *.ACF (ASCII Compressed File) is a special compressed file version of my *.ASC 3D ASCII drawing file for use to speed up file transfers of finished tool paths. This compression method will not work on any other type of file, so you should not try to compress other kinds of files into *.ACF type. The *.ACF filetype takes up about half the bytes as the *.ASC file, which reduces the file transfer time. The *.ACF file needs to be de-compressed before being used as an *.ASC tool path file.
When the CAM programs are run initially a random number is assigned to the network ID number for that computer on the network. You should check all the network ID numbers for the computers on your network to make sure that the same network ID number is not being used my more than one computer on the network.
No special hardware is required for the machines' computers, or the server computer, and the computers can switch roles. You can get a remote directory of the server's harddisk and remotely manage files there when the server is not busy.
The wiring of the network can get complex, e.g. COM1 of machine computer 1 can connect to COM3 of server 1, COM2 of machine computer 1 can connect to COM1 of server 2, COM2 of server 1 can connect to machine computer 2, and so on depending on how many machines you are using and how you want to be able to transport your files.
A NUL Modem cable is required to connect two computers on the network. If a switch box is used a "mouse extension" cable can be used for the common connector on the switch box, and NUL Modem cables used on the other connectors on the switch box, because you cannot connect two NUL Modem cables together or they cancel each other's crossed wires.
It might be possible to just use a three wire cable for the network, but I have not had time to test the three wire cables yet, or see how long the cables can be made if you use #12 gauge wire.
To make a "full" NUL Modem cable these connections can be "Beta Tested":
First computer 25 pin RS-232 Second computer 25 pin RS-232 2 ------------------------------------- 3 3 ------------------------------------- 2 4 ------------------------------------- 5 5 ------------------------------------- 4 6 ------------------------------------- 20 20 ------------------------------------- 6 7 ------------------------------------- 7
To make a "three wire" NUL Modem cable these connections can be experimented with and then "Beta Tested":
First computer 25 pin RS-232 Second computer 25 pin RS-232 2 ------------------------------------- 3 3 ------------------------------------- 2 7 ------------------------------------- 7
With the "three" wire hook-up since pin 7 is common ground, a DPDT switch might be able to be used to switch pins 2 and 3 between two computers and the server to make a simple switch box.
Do not switch computers, or use a switch box while data is being transferred, you will probably get data errors, and need to shut down all the computers on the network, and restart everything.
If you do not want to install all of the programs and files from the distribution DANCAD3D.ZIP (tm) file onto the computer that will run a machine, you can copy just the essential CAM files manually.
For DANCAM.EXE (tm) v2.7A you need to copy:FORMAT A: /S /U C:\DC27\COPY DANCAM.EXE A: C:\DC27\COPY DANCAM.OVR A: C:\DC27\COPY DANCAD3D.808 A: C:\DC27\COPY DANCAD3D.814 A: MD A:\XFER MD A:\ASCII MD A:\CYCLES
For DANPLOT.EXE (tm) v2.7A you need to copy:
FORMAT A: /S /U C:\DC27\COPY DANPLOT.EXE A: C:\DC27\COPY DANPLOT.OVR A: C:\DC27\COPY DANCAD3D.808 A: C:\DC27\COPY DANCAD3D.814 A: MD A:\XFER MD A:\ASCII MD A:\CYCLES
Be sure that you create any sub-directories you may need to use while the programs are running, particularly the \XFER\ sub- directory used by the network commands. You might make two 1.44MB floppy disks with "DOS 95" on them so that you can boot your computer without using the harddisk. It is better to run the CAM programs with a computer that has the EMS driver loaded so that the overlay file will not spin the floppy disk each time part of the overlay is to be accessed, to save space on the floppy disk you can sometimes include a file path in the AUTOEXEC.BAT or CONFIG.SYS files that looks for the EMS driver, mouse driver, CD-ROM driver, Joy- Stick port enable driver, and other files on your harddisk.
The program files for v2.7 of my CAM programs take more disk space than previous versions, and are broken into two parts i.e. the DANCAM.EXE (tm) file or DANPLOT.EXE (tm) and the DANCAM.OVR or DANPLOT.OVR overlay file. The default DANCAD3D.808 and DANCAD3D.814 screen font files also need to be available for use by the programs.
Normally the *.OVR is kept in the same directory as the *.EXE file so that the *.EXE part of the program can find the overlay file. When the CAM programs are run on a computer that does not have a harddisk and there is not enough room for the program and overlay files on the same floppy disk, it is possible to relocate the *.OVR overlay file to another floppy disk, e.g. you could put the *.EXE file on drive A: and the *.OVR file on drive B:.
Since the programs cannot be run until the program can find the overlay, the location of the overlay cannot be in the configuration file. Therefore a special additional configuration file can be created called DANCAM.OVP or DANPLOT.OVP corresponding to the CAM program you are using. This *.OVP file only contains one line of text that has the full path to where the overlay file is kept. The program appends the name of the overlay file, so do not include the name of the overlay file, only its path.
You can use the DOS copy command to make this *.OVP file, or use any editor that can save a DOS *.TXT type file.
EXAMPLE: A:\>COPY CON DANCAM.OVP
B:\OVERLAY\
^Z
1 file(s) copied
A:\>
After you type in the B:\OVERLAY\ you should press [Return] and then press the [Ctrl] key and hold it down, then press the [Z] key, and let both keys up, then press [Return] again. To view the path that you currently have in the *.OVP file you can also use the COPY command,
EXAMPLE: A:\>COPY DANCAM.OVP CON
B:\OVERLAY\
1 file(s) copied
A:\>
Generally you will only have to use the *.OVP file if your computer is limited to two 360KB floppy disks. If your computer has just one 1.44MB floppy disk and no harddisk you can make a separate boot floppy for DANCAM.EXE (tm) and DANPLOT.EXE (tm). If your tool path files are too large to fit on the free space on the floppy disk, you can try to use the built in computer network to get the tool path off of a computer running another copy of the CAM programs that is acting as a file server. When the CAM programs are operated on the network some temporary files are created for compressed files, and for the disk directories, therefore there needs to be some disk space free for those features to be used. How much disk space needs to be free for the CAM programs to use the network depends on the size of the files being transferred, the transfer mode being used, and the number of entries in a file directory being requested. You should try to keep at least 500KB free at all times on the disk the *.EXE part of the CAM programs is running in, but you might be able to get by with 50KB free if you do not use the compressed transfer modes, and do not request long file directories. If you have network problems check the Serial port IO delay value, and the free disk space, on all the computers on the network even if the error messages seem to indicate some other data problem.
My CAM programs now in v2.7 allow for the use of an two channel incremental encoder in addition to the Joy- Stick and keyboard for the input of position signals in the Jog and Teach modes.
Note that if your Joy-Stick port, a.k.a. Game port, is on a PCI bus sound card the Joy-Stick port may not work if you boot your computer with DOS 6.22 or a "DOS 95" floppy disk, unless you put an AUTOEXEC.BAT file on the boot floppy disk that includes the right path to the driver file for the driver for the sound board that enables the game port on the sound card. Some ISA sound cards may also require a software driver to enable the "game" port. Older ISA Joy- Stick port cards, and some older "multi-I/O" cards that have a "game" port do not usually require a software driver. PCI bus "game" port cards may require a software driver to be run in order to enable the "game" ports. The "game" port on some sound cards only supports Joy-Stick port #1, a.k.a. port "A", and so will not work with features that use the Joy-Stick port #2, eliminating the Joy-Stick for the Z axis jog, and making you choose between using just the Joy-Stick or the encoder, rather than using both of them alternately as you can if your Joy-Stick board supports two Joy-Stick ports.
Almost any two channel incremental encoder with TTL compatible two phase quadrature "A" and "B" outputs should work, but one with about 100 pulses per revolution might be best since too high a resolution might make the input frequency too high for slower computers.
Normally such encoders have four connections, ground, "A" and "B" square wave outputs with TTL compatible signals, and a +5 volts input. If the encoder does not draw too much current you may be able to power it off of the game port pins, otherwise you would need a small 5 volt supply.
You should adjust the sensitivity of the encoder with the configuration in the programs so that the hand-wheel is not too sensitive, or the motors may turn when the hand-wheel moves a little from vibration and such.
The encoder is connected to the button pins of Joy-Stick port one or two. If you are also using the Joy-Stick on port one, then you need to use the button pins on port 2 for the encoder. If your Joy- Stick board only supports port one, then you have to pick just the encoder or the Joy-Stick.
The encoder works well with the large DRO display (i.e. the Digital position Read-Out display) in the Jog and Teach modes. You can select the axis to move by pressing the [X], [Y], or [Z] keys on the keyboard while the encoder is selected to be active. The position display highlights the active axis that the encoder will move when you press [X], [Y] or [Z]. The motors on your machine will turn when you turn the encoder, and move faster when you turn the encoder faster.
The pins on the Joy-Stick 1 port used by encoder seem to be:
1 - +5 volts out to encoder
+5 volts out to encoder - 9
2 - signal from encoder "A" channel
nc - 10
3 - nc
nc - 11
4 - common ground
common ground - 12
5 - common ground
nc - 13
6 - nc
nc - 14
7 - signal from encoder "B" channel
+5 volts out to encoder - 15
8 - +5 volts out to encoder
The pins on the Joy-Stick 2 port used by encoder seem to be:
1 - +5 volts out to encoder
+5 volts out to encoder - 9
2 - nc
signal from encoder "A" channel - 10
3 - nc
nc - 11
4 - common ground
common ground - 12
5 - common ground
nc - 13
6 - nc
signal from encoder "B" channel - 14
7 - nc
+5 volts out to encoder - 15
8 - +5 volts out to encoder
Normally all the common ground pins are tied so you connect pins 4, 5, and 12 together. Normally all the +5 volt pins get tied together, so you connect pins 1, 8, 9, and 15. Some Joy- Stick boards do not have all the connections, or they make have half the connections on one connector and the others on a second connector. With the original pin assignment you needed to use a "splitter" cable to use two Joy-Sticks at one time.
Because of the way the software reads the encoder you may need to turn the encoder several "clicks" in one direction before the DRO changes one count. Be sure to check the power requirements of your encoder before you use the Joy- Stick to power it, or you may damage your Joy-Stick board, your mother board, or your computer's power supply. Check with your Joy-Stick port's manufacture to find out how much power it can safely supply.
If the hand-wheel seems to need to be turned backwards for the way your machine is set up, you can reverse the connections for the "A" and "B" channels to reverse the motion. The encoder should be turned at a moderate speed, if you spin the encoder very fast the motors on your machine might turn backwards, although I have not had that happen with the low resolution encoders I have been using running the programs under DOS.
The default A/B read delay value of around 150 microseconds should work for most computers between 100MHz and 1GHz, on slower computers you may need to decrease this value since there will be some overhead due to the other instructions in the encoder read loop. If the value is too large or too small the motors may turn backwards and then forwards when the encoder is rotated at different speeds, or the motors will jerk or not turn at all. When the value is correct the encoder should work at any speed that you can turn it by hand. The shaft rotation of the encoder does not correspond exactly to the position count in the Jog or Teach modes, so you cannot put a graduated scale on the encoder and expect it to stay in sync with the motors. The position should be read off of the DRO in the Jog or Teach modes. You can change the number of steps per move in the Jog or Teach mode that each "click" on the encoder makes, this lets you increase the movement by 10, 100, or whatever step amount you want.
It is preferred that the CAM programs only be run from BATCH files under a "real" DOS OS, since it is possible that when the CAM programs are run from the DOS prompt or a DOS window of a multi-tasking operating system information required by the programs may get disrupted preventing the programs from operating automatically from a BATCH file as they were designed.
Be sure that you make back-up copies of any files that will be used in batch files or as command line parameters to programs used in batch files since files accessed from batch files or as command line parameters can be overwritten or erased without the programs asking you, and you might find that some important file has been erased or overwritten.
Changes have been made to operation of the CAM programs from the DOS command line. Before the CAM programs can be run from the DOS command line, or from BATCH files it is best to run them, then quit back to the DOS prompt since they need to have their password entered manually the first time they are run after the computer has been turned on each time. After the correct password has been entered the CAM programs can be run from a batch file without entering the password again. Be sure to turn your computer off when you are through running the CAM programs to prevent them from being run from batch files, or command line parameters e.g. SKIP, by unauthorized persons.
Mode options corresponding to the CAM program's main menu selections 2 and 8 are not used in v2.7A, although some of the network commands are available using option U or UTILITY, see below. In the examples below, you can use DANPLOT.EXE (tm) in place of DANCAM.EXE (tm) since they both have mostly the same parameters in v2.73. If you have another version, check for differences before writing any batch files.
Be sure that you create a sub-directory named \XFER\ off of the sub-directory or disk my CAM programs are being run on so that some of the network commands have the right sub-directory to use, not having the right sub-directories can give a error when doing file transfers and cause the network to need to be reset manually. Before using the network commands you should check that each computer on the network has a unique "network ID" code assigned to it, if two codes are the same you will need to change them so that they are not the same. Also you need to configure the BAUD rate and other settings so the computers on the network can all communicate using compatible settings before you try to operate the network using batch files.
You should try to only make file transfers between the XFER\ sub-directories since files can get overwritten or erased by accident. If you keep a back-up copy of your files in a sub-directory far away from the directories that my programs use, and you do not access the back-up sub-directory with any of my programs you will hopefully have a back-up of your files to go back to if you accidentally erase or overwrite a file because of a mistake or program operation.
DANCAM SKIP = bring up main menu for user selection, after the
password has been entered once each boot. This lets
you bypass the password check once you have entered
the password once, until you reboot your computer, or
close the DOS window. When you are going to be away
from your computer for a while, or you need to prevent
non-password access to my CAM programs after they have
run once since the computer was turned on, you should
shut down your computer and re-boot in order to reset
the password checking so that the SKIP command line
parameter cannot be used to bypass the password
checking.
DANCAM toolpath.asc = execute *.ASC tool path, no mode sets mode 1.
DANCAM toolpath.asc 1 = execute *.ASC tool path from file on local disk.
DANCAM toolpath.asc 1 SERVER port = execute *.ASC tool path file on server
connects to server at COM port = 1 to 8.
DANCAM NUL 3 = move manually.
DANCAM NUL 4 = config menu.
DANCAM NUL 5 = help screens.
DANCAM teachout.asc 6 = make teach ASCII file.
DANCAM repliout.asc 7 = make replicate ASCII file.
DANCAM NUL 9 = home up to switches, if configured to.
The replicate option, 7, probably uses the last configuration entered into the programs menus manually and saved in the current configuration file, option 7 starts directly with the scanning when activated from the command line or a batch file. You might be able to select the scanning configuration by renaming the CAM program configuration files from the batch file with the DOS RENAME command before you start the CAM program.
The network commands are divided into LOCAL and SERVER. LOCAL commands generally work on the computer the batch file is being run on but sometimes might be local to the server in some cases, SERVER commands effect the server generally unless the local computer is being used to control the server and such, or a computer connected to the server other than the local computer.
The serial port(s) used on the network are set-up by the menus in the CAM programs. Be sure that you select and enable the port you want to use for sending commands to the server last, the ports you enable before the last one are just used in server mode and to receive files. So think of the order you are enabling the serial ports in, as well as if they are to be enabled or not.
DANCAM LOCAL UTILITY [p3] [p4] [p5] [p6] DANCAM SERVER UTILITY [p3] [p4] [p5] p6]
You can also use U in place of UTILITY like:
DANCAM LOCAL U [p3] [p4] [p5] [p6] DANCAM SERVER U [p3] [p4] [p5] p6]
Using U lets you get longer filenames on the command line.
DANPLOT.EXE (tm) can also be used like: DANPLOT LOCAL U [p3] [p4] [p5] [p6] DANPLOT SERVER U [p3] [p4] [p5] p6]
Using U lets you get longer filenames on the command line.
Parameter [p3] is generally the utility command name keyword, [p4] is the command mode code, [p5] and [p6] are strings, generally file or directory names.
There are several command options, some only work on the SERVER or LOCAL, and others work on both depending on which you select. Where both modes are supported, the file operated on would be LOCAL to the computer where the command is issued generally, but with some options you should note the particulars below since a LOCAL command can sometimes effect the SERVER locally and such.
If you forget to start up the server, and one of the remote computers has already initiated a command that is trying to access the server, when you start the server, the server will ask you if you want to clear the serial port [Y]es or [N]o, you should usually answer [N]o and the server will accept the request without making a data error. The option to clear the serial port is used when there has been a data error from one of the remote computers, and you need to restart and clear the server after all of the remote computers have also been aborted and are not sending any more data. Clearing the server when a remote is sending a valid request will cause a data error on both the server and the remote.
Fetch a file from the server, server must be running to work.
DANCAM LOCAL UTILITY FETCH_FILE mode server_filename local_directory_path
WHERE: mode = 0 for regular files at current bit setting, use 8 bits.
1 compress my *.ASC tool path. 2 for limit *.ASC tool path to 4
places & compress. 10, 11, and 12 same as 0,1,2, plus compare
after transfer. Modes 11, and 12 compare the compressed files,
not the un-compressed file and the original file since the un-
compressed file is usually a different size from the original
file due to losses in the compression. If you need to have the
copy and the original match use mode 10 to compare them.
server_filename is the full path and filename of the file on the server.
e.g. XFER\DANCAM.ASC
local_directory_path is the local directory to put the file into, the
filename portion will be the same as it was on the
server. e.g. XFER\
The local directory path must end with a backslash
in order for the program file name to be added to
the directory path and form a proper full filename
for use on the local computer. In some of the
other command you do not add the backslash, so pay
attention to where the parameters are being used.
FETCH_FILE modes 1, 2, 11, and 12 only work with my *.ASC file type, if you are fetching other file types use modes 0 and 10 only. The compressed modes make a temporary *.ACF file from the *.ASC file, transfer the *.ACF file, then decompress the *.ACF file back to a *.ASC file. The decompressed file using modes 1 and 11 does not suffer too much in the way of losses, but if you use modes 2 and 12 the *.ASC file will be limited to four places to the right of the decimal point, so do not use modes 2 and 12 if you do not want the values in your tool path file altered.
Store a file on the server, server must be running to work.
DANCAM LOCAL UTILITY STORE_FILE mode local_filename server_directory_path
WHERE: mode = 0 for regular files at current bit setting, use 8 bits.
1 compress ASCII,
2 for squeeze to 4 places & compress.
10, 11, and 12 same as 0,1,2, plus compare after transfer.
Modes 11, and 12 compare the compressed files, not the un-
compressed file and the original file since the un-compressed
file is usually a different size from the original file due to
losses in the compression. If you need to have the copy and the
original match use mode 10 to compare them.
101 to 108, move to server, print from server.
111 to 118, move to server, print from server, erase afterward.
In modes 101 to 118 the printer port on 1st server is:
101, 111 uses LPT1
102, 112 uses LPT2
103, 113 uses LPT3
104, 114 uses LPT4
105, 115 uses COM1
106, 116 uses COM2
107, 117 uses COM3
108, 118 uses COM4
201 to 208, forward from 1st server to 2nd server using selected
port on 1st server, the 2nd server automatically finds the port
that has incoming data on it, but you need to tell the 1st
server which port to forward the file out of.
201 = COM1 on 1st server.
202 = COM2 on 1st server.
203 = COM3 on 1st server.
204 = COM4 on 1st server.
205 = COM5 on 1st server.
206 = COM6 on 1st server.
207 = COM7 on 1st server.
208 = COM8 on 1st server.
local_filename is the full path and filename of the file to make on the
local computer, e.g. XFER\DANCAM.ASC
server_directory_path is the directory path on the server where you want
the file stored, the filename portion will be the
same as on the local disk, e.g. XFER\ The server
directory path must be a valid sub-directory on
the 1st AND 2nd server, and end with a backslash.
When you use forwarding with STORE_FILE the file
is leap froged through the 1st server, and so the
directory used needs to be valid on BOTH servers,
so you should use the XFER\ directory since you
should always have the XFER\ directory valid on
all computers on the network. If the sub-
directory is not valid you will get error
messages, some of which may not look like they are
telling you that the sub-directory is the problem.
Also with forward the check for overwrite may not
check the second server, it may just report the
file found on the first server, so be sure that
you have a back-up copy of any files you forward
or store in case you overwrite the wrong file.
When the COM1 to COM4 ports are used to print you may need to use the DOS MODE command to set up the serial port before you run the program, so that the COMx port matches the baud rate and other settings that your printer uses. The LPTx printer ports should not require use of MODE beforehand.
The difference between STORE_FILE and PRINT_FILE and FORWARD_FILE when using modes 101 to 208 is that STORE_FILE takes a file off of the local computer, moves it to the 1st server and THEN prints the file, or forwards the copy to the 2nd server. When PRINT_FILE and FORWARD_FILE are used they act by using a file that is already ON the 1st server.
Make directory works on the SERVER or LOCAL computer.
DANCAM LOCAL UTILITY MAKE_DIR 0 directory_name DANCAM SERVER UTILITY MAKE_DIR 0 directory_name
With MAKE_DIR the directory_name should NOT end in a backslash, e.g. C:\DC27\XFER
Rename file works on the SERVER or LOCAL computer.DANCAM LOCAL UTILITY RENAME_FILE 0 old_name new_name DANCAM SERVER UTILITY RENAME_FILE 0 old_name new_name
On some operating systems the new_name should include the full path and filename from the current directory, otherwise the new file will be placed in the current directory rather than the directory you want to put it in, so if some of your files seem to "disappear" look for them in the root or current directory. This may lead to needing to adjust batch files when using some OS's and some versions of DOS, keep this in mind and check what happens before using RENAME_FILE on any important files. Always keep a back-up copy of your files in a safe place outside of the directories you use with my programs.
Erase file works on the SERVER or LOCAL computer.
DANCAM LOCAL UTILITY ERASE_FILE 0 filename DANCAM SERVER UTILITY ERASE_FILE 0 filename
With ERASE_FILE the filename includes the full path and filename for the file to erase, e.g. XFER\DANCAM.ASC. Be careful not to erase the file at the wrong end, and always keep a back-up copy of your files in case you erase the file at the wrong end and forget to check before you erase the other copy or to see if any data errors corrupted the transmitted file.
Squeeze file works on the SERVER or LOCAL computer. The input and output files are both type *.ASC my format ASCII tool path file, squeeze just changes the number of digits and formatting to make the file smaller if it can. Do not use squeeze on the compressed files. Files that have been squeezed are still *.ASC files, and so will work with the execute tool path from server command, and the fact that they are smaller might improve the speed of transmission from the server a little.
DANCAM LOCAL UTILITY SQUEEZE_FILE digits ascii_filename name_for_squeezed
DANCAM SERVER UTILITY SQUEEZE_FILE digits ascii_filename name_for_squeezed
WHERE: digits = 0 to 12, use 4 digits right of decimal point normally.
ascii_filename is an *.ASC ASCII tool path file, this includes the full
file path to the filename, e.g. XFER\DANCAM.ASC
name_for_squeezed is the name for the squeezed *.ASC copy, this includes
the full path for the new file, XFER\SQDANCAM.ASC
Compress file works on the SERVER or LOCAL computer. The input is *.ASC and output file is *.ACF, compress changes the filetype. The compressed file is generally smaller than the squeezed file, (about half as big) but needs to be converted back to *.ASC for use as an *.ASC tool path type file. The compressed filetype speeds up tool path file transmission, but can only be used to compress my *.ASC tool path file type, other ASCII or text files will probably not work properly, so do not try to use compress on them.
DANCAM LOCAL UTILITY COMPRESS_FILE digits ascii_filename name_for_compressed
DANCAM SERVER UTILITY COMPRESS_FILE digits ascii_filename name_for_compressed
WHERE: digits = 0, or 1 to 12, use 4 digits right of decimal point normally.
0 digits does not alter the number of digits in each number in
the original file, it just compresses what is there. 1 to 12
digits actually changes all of the numbers in the data to limit
the size of the numbers to get more or less compression. Once
the number of digits has been reduced, the data lost cannot be
restored. Use 0 digits mode if you do not want lost digits.
ascii_filename is an *.ASC tool path file in my format, as source. This
is the full path and filename, e.g. XFER\DANCAM.ASC
name_for_compressed is the name for the compressed *.ACF copy to make.
This is the full path and filename, e.g.
XFER\DANCAM.ACF
De-Compress file works on the SERVER or LOCAL computer. The input is *.ACF and output file is *.ASC, de-compress changes the filetype. The compressed file is generally smaller than the decompressed file, (about half as big or less) but needs to be decompressed back to *.ASC for use as an ASCII type file. The compressed filetype speeds up tool path file transmission, but can only be used to compress *.ASC tool path files in my special drawing file format, other ASCII or text files will probably not work properly.
DANCAM LOCAL UTILITY DECOMPRESS_FILE 0 compressed_file ascii_filename
DANCAM SERVER UTILITY DECOMPRESS_FILE 0 compressed_file ascii_filename
WHERE: mode is only 0 for now, the program automatically tries to figure out if
you saved the *.ACF file using 0 digits mode, or 1 to 12 digits
mode, and then tries to use the right decompression method.
compressed_file is the name for the compressed *.ACF copy, as source.
The file to decompress can only be a *.ACF file made by
COMPRESS_FILE from of an *.ASC file, the full path and
filename are required, e.g. XFER\DANCAM.ACF
ascii_filename is an *.ASC ASCII tool path file, as result, this must be
the full path and filename for a new *.ASC file, do not
use the name of the original *.ASC file or you will
destroy the original *.ASC file, e.g. XFER\DEDANCAM.ASC
Compare files is typed LOCAL, but compares a local file with one on the server.
DANCAM LOCAL UTILITY COMPARE_FILES mode local_filename server_filename
WHERE: mode = 0, no pause if OK.
1, pause to tell if OK.
local_filename is a file on the local computer, this includes the full
path and filename, e.g. XFER\DANCAM.ASC
server_filename is a file on the server computer, this includes the full
path and filename, e.g. XFER\DANCAM.ASC
Change bits is typed LOCAL, but changes the data bits on both the local and server computers that are currently connected.
DANCAM LOCAL UTILITY CHANGE_BITS bits
WHERE: bits = 7, use 7 data bits for COM port(s).
8, use 8 data bits for COM port(s).
The *.ASC files can generally be sent by 7 data bits to speed up the transmission, but the *.ACF files need to be sent by 8 data bits. Many file types require 8 data bits, so you should reset the data bits to 8 after using the 7 bit mode. You cannot send *.ASC files using 7 data bits if they contain any of the "international" or other codes from 128 to 255, e.g. in the comment space, but that is not generally a problem with *.ASC files generated automatically by my programs. I you are not sure about the needs of a given file, use the 8 data bit mode.
Shut down server is typed SERVER.
DANCAM SERVER UTILITY SHUT_DOWN_SERVER mode WHERE: mode = 0
This lets you shut down the server by remote from another computer from a batch file, the server may be able to re-activate itself if a loop is made in a batch file on the server, that might be of interest since a computer can act as the server, accept files, be shut down from remote, and then machine parts, and then go back into server mode to accept more files, or something like that, all automatically run from batch files.
Start up server is typed LOCAL.
DANCAM LOCAL UTILITY START_UP_SERVER mode WHERE: mode = 0
The START_UP_SERVER command must be issued on the computer that will become the server, and so it is LOCAL to the computer that becomes the SERVER.
There are also some internal modes, the keywords used for those modes are also reserved words. These commands are in flux, and so may not be quite the same in the version or revision you have, check them with junk files before you try to do something.
RECEIVE_FILE is typed LOCAL because this command originates on the computer that will receive the file.
DANCAM LOCAL UTILITY RECEIVE_FILE mode directory_name A_or_B
WHERE: mode = 0 only, automatic decompression is not supported, use the
COMPRESS_FILE and DECOMPRESS_FILE commands if you need
compression.
directory_name is the name of the file directory to save the incoming
file data to, the name will come from the file sent. The
directory name must end with a backslash, e.g. XFER\
A_or_B controls the screen prompts and pause mode, if you use A the
program checks to see of the file will overwrite a file of the
same name and ask you Yes or No. If you use B the programs will
overwrite with the received file, unless there is an error which
will result in both the received file and the file being
overwritten being lost. Mode A will tell you that the file
transfer went OK if it seems good, mode B will not pause when
done, but will continue with the batch file or go back to the DOS
prompt.
RECEIVE_FILE is different from STORE_FILE because it does not request the file to save, it just waits for a file to come from the server. RECEIVE_FILE also differs from START_UP_SERVER in that it quits after receiving one file from a computer using SEND_FILE, where the server continues until shut down. You can start the server and then shut it down after the transfer from the other computer, so roughly the same thing can be achieved with store and fetch, but send and receive work slightly differently and so give you more options. Do not mix send and receive with using the server on one of the computers since they work differently.
If the computer you are sending a file to with SEND_FILE has not had the RECEIVE_FILE command issued yet, SEND_FILE will wait. If the computer you are receiving a file from with RECEIVE_FILE has not had the SEND_FILE command issued yet, RECEIVE_FILE will wait.
SEND_FILE is typed LOCAL because this command originates on the computer that will send the file.
DANCAM LOCAL UTILITY SEND_FILE mode filename A_or_B
WHERE: mode = 0 only, SEND_FILE does not automatically compress the file, if
you want to you can use the COMPRESS_FILE and DECOMPRESS_FILE
commands in your batch files to compress the file before you
send it, and decompress it after you receive it.
filename is the full filename and path of the file you want to send,
this includes the full path on the computer that the file is
being sent from, not the directory you want the file in. The
directory the file ends up in is controlled by the RECEIVE_FILE
command on the other computer. e.g. XFER\DANCAM.ASC
A_or_B controls the screen prompts and pause mode, Mode A will tell you
that the file transfer went OK if it seems good, mode B will not
pause when done, but will continue with the batch file or go back
to the DOS prompt.
The RECEIVE_FILE command in A_or_B = B ends like a SHUT_DOWN_SERVER, so the sending computer will be ready to go on to other batch file commands, rather than remain in server mode after the file is sent.
The PRINT_FILE command is typed SERVER since it prints a file that is not on the local computer. The difference between PRINT_FILE and STORE_FILE is that PRINT_FILE prints a file already on the 1st server, and STORE_FILE copies the file from the local computer, then prints it from the copy made on the 1st server.
DANCAM SERVER UTILITY PRINT_FILE mode filename_on_server
WHERE: mode = 101 to 108, print from 1st server.
111 to 118, print from 1st server, then erase file afterward.
In modes 101 to 118 the printer port is:
101, 111 uses LPT1
102, 112 uses LPT2
103, 113 uses LPT3
104, 114 uses LPT4
105, 115 uses COM1
106, 116 uses COM2
107, 117 uses COM3
108, 118 uses COM4
filename is the full path and name of a file currently on the server
that you want to print on a printer connected to the server,
e.g. XFER\SOMEFILE.TXT. The printer and server must be on
before the command is sent.
When using the COMx ports to connect to your printer or plotter use the DOS MODE command to set up the serial port before you run the CAM program to work as the 1st server so that the ports are set up for the values the printer or plotter need. Do not enable a serial port used on a printer or plotter for the network server to scan.
If the files you are printing do not end with a form feed character ASCII code number #12, you can print a second small file that has a form feed (FF) character in it to force the page out, or you can use the off line and form feed buttons on your printer. Check the distribution for a file called FORMFEED.TXT, or make your own if there is not one included. The file FORMCFLF.TXT contains a form feed followed by a carriage return and a line feed, which some printers might require in order to eject the printed page.
If you forget to turn the printer on, or have the printer off line the program running in server mode tries to prompt you to fix the problem and then press some keys to continue. If you abort the printing rather than get the printer going you will probably have to restart the server manually, since the transmission would not have finished.
The FORWARD_FILE command is typed SERVER since it sends a file from the server rather than the local computer. This command may not check for overwriting, in the menu version or the command line version, of the files used during forwarding particularly the files on the 2nd server, so watch out that you do not overwrite some important file, and keep a back-up of all files in a safe place away from the XFER\ and other directories used by my FORWARD_FILE and the other commands in my programs.
DANCAM SERVER FORWARD_FILE mode filename directory_on_2nd_server
WHERE: mode = 201 to 208, forward from server to server on COM1 to COM8.
201 = COM1 on 1st server.
202 = COM2 on 1st server.
203 = COM3 on 1st server.
204 = COM4 on 1st server.
205 = COM5 on 1st server.
206 = COM6 on 1st server.
207 = COM7 on 1st server.
208 = COM8 on 1st server.
filename is the full path and filename of a file on the 1st server, e.g.
XFER\SOMEFILE.BIN
directory is the directory on the 2nd server the file is being forwarded
to, e.g. XFER\ note that the directory name must end with a
backslash. With STORE_FILE the directory is used on both the
1st and 2nd servers, and so the same directory needs to be on
both servers, with FORWARD_FILE you can use a different
directory on the 2nd server.
For FORWARD_FILE to work at least three computers are required, the computer making the request, the 1st server where the file is, and a 2nd server connected to one of the COMx ports on the 1st server. You need to tell the 1st server which COMx port on the 1st server to use because there can be more than one 2nd server connected to the 1st server.
The BAUD rates you can try to select are:
50
75
110
150
300
600
1200
1800
2000
2400
3600
4800
7200
9600
14400
19200
28800
38400
57600
115200
The 115200 BAUD rate should work on most computers, but if you need, the server can be adjusted to use different BAUD rates on different ports. Be sure that all computers using a port on the server are set to the same BAUD rate. Also be sure that you select unique network ID codes for each computer on the network. The last port that you enable using the menu in the CAM programs is the one that will be used by the menu and command line parameters, you may be able to change the port used by using the DOS RENAME command to swap program configuration files before the CAM program is run, you can use the menus to set-up more than one configuration file. If you need to change the port you want to use, you can run the CAM program and use the menu commands to edit the com port settings.
To test the BAUD rate and IO delay settings try putting one computer into server mode, then use the message or chat feature from the other computer. If message or chat work, then try to get a directory of the server's disk drive. If you can get a directory try using STORE_FILE and FETCH_FILE, if those work the other commands will probably also work, if not check that your XFER\ sub-directories are on all of your disks and that you are using valid filenames for files that actually exist on the various computers. Always keep back-up copies of any files that you transmit or use with my programs in case you accidentally erase, overwrite, or rename and then erase or overwrite the file.
Most errors on the network will probably occur from using invalid filenames, disk full errors, or entering invalid parameters to the network commands. Try experimenting with the network using cables less than 6 feet long, once you get everything working as you want it to you can then try extending the cable length. It may be possible to use #12 gauge three wire cable for longer runs, but I have not done testing on the effect of cable gauge on run length yet. It may be possible to use amplifiers on the sending end from each computer to extend the cable length. The time delay for longer cables should not cause problems since the programs wait for an echo from the other computer, but I have not tested the effects of long cables on the pulse shape and so cannot say what the maximum length might be. Serial cables should be kept away from motors and other equipment that generate RFI and EMI, shielded cable might be needed in some cases.
If you are going to turn on or off any computers on the network, you should wait until the server is not busy and then shut down the server, turn on or off the other computers and then restart the server. When computers are turned on or off random data can trigger the scanning by the server of all of the enabled ports to stop and wait for data that will never come. If when you restart the server it asks you if you want to clear a port you might want to since unless legitimate data is incoming you will just be clearing random data made by switching one of the other computers on and off. In some cases you might need to run one of my CAM programs on a computer that has just been turned on and select server mode and then quit server mode in order to clear the serial ports, you might need to do this for all the computers on the network. To see if the ports are working try the message or chat feature, then try to get a directory of the server.
Remember that if you have more than one serial port enabled on your computer, the last one that you enabled is used for sending and receiving data to and from the server, so if you are connected to more than one server you need to use the serial port set up command to select the enabled port that you want to use last. In other words, if you enable COM1, COM2, and COM3 in that order COM3 will be the one most of the commands in the network menu will use. If you want to use COM1 you will need to go back into the COMx set up and enable COM1 again, it will then be the last port enabled, and therefore the active one for commands other than server mode. Server mode scans all the enabled serial ports, without regard for the last one enabled. The command that reads the tool path file and operates the motors has an option to select the port to use, and might change the last selected port, so if you get errors when trying to use the network commands check that you have re-enabled the port that you want to use last before using the network commands.
If you open two or more DOS windows in Windows 95 (tm) and operate one of the CAM programs in one of the windows, then try to run the CAM program in the other DOS window you may get CAM network port errors even though there does not seem to be any reason for them. You should only use the programs, particularly the CAM programs, in a single DOS window, if you need to do that sort of thing. This problem with switching windows might come up even if you have quit the programs back to the DOS prompt in the other window. If you get things confused like this close all of the DOS windows and shut down the computer so that it is turned off, and start over using only a single DOS window.
Under Windows 95 (tm) you may have problems trying to enter all of the command line parameters at the DOS prompt if the file names are too long, since you may not be able to word-wrap onto a second command line. To avoid this problem use shorter filenames and directory names, make them one letter if you need to.
The replication input for DANPLOT.EXE (tm) uses the Joy-Stick port. Since the Joy-Stick inputs for the X and Y axis use the analog inputs on Joy-Stick port 1, and the program's Z axis uses the Y axis on the Joy-Stick port, the only analog input on the Joy-Stick port that was free for use with the probe was the Joy- Stick X axis input on port 2, i.e. pin 11.
Note that if your Joy-Stick port, a.k.a. Game port, is on a PCI bus sound card the Joy-Stick port may not work if you boot your computer with DOS 6.22 or a "DOS 95" boot floppy disk, unless you put an AUTOEXEC.BAT file on the boot floppy disk that includes the right path to the driver file for the driver for the sound board that enables the game port on the sound card. Some ISA sound cards may also require a software driver to enable the "game" port. Older ISA Joy-Stick port cards, and some older "multi-I/O" cards that have a "game" port do not usually require a software driver. PCI bus "game" port cards may require a software driver to be run in order to enable the "game" ports. The "game" port on some sound cards only supports Joy-Stick port #1, a.k.a. port "A", and so will not work with features that use the Joy-Stick port #2, eliminating the Joy-Stick for the Z axis jog, and making you choose between using just the Joy-Stick or the encoder, rather than using both of them at the same time as you can if your Joy-Stick board supports two Joy- Stick ports.
Since the replication probe signal input currently only uses Joy-Stick port #2, a.k.a. the "B" port, you will need a Joy-Stick port that supports two Joy-Sticks in order to use this feature. The original IBM (tm) ISA Joy-Stick port card supported two Joy-Sticks, but some "clone" cards made later only support one.
The pins on the Joy-Stick #2 port used by replication seem to be:
1 - +5 volts out to resistance
+5 volts out to resistance - 9
2 - nc
nc - 10
3 - nc
analog signal 0 to 100K ohm - 11
4 - common ground
common ground - 12
5 - common ground
nc - 13
6 - nc
nc - 14
7 - nc
+5 volts out to resistance - 15
8 - +5 volts out to resistance
An optical resistor known as a "CdS" cell can be connected between tied pins 1, 8, 9, and 15 to pin 11. Changes to the light that change the resistance between about 1K ohm and 90K ohm will be converted by the software to brightness data, so the light on the scanned object needs to be bright enough to fall into that range. The common ground pins are only used for shielding the wires and make no direct connection to the signal input. If you use a NPN photo transistor the emitter would connect to pin 11, and you might need to connect a current limiting resistance between the photo transistor collector and the +5 volt pins depending on the maximum current the transistor can handle.
Other types of probe than light can be used such as: a heat sensor, a magnetic sensor, a ultraviolet fluorescence detector, a conductivity gauge, a proximity sensor, a hardness or softness sensor, a radiation sensor, a ultrasonic sensor, a laser range-finder, a RF detector, a gas sensor, a x-ray spectrometer, metal detector, and such to make a 3D map or model of such data, or to make a BMP graphics file of the presence of such detection represented as brightness data. Such other types of sensor would need to be coupled to the Joy-Stick carefully to prevent damage from the way the signal input of the Joy-Stick port operates, but an NPN opto-isolator wired with the collector on the +5 Joy-Stick port supply pins 1, 8, 9, and 15 and the emitter wired to the Joy-Stick signal input pin 11 might take care of what is needed.
When doing scanning using DANPLOT.EXE (tm) it is important to minimize disturbances, particularly low frequency ones, while the scanning proceeds otherwise your *.RAW data will be contaminated with various sorts of noise. You boot the computer from a DOS 6.22 or "DOS 95" floppy disk before scanning since running DANPLOT.EXE (tm) in a windows (tm) window, or full screen while windows (tm) is loaded for multi-tasking mode will probably produce many "glitches" in the data that look like impulse noise. That is because the Joy-Stick port reads analog data by measuring the time it takes a capacitor to change its charge, any interruption to the time measuring changes the analog to digital conversion value, and the *.RAW data.
The probe oversample frequency helps reduce signal "noise" that the Joy-Stick port picks up from: 60Hz hum fluctuations of the light source, ripples in the computers power supply that come out on the +5 volt pins of the game port, RFI or other signal pickup from the wires that go to the sensor, interruptions going on even in DOS mode, and such. By taking many measurements and averaging them the "glitches" and noise from any one sample make a smaller part of the average data for a given point. The default value is usually enough samples per point, but you can adjust the oversampling from 1 up to about 65535. Oversampling values above 255 will probably not help much unless your probe is very noisy. If you are designing a scanner you should use a DC powered light source, or one powered by high frequency power since if the frequency of the light is close to the sensor sample frequency you may get "herringbone" patterns in the scanned image.
Some Joy-Stick boards may have on board digital processing to compensate for the computer's CPU speed differences. Such compensation may interfere with obtaining good resolution of the analog values. Older Joy-Stick boards that do not have such compensation may be able to be adjusted for faster computers by changing the timing capacitors to a smaller value, probably in silver mica type.
When scanning you should try to get the reading on the scanning display for the probe value to between 100 and 200 for the "white" areas scanned, and between 2000 and 4000 for the "black" areas scanned. If you cannot get this much contrast you should adjust the brightness of the light used, or improve your probe or signal input circuit. If you adjust the probe or light while scanning, remember to abort the scan and do it over again since any changes you make will show up in the *.RAW file.
While you are scanning you should not walk around the machine so as to change the amount of light reflected onto the scanned object, or turn on or off lights, or open doors or windows and change the light falling on the scanned subject or you will probably disturb the *.RAW file produced by the scanning, and probably make the data unusable.
As the machine scans the dwell time for measuring each point depends on the signal value, less time for low probe values, and more time for high probe values. As the probe goes over your subject you should be able to see the probe values vary from about 100 to 4000 on the screen display, and hear the motors slow down as the probe passes over parts that give the "black" high values. Therefore the total scanning time changes depending on the subject being scanned.
If you hear the motors making odd intermittent noises during the rapid movements when the probe is not being checked, you may have a program running in background on your computer, perhaps a virus or some program you do not know is on your system, or it may just be some TSR or power saving feature. Do not use any programs running in background while you are scanning using DANPLOT.EXE (tm). You should disable any power saving features, sleep modes, or anything else that can use or interrupt the CPU while my CAM programs are being used. Some harddisks lock up the computer when going in or out of their "power saving" sleep or park mode, you may not be able to use computers that have such a harddisk for some applications using my programs.
In the replication sub-menu in DANPLOT.EXE (tm) are some processing commands that are used to normalize the *.RAW raw data file created when DANPLOT.EXE (tm) scans using your machine. You need to convert a copy of the *.RAW file to a normalized *.NOR file because the signal input to the Joy-Stick port may have been weak or not centered because of a lack of light, a low gain detector, effects of the computer's speed on some Joy-Stick port boards, and other variables. Normalizing expands the input data to fill the range of values for the probe data, and adjusts the values between minimum and maximum values. After you have made a normalized file you can make additional enhancements to the brightness and contrast, view, or convert the normalized data. Commands to convert the normalized data are in the DANPLOT.EXE (tm) replicate sub- menu, and in the DANCAD3D.COM (tm) and DANCAD87.COM (tm) Files Utilities sub-menu.
There are different modes for converting the *.RAW raw data file into a normalized *.NOR file. The mode 0 makes a linear expansion to have the raw data fit the full range, this generally shows more detail in the dark areas. The mode 1 uses the square root and a scaling factor to do a kind of "gamma correction" to make the brightness values non-linear which can help some kinds of scanning, this expands the light areas somewhat. The mode 2 uses the natural logarithm and a scaling factor to do a kind of "gamma correction" to make the brightness values non-linear which can help some kinds of scanning, this expands the light areas and compresses the dark areas. The mode 3, "cooked "A", uses the natural logarithm and a scaling factor and changes to the brightness and contrast to do a kind of "gamma correction" and clipping to make the brightness values non-linear which can help some kinds of scanning, particularly scanning photographs or line art using a photo-transistor. You can make a copy of the first normalized file with additional contrast or brightness changes, but if you "push" details off the top or bottom of the brightness curve you cannot bring those details back, so always keep your raw data and first normalized files in a safe place so you can come back to them if you need to make copies with more adjustments. Try mode 3 to make a *.NOR normalized file from your scanned *.RAW raw data file first if you are going to convert the normalized data into a *.BMP file later.
If you make a *.BMP file from the scanned data you might use some other graphics program to adjust the image tones before you load the adjusted *.BMP file into DANCAD3D.COM (tm) or DANCAD87.COM (tm) to make a tool path or drawing element.
The FILES CONVERT macro command, in the CAD programs, has been updated to support a special palette for conversion of *.NOR files into *.BMP 8 bpp 256 palette mode files with up to many shades of gray the special new macro command is:
FILES CONVERT NOR filename.nor BMP8NM256 filename.bmp
Because this conversion uses a special gray tone palette, you must use palette conversion if you want to convert a *.BMP file made from a *.NOR file made from a *.RAW file into a *.PIX file using the screen display M256 palette, i.e. as in video display mode S640M256, S800M256, S1280M256, and S1600M256. Be sure to see the prompt in the *.BMP to *.PIX conversion regarding palette conversion or not, and select palette conversion. Programs that read *.BMP files should not have more of a problem reading the BMP8NM256 palette than they would any other palette from a *.BMP file.
In DANPLOT.EXE (tm)'s replicate sub-menu you can also make a copy of the normalized file with negative brightness values, or make a very high contrast "black or white" copy.
When scanning with a photo transistor you may need to use a greenish or IR cut-off filter to cut out the infrared light since the extra red and infrared sensitivity of the photo transistor may give "false" or unexpected brightness values from some subjects due to the different reflectivity of dyes in the infrared and visible light wavelengths. An alternative to using a filter is to use a red, yellow, green, or blue LED as the light source since those LED's will not give off much infrared light.
The *.NOR normalized raw data or *.ASC ASCII file produced by DANPLOT.EXE (tm) should be examined, processed, or edited in my CAD programs before the data is used as a tool path with DANCAM.EXE (tm). The *.ASC data can be used with DANPLOT.EXE (tm) after being examined in the CAD programs, but some editing may be helpful.
You can convert the *.NOR normalized scanned data from your machine into a standard *.BMP file by using the Files Utilities BMP NOR command in DANCAD3D.COM (tm) or DANCAD87.COM (tm). Because *.BMP files are scanned left to right BOTTOM to TOP you need to enter the starting location for the scanning y axis point in DANPLOT.EXE (tm) as the point at the BOTTOM of your subject, and the ending y axis scanning point as the TOP of your subject. To improve compatibility with programs that read *.BMP files it is best to use a number for the x pixels that is an even multiple of the number eight, e.g. 64, 120, 2400, and so on, and have the number of y lines times x pixels per line evenly divisible by 32, i.e. no remainder. For example x 640 by y 480 gives 307200 which divided by 32 is 9600 with no fraction, and 640 divided by 8 gives 80 with no fraction.
The *.BMP file made from the *.NOR file can be converted into an *.ASC or *.PIX file by using the same commands that convert *.BMP files made in other ways. The various conversion modes can be used for making tool paths or triangle surface data.
The two simple viewers for the *.NOR data in DANPLOT.EXE (tm) start at the top of the screen, and so will show files scanned for conversion to *.BMP file data upside-down, but correct left to right. These simple viewers only show the first corner scanned of the scanned area, and are just for quick checking of the probe adjustment. You can make a trial scan by increasing the scan increments for the x and y axis to get just x 16 by y 16 points in order to get a quick check of the probe data over the whole scanned field. For making *.ASC files I would normally scan top to bottom, but is does not matter what direction you scan in since you can use the Flip and Rotate commands in DANCAD3D.COM (tm) or DANCAD87.COM (tm) to change the *.ASC file after it is loaded into the drawing workspace.
The Plotterize, Weave, Fill, Link, Partition, Betweens, Assemble, Fit curve, and similar commands can probably be used with various *.ASC files converted from the normalized *.NOR files made from the raw *.RAW scanned data, so see them also for other ideas of various ways the scanned data can be edited into elements or tool path files.
The z axis top point setting can be used to focus the probe, by having it move down a set amount from the z home point.
Be sure that you look at, and check for errors in, any tool path file you make using the replication modes in DANPLOT.EXE (tm) by using the drawing editor in DANCAD3D.COM (tm) or DANCAD87.COM (tm) before you try to use that tool path in my CAM programs to make a part or something!
See also the replication configuration in DANPLOT.EXE (tm).
The replication mode in DANCAM.EXE (tm) uses an on or off state from the "auxiliary input or C axis home switch" (my pin definitions) pin on the parallel port to control the Z axis motor to move a probe up and down in order to scan out 3D shapes. If metallic objects are being scanned it is possible to have a metallic probe open and close a circuit to relay the contact data. If a non metallic object is being scanned the probe needs to act as a switch by up and down or sideways motion of very small amounts.
Since the replication mode in DANCAM.EXE (tm) uses the Parallel port, problems with the Joy-Stick port are not involved, but if you use DANPLOT.EXE (tm) and have the "C" axis home switch wired up, you will need to add a way to switch between the probe for DANCAM.EXE (tm) and the "C" axis home switch for DANPLOT.EXE (tm) since the same pin on the Parallel port is used for both features, although not at the same time.
The shape of the probe tip should be the same as the cutter that will be when the "duplicate" is cut later in order to avoid having to do extra cutter radius compensation.
To make the connections to the "auxiliary input" (my pin definitions) you connect the "N.O. switch" (normally open contact, or hi-z) so that it is from common ground to pin 15 on the computer's 25 pin connector, or to pin 32 on the centronics 36 pin printer cable. The input pin should also be connected through a 2.2K ohm "pull-up" resistor to a +5 volt supply (be sure the ground on the 5 volt supply also connects to the parallel port ground pins).
The "auxiliary input" pin is held at +5 volts through the 2.2K ohm 1/4 watt pull-up resistor when the probe is not in contact with the scanned object, and goes low-z (short circuit) to ground, i.e. 0 volts, when the probe touches the scanned object.
The probe should generally be an isolated circuit connected to the parallel port through a high speed opto-isolator or the equivalent.
The ASCII file produced should be examined, processed, or edited in my CAD programs before the ASCII file is used as a tool path. There are two scanning modes in DANCAM.EXE (tm) v2.71. DANCAM.EXE (tm) v2.71 scanning mode #1 makes a tool path file with the lift and rapid move lines included so that the tool will hopefully skip over the work-piece before starting to cut each contour path. DANCAM.EXE (tm) v2.71 scanning mode #2 makes a tool path file with just the contour lines saved so that they have an equal number of line segments, this is important since the partition command in DANCAD3D.COM (tm) and DANCAD87.EXE (tm) needs all of the "chains" that make up the contour lines to have the same number of line segments so that it can break up the contour lines and be used by the Betweens, Assemble, Fit curve, Weave, and such. After the Betweens command has been used the Plotterize command might be used to make extensions for the rapid movements clear above the work-piece. After the Weave command the Fill command might be used to make a surface machining tool path from the triangle element produced.
Do not try to use an *.ASC file saved using DANCAM.EXE (tm) v2.71 replication scanning mode #2 as a tool path file without first using the Plotterize and or other editing commands in my CAD programs, or you will probably not get the results you want, and you may damage your machine, break tools, injure yourself or others, and have many other problems!
The Plotterize, Fill, Link, Partition, Betweens, Assemble, Fit curve, and similar commands can probably be used with various *.ASC files converted from the normalized contour chain *.ASC files made using DANCAM.EXE (tm) scan mode #2, so see them also for other ideas of various ways the scanned data can be edited into drawing line elements, triangle elements, or tool path files.
Be sure that you look at, and check for errors in, any tool path file you make using the replication modes in DANCAM.EXE (tm) by using the drawing editor in DANCAD3D.COM (tm) or DANCAD87.COM (tm) before you try to use that tool path in my CAM programs to make a part or something!
See also the replication configuration in DANCAM.EXE (tm).
Many of the commands in the menus have undergone some change from v2.6 to v2.7A, below are some of the new or more changed commands in the CAD program text sub-menus off of the main menu.
To get the Loaded Font File menu you need to press [L] from the main menu. This new command Statistics in the Loaded Font File menu tells you about the currently loaded font. This can be a help to you when you are creating your own font files, since you can know if you are getting close to filling up the font table.
Letters with curves take up many of the line segment spaces in the font table. In v2.7A the size available in the font table has been increased to allow fonts with smoother curves to be created.
Fonts saved with v2.7A will probably not load into previous versions, so do not try to make bigger fonts with this update and use those files in older versions.
This sub-menu has undergone change. Since my LOAD INDUSTRY commands only support a sub-set of the commands used by each type, some files made by other programs may not load properly. You may be able to work around some of these problems by changing the driver used in the program saving the file, or altering the way the drawing is made before you save it. Since I am most probably unfamiliar with the software you might be using to make such files, it is unlikely that I can give you instructions regarding such programs. You may also be able to correct some problems with files you are trying to load by using the Write command, since many of these files are ASCII data the search and replace feature in Write might be able to be used to alter the commands in the file to avoid loading errors. If you have many files to alter before loading into my programs you might write a small text reformatting program in BASIC or some other language to read the files as saved, and make a copy with the needed changes, what those changes would be I cannot really say you will have to look at the files themselves and experiment to figure out what commands are in need of alteration.
Note that in v2.7C a Binary File Editor was added to the main menu of the CAD programs, which might be a help in editing some kinds of files to remove or alter parts that cause trouble with the LOAD INDUSTRY commands.
HPGL files that you want to convert to ASCII tool path files for use with DANPLOT.EXE (tm) should now be loaded into the workspace of DANCAD3D.COM (tm) or DANCAD87.COM (tm), then be inspected in the drawing editor, and then be saved as an *.ASC ASCII tool path file with the SAVE ASCII command. If you have problems loading HPGL files you might try using a different plotter driver in the program making the HPGL file, or you might try saving the drawing as a BMP file and editing the BMP file in the software that came with your scanner before loading it into my CAD programs by using the commands that load or convert *.BMP files. The default driver for the Load Industry HPGL command is DRIVERS\HPGLDFLT.CFG, you can use the FILES COPY command to copy that driver so you can use the options in the Load HPGL sub-menu to alter how the files are loaded.
The Drill command might load drill pattern files used for drilling. This Drill command loads the *.TXT ASCII type drill file, not any of the binary type drill pattern files, such as *.DRL. When you make the drill pattern file be sure to save it as the *.TXT type file. The loaded element could then be saved as my *.ASC ASCII file for use with the CAM programs. See also the LINK and PLOTTERIZE commands in the drawing editor. The default driver for the Files Load Industry Drill command is DRIVERS\DPCBDFLT.CFG, you can use the FILES COPY command to copy that driver so you can use the options in the Files Load Industry Drill sub-menu to alter how the files are loaded. If you cannot get this command to work with your files you may be able to make a HPGL plot to disk of the pads, and use the Drill points command in the drawing editor to extract the drill points, then use the Plotterize command on the extracted points to make a tool path for DANCAM.EXE (tm) or just use the extracted points with DANPLOT.EXE (tm).
The Files Industry Load G code command loads some G and M codes and makes an element in the workspace. The element loaded could then be edited and saved as an ASCII or G code file for use with CAM programs. The default driver for the Files Load Industry G code command is DRIVERS\GCODDFLT.CFG, you can use the FILES COPY command to copy that driver so you can use the options in the File Load Industry G code sub-menu to alter how the files are loaded. The driver DRIVERS\GCODTEMP.CFG is used by the CAD programs to execute some of its internal commands, so you should probably not modify that driver unless you are sure that the changes you make will be for the better and not cause problems later.
Note that in v2.7C two more reserved drivers, DRIVERS\GCODPHAN.CFG and DRIVERS\GCODSTIC.CFG where added to the distribution for use by the drawing editor's [N]C sub-menu [A]rc command in order to prepare phantom and stick arcs that the SAVE GCODE command can save as G02 and G03 motion type commands.
The BMP option loads BMP drawings that are 1 BPP or line art (B&W) via a JET page file. The commands in the FILES UTILITY sub-menu can load color BMP files, so see those commands also. The size of the BMP file to load needs to be edited with the software that probably came with your scanner so that it is the exact pixel size of the JET page file to be used for conversion.
The STL option loads 3D triangle elements from files that use a sub-set of a variant of the STL ASCII format, i.e. not the Binary STL format. It might be possible to import 3D shapes using this command, but since it is experimental I do not know what programs might be able to make files that are compatible with the STL variant that is read. There are two loading modes, try to convert the STL data into a triangle element for hidden line display modes, or convert the STL data into a wire- frame element only able to be displayed as wire-frame lines.
With some of the above commands configuration files are used, default files are probably made automatically, but you will need to edit the default files to adjust how the conversions will operate for your needs.
Some changes where made to the FILES SAVE INDUSTRY sub-menu in v2.7A.
The HPGL option can be used to save 2D plots, so if you want to save a 3D hidden line plot you need to use the HARDCOPY READY command first to make a 2D element of the 3D hidden line display mode, and then save the 2D plot of the element HARDCOPY READY made as HPGL data in a file. Triangle elements need to be converted to "free" lines by the HARDCOPY READY command before they can be saved to plotter (vector) file types.
The POSTSCRIPT command can make a Postscript (tm) file of a drawing, but if you want to save 3D hidden line drawings you need to use the HARDCOPY READY command first to make a 2D element of the 3D hidden line display mode.
The DXF commands can be used with a 2D element made with the HARDCOPY READY command so as to save hidden line drawings similar to JET print out. If you are trying to save triangles you might look into the STL option. There may be other DXF options in subsequent revisions, so check the current program release.
The Files Save Industry G code command saves 3D tool path elements as G code mostly using the G01 command for movements. In v2.7C the Files Save Industry G code command was revised to also be able to save rapid and arc motions using G00, G02 and G03. If you want to make a G code file using G00, G01, G02, and G03 as well as some other commands see the G code output file and the commands in the drawing editors (new for v2.7A) NC sub-menu. The G code output file only works with a few commands in the NC sub- menu, if you want to use the full range of editing commands you can save any line element as G01 movements using this Files Save Industry G code command, including irregular curves, surface profiles, and such made up of many short line segments.
The BMP option saves a 1 BPP or "Line Art" (B&W) BMP file using the JET PAGE file commands. This is a good way to export drawings for use with other graphic programs. For display on the internet drawings saved as BMP might be converted to JPG or GIF with the software that came with your scanner. The JET driver used, DRIVERS\*.JET, effects the pixel size of the BMP file produced. The JET INSTALL command can be used to adjust the JET drivers. The main menu CHANGE command selects the default JET driver to use. Color drawings can also be saved, but you need to use the BMP command in the main menu Preview command while displaying in one of the color display modes, which work best on SVGA video cards. Pixel files can be converted to BMP files, see the FILES UTILITY sub-menu.
The STL option tries to make a STL ASCII file from a triangle element. Since this is an experimental command I do not know what if any programs can read this type of file. There are two options, either the normals from the triangles can be saved, or they can be nulled. If you need to reverse the triangle orientation before saving see the REVERT BOTH command in the drawing editor.
This command makes a BMP drawing file that might be able to be loaded into other programs from a JET page file (set). This command saves line drawings in black and white, if you want to save color or gray tone drawings use the main menu Preview command's BMP save option and an EGA, VGA, or SVGA video board.
To make the JET page file use the JET MAKE and JET ADD commands.
This command loads a 1 BPP B&W line art BMP drawing file into a JET page file. You need to use JET MAKE to make a JET page file. The size of the BMP file must match the size of the JET page file exactly. To adjust the size of your BMP file use the software that came with your scanner, or some other graphics program. You may have problems adjusting the size of the BMP file exactly in your graphics programs, you may need to enter a size one pixel larger or smaller than the right size in order for the drawing to be re-sized to the correct dimensions.
Once you have the drawing in a JET page file, you can use the commands in the JET sub-menu to edit the drawing or print it out.
If you want to load color or gray tone drawings or photographs use the FILES UTILITY BMP PIX or FILES UTILITY BMP ASCII commands.
This command converts a DANCAD3D.COM (tm) pixel file into a BMP file for use in other programs. The BMP file will be in color, gray tone, or monochrome to match the *.PIX pixel file. The mode of the pixel file is picked at the time it was saved and depended in part on what video board you selected. You may be able to re-size the BMP file in the software that came with your scanner or some other graphics program. Line drawings generally do not re-size smaller without some lines becoming degraded, but that depends on the graphics program you are trying to use.
Pixel files can be saved from the main menu Preview command, the Files Save Pixel command, or from a macro by using the macro SAVE PIXEL command.
This command does the reverse of FILES UTILITIES BMP EXPORT, it makes a pixel file from a BMP file. The BMP file must be in 8 bpp 256 palette mode color or gray tone type and the exact pixel size horizontal and vertical of the pixel file that you are trying to make. You may need to edit your BMP file to re-size it to the exact dimensions needed for it to load properly. You may need to enter a pixel size one pixel larger or smaller than the desired size for your graphics editing software to make the file have the right dimensions.
Gray tone BMP files import better than color files because palette conversion is required for files that do not use the palette that my programs use. During palette conversion colors are relocated to the nearest color that is in the palette being displayed. Drawings imported that only use the 16 basic colors will convert better than drawings that use colors in between the basic colors. Gray tones re-map better since they are just a little brighter or dimmer on the new palette.
Although photographs can be converted, the color palette used will make for a less than perfect display. In some cases you may want to convert color images where you are trying to use the SELECT command in the drawing editor later to filter lines by color, or you are doing an analysis of motion where colored markers where used on the subject.
Gray scale images will display best when the M256 palette is selected in the SVGA modes. On EGA or VGA boards the M16 palette can be used, but with somewhat less tonal detail.
BMP color files that are saved from DANCAD3D.COM (tm) can be reloaded and be converted into Pixel files with this command without palette conversion, and therefore should not suffer much or any loss of tonal or color values.
This command converts a *.NOR normalized *.RAW scanned data file made using the replicate command in DANPLOT.EXE (tm) into a *.BMP graphics file using a special monochrome palette. When converting *.BMP files made by this command into *.PIX files using the FILES UTILITIES BMP PIX command you should use the palette conversion since the M256 palette used for the DISPLAY and Preview commands is different from the BMP8NM256 palette used by this command to save the *.BMP file.
There are commands in DANPLOT.EXE (tm) that allow you to adjust the contrast, brightness, and make negative copies of the source *.NOR file. The manipulated *.NOR copy might be used to improve the conversion to *.BMP graphics file. You might also edit the *.BMP file made by this command by using some other graphics program that can read *.BMP files.
The macro equivalent of this command is:
FILES CONVERT NOR filename.nor BMP8NM256 filename.bmp
Information about how to hook-up the scanner probe for use with DANPLOT.EXE (tm) is given elsewhere in this section.
See also the menus of the replicate command in DANPLOT.EXE (tm).
This command converts a 8 bpp 256 palette mode color or gray tone BMP file into my *.ASC ASCII file format. That *.ASC file can then be loaded into the workspace and edited before being saved in *.ASC or some other file type.
This command has uses for importing drawings and images to produce elements for hidden line drawings, or for use in making tool paths.
There are several conversion modes, see the section in this section about the macro version of this command "UTILITY BMP256_TO_ASCII" for more information about how the modes change the *.ASC file created.
You may need to use the Offset, Rotate, and Magnify commands after you load the *.ASC file made in order to adjust the size and cutting depth. If you convert many files of the same type you can write a macro to load the files, and make the needed adjustments.
This command displays one color from a 8 bpp 256 palette mode color or gray tone BMP file, so that you can match the mixing of "oil" paint for use with a tool path made by the FILES UTILITIES BMP OIL command.
Nine colors of paint are used:
BU = Blue paint CY = Cyan (blue-green) paint GN = Green paint YL = Yellow paint RD = Red paint MG = Magenta (purple-pink) paint WI = White paint GR = Gray paint BL = Black paint
Only four of the nine colors are used to make the needed color, the portions of 1000 parts are displayed at the top of the matching screen. The colored rectangle in the gray rectangle is the color you are trying to match. The amounts of the various paints suggested are very approximate and you will need to make adjustments depending on the types of paint you are using.
The color of the paint may change when it dries, and the adjustment of your computer monitor will effect the display of the color.
If you do not match the colors closely the painting may have a speckled appearance because some of the colors are darker than in the BMP file, and others are lighter.
Some changes were made to the BMP Matching command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
This command converts a 8 bpp 256 palette mode color or gray tone BMP file into my *.ASC ASCII file format. That *.ASC file can then be loaded into the workspace and edited before being saved in *.ASC or some other file type.
Some BMP files may not use all of the palette values, so some palette values may make an empty ASCII file.
This command has uses for importing drawings and images to produce elements for making tool paths for making "oil" paintings.
There are several conversion modes, see the section in this document about the macro version of this command "UTILITY BMP256OIL" for more information about how the modes change the *.ASC file created.
You may need to use the Offset, Rotate, and Magnify commands after you load the *.ASC file made in order to adjust the size and centering. If you convert many files of the same type you can write a macro to load the files, and make the needed adjustments.
Some changes were made to the BMP Matching command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
This command removes the comments from macro files to make them take less disk space and possibly run a little faster. You should make a backup copy of any macro file that you are going to process with STRIP since you do not want to lose all the comments in case you need to edit the macro later. If there is a faulty comment, or code has been commented out, parts of the macro will be lost when stripped, so always keep a backup copy of any files you convert or alter.
See also the macro STRIP command.
This command makes *.ASC drawing or tool path files take less disk space. Be sure to back up your *.ASC file before squeezing it in case there is a problem with the conversion such as a disk error or something.
See also the tool path squeeze and compression commands in the CAM programs that can be used to make the tool path files smaller for transmission over the CAM network or for storage on the file server.
Tool path files generally only require three or four decimal places right of the point, but triangle elements for hidden line removal or making tool paths of surfaces may require more digits right of the decimal, so be careful in squeezing files than contain triangle elements, and keep a back-up of the original file somewhere.
This command makes an *.ASC drawing of tool path file from a Pixel file. If you are importing a drawing or photograph using the FILES UTILITIES BMP ASCII command might work better, this command is mostly for converting images made with DANCAD3D.COM (tm) for special uses in hidden line display, and making special purpose tool path files.
See the description of the macro version of this command, UTILITY SCREEN_TO_ASCII, for the description of the conversion modes used with this command.
This command makes a HEX or hexadecimal (base 16) coded in ASCII text file from a Binary or other disk file, primarily for use later in the EXPORTFILE B macro command to make a copy of a Binary file from data included in a macro file.
The HEX digits in ASCII are represented using these codes:
00 = 0 01 = 1 02 = 2 03 = 3 04 = 4 05 = 5 06 = 6 07 = 7 08 = 8 09 = 9 0A = 10 0B = 11 0C = 12 0D = 13 0E = 14 0F = 15 10 = 16 or (16 * 1) + 0 11 = 17 or (16 * 1) + 1 12 = 18 or (16 * 1) + 2 A4 = 164 or (16 * 10) + 4 ED = 237 or (16 * 14) + 13 FF = 255 or (16 * 15) + 15
Each set of two HEX digits stands for one Binary "byte" of data, the sets of HEX digits are separated with an ASCII space.
This command reverses the FILES UTILITIES HEX HEX command, it converts a HEX file in the DANCAD3D.COM (tm) format into a Binary file, ASCII file, or any other file type. You can create the HEX information with the Write command if you duplicate the format that FILES UTILITIES HEX HEX uses.
This command finds a checksum value for a file. The checksum value can then be used later with the FILES UTILITIES HEX COMPARE command to see if any bytes in the file have changed. This command is probably intended for use on DOS files that are 2.1GB or smaller.
This command uses the checksum found with FILES UTILITIES HEX FIND to check a file to see if it matches that checksum. If the checksum does not match the file has probably been altered, corrupted, infected, damaged, or otherwise changed.
See also the macro equivalent of this command for use in a macro.
This command displays a test pattern for each of the various video modes and palette setting combinations. Only some of the many combinations will be available for display, and which ones you can see depend on what kind of video board you are using and what video mode board type you selected when you installed the program.
Which modes you can display is also limited my which modes your monitor can display properly, do not select modes that will cause your monitor to lose sync.
The pattern can be useful in adjusting the brightness settings on your video monitor, since the brightness tends to change quite a bit when the monitor and video board switches from one resolution to another resolution.
If the pattern looks very dark or light on your monitor, and the front monitor brightness and contrast controls are all the way to their maximum, your monitor may require internal adjustments. Internal adjustments to your monitor should be done by qualified service personal only. The adjustment near the focus control can sometimes be used to adjust the overall brightness, but you should never open your monitor and make changes to such controls since changing the high voltage controls might alter the x-ray output of your monitor and might possibly cause or contribute to cancer, birth defects, and sterility.
This command can be used to make shaded backgrounds as Pixel files that can be loaded for use as a background behind the display of elements. See the description of the macro version of this command, CRT BACKGROUND, for a description of the various mode codes.
The main menu Preview command can automatically load a background file, or you can use the LOAD PIXEL command before the DISPLAY command in a macro.
The Pixel file needs to be the same video mode, resolution, and palette as the video mode, resolution, and palette that will be used with the main menu Preview command or macro GRAPH_MODE command later when the background is used.
The backgrounds look best in the SVGA M256 and C256 video palette modes.
This command displays a negative image of a Pixel file for photography on "positive" film stock. Positive film stock makes a negative image, so you need to photograph a negative image on the video screen to get a positive image on the film.
For palette settings M2, C4, M16, and C16 a file of the negative image can be saved for use with LOAD PIXEL or FILES UTILITIES ASCII PIXEL. The palettes M256 and C256 are made negative by changing the video board palette settings, and so the pixel file saved is the same in negative or positive, so you cannot use LOAD PIXEL to view the negative pixel file as negative, you need to use this command.
The macro version of this command can be used in animation macros when you want to use color positive film to make a positive color animated movie directly from the SVGA CRT without making a negative first. Since the positive film is fine grain and sharp the projected image will be "1st generation" rather than a "2nd generation print" from a color negative. Color filters will probably be needed between the monitor and the cine film camera to correct the white balance, generally yellowish orange and reddish or magenta transmission filters. The addition of narrow band absorption filters for blue-green and yellow may improve the color saturation, since the phosphors in the monitor may produce colors off the sensitivity peaks of the film's layers.
Purge is now available in the drawing editor Elements sub-menu. Purge removes some "duplicate" line segments from drawings where lines are duplicated or superimposed. The Purge command should generally NOT be used except on "free" line drawings that are to be plotted on a mechanical plotter and you do not want the pen plotter to trace over lines that have already been plotted once already. Purge only removes lines that have the same end points.
Purge was not conceived for use on triangle elements, and with faster computers now the redraw improvements it was meant to produce are not as important.
Macros written for versions before v2.7A that use the PURGE command and the ALTER, DELETE, or other commands that index lines in the workspace by their line number will probably need to be edited to run under v2.7A, since the line numbers used to index the lines will probably be different, particularly when PURGE was used after LATHE or THICKEN.
WORLD 240 # n PURGE
See also information on the WORLD_SCALE macro command since it needs to be used before PURGE to set the tolerance for the end point search.
The line Insert command has been altered in v2.7A to put the new line at the end of the element the line is being inserted into, i.e. the last line of that element. In the drawing editor Insert now defaults to the same line attributes as the last line in the element being inserted into, and the line color of the elastic line will, during the insertion of the new line in the drawing editor, show the same color as the last line of the element being inserted into, when the color drawing editor screen video mode is selected.
REVERSE command now reverses elements if element 0 is selected, i.e. if you have three elements, 3 becomes 1, 2 stays 2, and 1 becomes 3. The line order is reversed in mass from line one to the last line. Watch out for the append line command since it will append to what was element 1, since element 1 is now the last element.
If you REVERSE all of the elements in the workspace, then draw lines, the REVERSE all elements again, you will have drawn lines in "front" of the old element 1, in reverse order, which might be useful when you need to stick some lines at the start of a tool path, or some other case where the order the lines are drawn is important. Just remember to draw the new lines in reverse order direction since you are going to use REVERSE to move them from the tail to the head.
EXPORTFILE macro command makes a file on disk from data stored within the text of the macro file body, and can be used to make a text file for the macro BLOCK_TEXT command, can be used to export drawing data into an *.ASC (ASCII type) file, can be used to export a sub-macro for the macro RUN command to use, or be used to export binary data for creating *.FON font files and other files of any type.
EXPORTFILE macro command is useful to keep all the needed parts of a macro in a single macro file body, and then have the macro automatically create, i.e. export, those various parts as additional files that the macro needs for various commands at the time that the macro is run. In other words it is a way to supply a macro as a single file rather than a collection of files of various kinds.
If sub-macros or other data is to be exported, the export entries should be below the bottom of the macro code and use the GOTO command to go down to the EXPORTFILE commands, then back up to near the top of the macro so that the extra text does not slow down the macro code, the "end" of the macro would then be in the middle of the macro file, and a GOTO command would jump to a label at the bottom of the macro file to exit.
EXPORTFILE mode filename
WHERE: mode T = make text file.
A = append text to a text file.
B = make a binary file from hexadecimal text data in macro.
i.e.
EXPORTFILE T C:\SUB\SOMENAME.TXT
start......text
more.......text
last.......text
ENDEXPORTFILE
EXPORTFILE A C:\SUB\SOMENAME.TXT
start......text to append
more.......text to append
last.......text to append
ENDEXPORTFILE
EXPORTFILE B C:\SUB\SOMENAME.BIN
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 FF FE FD FC FB
ENDEXPORTFILE
The HEX data can be made by using the Files Utilities Hex Hex command to make a file of HEX data, then use the Load command in the Write command to read the HEX data from the file made by the HEX command into your macro code, between the macro commands EXPORTFILE and ENDEXPORTFILE.
This command lets you convert a raster Pixel file into an vector, i.e. line segment, ASCII drawing file. This is a special purpose command that has some uses for hidden line drawings, file conversion for printing pixel files, and preparing tool path files for CAM uses.
UTILITY SCREEN_TO_ASCII mode filename.asc
WHERE: mode n = 10, makes two triangles for each pixel in a plane with the line
color taken from the pixel color, i.e. for a rectangle
image usable in hidden line elements.
20, same as 10 but pixels with color 0, i.e. background, are
not converted leaving "holes," for making tool paths for
engraving filled in patterns, see also FILL_TRIANGLES
command.
30, makes dots of line color, like 10 but makes just dots
rather than pairs of triangles, for printing, plotting, and
making tool paths.
40, like 30 but without background, for making tool paths where
you want to engrave filled areas, or make stencils.
50, makes up and down lines starting at z = 0 and going to the
depth equal to a value derived from the pixel color, makes
a 3D relief that can be used for a plunge tool path, see
also LINK and PLOTTERIZE.
60, same as 50 but omits the background portions from color 0
pixels.
70, makes dots at depth relative to z = 0 using the pixel color
to calculate the depth for each dot.
80, same as 70 but without the background.
100, makes horizontal chains of line segments by the depth
derived from the pixel color, can be used with PLOTTERIZE
to make a tool path file.
110, like 100 but omits portions that are background color 0.
filename.asc, is the output file.
This command converts a pixel file into an ASCII drawing file, such that brightness values are converted into changes in line elevation in some modes, making the converted elements 3D and possible useful for some kinds of tool path. Another command that converts the line data directly from BMP files is preferred since palette conversion is made directly from the scanned image file, rather than from a conversion of that data into the palette used by the Pixel file type.
The M256 palette mode Pixel files will probably produce the smoothest surface because the other modes have more dithering to achieve shading. The M2 mode files might be useful for simple engraving.
The ASCII file produced will probably need to be scaled using the MAGNIFY command to adjust the depth and other dimensions. The OFFSET command could be used to adjust the bottom depth and position on the work-piece.
The Preview and DISPLAY command display modes such as 44 and 54 might be used to make shaded projections of surfaces of elements drawn using triangles so that the depth could be extracted from the brightness of the points in the Pixel file saved.
There are other commands that can be used to prepare 3D tool paths that may be a more accurate way to form surfaces, but this command is available for use in special circumstances where data is in a Pixel file and you want to convert it to various kinds of line or triangle data.
The UTILITY SCREEN_TO_ASCII conversion modes 50 and 60 may be useful in making an *.ASC file that DANPLOT.EXE (tm) can read to operate a photo-plotter to expose photographic or lithographic film. The length of the lines made for each pixel in the source file will correspond to the brightness values, so the Z axis feedrate in DANPLOT.EXE (tm) will translate that line length into exposure time, and the Z axis direction signal from the parallel port can be used to switch the exposure lamp on and off. With a bright UV source and a slow feed rate you might be able to plot directly to photo resist without making a negative first. See also the UTILITY BMP256_TO_ASCII command to photo-plot from BMP files.
See also WEAVE, LINK, PLOTTERIZE, FILL_TRIANGLES, BETWEENS, and CURVE_FIT.
This command lets you convert a raster BMP file into an vector ASCII drawing file. This is a special purpose command that has some uses for hidden line drawings, file conversion for printing BMP files, and preparing tool path files for CAM uses. The background color for BMP files is generally "black".
UTILITY BMP256_TO_ASCII mode bmpname.bmp filename.asc
WHERE: mode n = 10, makes two triangles for each pixel in a plane with the line
color taken from the pixel color, i.e. for a rectangle
image usable in hidden line elements.
20, same as 10 but pixels with color 0, i.e. background, are
not converted leaving "holes," for making tool paths for
engraving filled in patterns, see also FILL_TRIANGLES
command.
30, makes dots of line color, like 10 but makes just dots
rather than pairs of triangles, for printing, plotting, and
making tool paths.
40, like 30 but without background, for making tool paths where
you want to engrave filled areas, or make stencils.
50, makes up and down lines starting at z = 0 and going to the
depth equal to a value derived from the pixel color, makes
a 3D relief that can be used for a plunge tool path, see
also LINK and PLOTTERIZE.
60, same as 50 but omits the background portions from color 0
pixels.
70, makes dots at depth relative to z = 0 using the pixel color
to calculate the depth for each dot.
80, same as 70 but without the background.
100, makes horizontal chains of line segments by the depth
derived from the pixel color, can be used with PLOTTERIZE
to make a tool path file.
110, like 100 but omits portions that are background color 0.
bmpname.bmp, is the 8 bpp 256 palette mode gray tone raster image file.
ascname.asc, is the output ASCII vector drawing file.
This command converts a BMP 8 bpp 256 palette mode file into an ASCII drawing file, such that brightness values are converted into changes in line elevation in some modes, making the converted elements 3D and possible useful for some kinds of tool path. This command that converts the line data directly from BMP files is preferred since palette conversion is made directly from the scanned image file, rather than from a conversion of that data into the palette used by the Pixel file type, as in the UTILITY SCREEN_TO_ASCII command.
The gray tone scale 256 palette mode BMP files will probably produce the smoothest surface because the other modes have more dithering to achieve shading. You can probably convert "line art" to 256 palette mode "gray scale" type BMP file with the software that came with your scanner, for simpler types of filled engraving.
Palette conversion from 256 palette mode color files is performed, but the 3D modes may produce depth different than you think you will get, so using the your scanners software to convert color images to gray scale images might be preferred. Palette conversion may result in the loss of some data.
If you get an error message about the size of the BMP image, you may need to re-size or crop the scanned BMP file in order for conversion to finish.
The ASCII file produced will probably need to be scaled using the MAGNIFY command to adjust the depth and other dimensions. The OFFSET command could be used to adjust the bottom depth and position on the work-piece.
There are other commands that can be used to prepare 3D tool paths that may be a more accurate way to form surfaces, but this command is available for use in special circumstances where data is in a BMP file and you want to convert it to various kinds of line or triangle data.
The UTILITY BMP256_TO_ASCII conversion modes 50 and 60 may be useful in making an *.ASC file that DANPLOT.EXE (tm) can read to operate a photo-plotter to expose photographic or lithographic film. The length of the lines made for each pixel in the source file will correspond to the brightness values, so the Z axis feedrate in DANPLOT.EXE (tm) will translate that line length into exposure time, and the Z axis direction signal from the parallel port might be used to switch the exposure lamp on and off. With a bright UV source and a slow feed rate you might be able to plot directly to photo resist without making a negative first. See also the UTILITY SCREEN_TO_ASCII command to photo-plot from Pixel files.
See also WEAVE, LINK, PLOTTERIZE, FILL_TRIANGLES, BETWEENS, and CURVE_FIT.
This command lets you convert a raster BMP file into an vector ASCII drawing file for making "oil" paintings. See also the MATCHING macro command for matching the paint colors. Each color from the BMP file is extracted one by one, so the command would need to be used up to 256 times to plot all of the up to 256 colors onto the canvas. Some BMP files may not use all of the palette values, so fewer colors would be used.
UTILITY BMP256OIL mode color scale xpot ypot zpot bmpname.bmp filename.asc
WHERE: mode n = 40, dots for each pixel of selected color.
41, goes to paint pot before plotting each pixel dot. Mode 41
is the mode you would probably want to use.
110, makes horizontal chains of line segments from pixels of
right color.
111, like 110 but goes to paint pot before each stroke.
color = 0 to 255 from BMP file's palette.
scale = sets pixel points per drawing unit, 0.01 would make 100 pixels
per drawing unit which is normally one inch.
xpot = the X position for the paint pot, normally -1.
ypot = the Y position for the paint pot, normally -1.
zpot = the Z position for the paint pot, normally 0.
bmpname.bmp, is the 8 bpp 256 palette mode color or gray tone image file.
ascname.asc, is the output ASCII vector tool path file.
This command converts a BMP 256 8 bpp palette mode file into an ASCII drawing file, such that a single color from the BMP file's palette is extracted, thereby all the points of that color can be plotted from the paint of that color before the next file is prepared, and the next color is mixed. The process would be repeated up to 256 times to plot all of the colors in the BMP file. Some BMP files do not use all of the palette values, and so the unused values would make an empty ASCII file.
Different BMP files can use different colors, so there may be more than 256 possible colors that might need to be mixed if more than one BMP file is used. The macro command MATCHING can help you mix the paint to get a color close to the one the BMP file is using. Some BMP files will require fewer colors than the maximum because not all of the palette values are used.
If you make a drawing, and display it in color using the Preview command, then save it as a BMP file, then extract part of that BMP file using this command, some of the palette colors may not need to be plotted since they are colors that are used internally, and not normally displayed as part of the drawing. BMP files from other sources may also have colors in their palette that are not used in the drawing displayed. You can tell if a palette index does not have any pixels, because no points will be made in the image area of the *.ASC file generated (you may see the paint pot point depending on the conversion mode used.)
If you do not use PLOTTERIZE to add the up and down brush motion, you would need to use my DANPLOT.EXE (tm) plotting program to plot the points. If you PLOTTERIZE the element to add the up and down motions you can try to use DANCAM.EXE (tm) to plot the tool path since the PLOTTERIZE command adds up and down motions. The version of this command in the FILES UTILITIES BMP sub-menu has an option to add the PLOTTERIZE motions.
See also MATCHING, LINK, and PLOTTERIZE.
Some changes were made to the BMP Oil command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
The MATCHING macro is used with the UTILITY BMP256OIL command to match the mixing of the "oil" paint to the colors in the BMP file.
MATCHING mode color bmpname
WHERE: mode n = 0, only mode 0 for now.
color = 0 to 255 from BMP file's palette.
bmpname.bmp, is the 8 bpp 256 palette mode color or gray tone image file.
The color to match is displayed on VGA or SVGA video boards, and some paint mixing values for four of nine paint colors. The mixing values are very approximate and would need to be adjusted for various types of paints used.
Nine colors of paint are used:
BU = Blue paint CY = Cyan (blue-green) paint GN = Green paint YL = Yellow paint RD = Red paint MG = Magenta (purple-pink) paint WI = White paint GR = Gray paint BL = Black paint
Only four of the nine colors are used to make the needed color, the portions of 1000 parts are displayed at the top of the matching screen. The colored rectangle in the gray rectangle is the color you are trying to match. The amounts of the various paints suggested are very approximate and you will need to make adjustments depending on the types of paint you are using.
The color of the paint may change when it dries, and the adjustment of your computer monitor will effect the display of the color. You should not adjust you monitor or change the ambient light in the room you are matching the colors since any changes may introduce error in the color matching.
If you do not match the colors closely the painting may have a speckled appearance because some of the colors are darker than in the BMP file, and others are lighter.
Some changes were made to the BMP Matching command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
Since the screen colors assigned to the line color values are changeable in v2.7A some commands where added to be able to manage these conversions.
PALETTE mode
if mode = 0 then PALETTE 0
Resets palette to default screen colors for "pen numbers" table.
if mode = 1 then PALETTE 1 index color
WHERE: index = 0 to 127
color = 0 to 15
Sets screen color to "pen numbers" table, like [P]alette command in drawing editor [S]et_up sub- menu.
The PALETTE command can also be used to record palette changes when the automatic output macro is turned on, or save a palette set-up from a running macro.
if mode = 2 then PALETTE 2 filename
WHERE: filename = name of file to save all color to "Pen Numbers" in.
if mode = 3 then PALETTE 3 filename
WHERE: filename = name of file to load all color to "Pen Numbers" in,
from a file saved with mode 2.
If you want to preserve the palette settings so that a macro that makes palette changes does not upset your established settings, put something like PALETTE 2 PALETTE.TMP near the start of your macro, and PALETTE 3 PALETTE.TMP near the end of your macro.
The macro WEAVE command is used to make a triangle surface from two or more lines made up of lines that are drawn consecutively going in the same general direction. In order for the partitioning of the source element to work the line segments for each "chain" of line segments in the source element must have the same number of line segments, and the spacing of the line segments in each chain must be much less than the spacing between the chains of lines.
To use WEAVE you must first BEGIN a new element, then draw what amount to parallel contour lines across the surface you want to make, remembering that the contour lines must all have the same number of line segments, and have a spacing of the points that make sense.
WEAVE can also work with "circular" contour lines, polygons, and some other types of chains of line segments, so long as the direction and sequence of the line segments will result in a sensible surface without reversals, punctures, or loops. The chains in the source element must all have the same number of line segments in order for WEAVE to connect them. The tolerance is used to determine when the end of the first chain is reached, so be careful that the tolerance is larger than any small gaps between the line segments in each chain, but not larger than the spacing of the end of one chain and the beginning of the next.
Elements scanned, by use of the replicate feature, with DANCAM.EXE v2.7 (tm) made up of parallel lines might work with WEAVE, as well as some forms of the conversion of PIX or BMP file to ASCII file.
# n WEAVE mode_A mode_B mode_C mode_D tolerance
WHERE: n is the selected element.
modes = E, "Edge," make outside edge "edge" type for display and thicken.
J, "Junction," make outside edge for display and not thicken.
S, "Surface," make only surface triangles, do not mark edge.
mode_A, is for the line or chain of line segments that goes from the
first point of the first chain to the first point of the last chain.
mode_B, is for the line or chain of line segments that goes from the
first point of the first chain to the last point of the first chain.
mode_C, is for the line or chain of line segments that goes from the
first point of the last chain to the last point of the last chain.
mode_D, is for the line or chain of line segments that goes from the
last point of the first chain to the last point of the last chain.
tolerance, is to allow for small gaps in the chain of line segments that
make up the chains, and should be smaller than the spacing of the points
in the chains of line segments. Such small gaps arise from small
rounding errors that occur with real numbers, and would otherwise make
it difficult to have the program auto-detect the number of points in
chains and chains in the element without being able to have some
latitude about what "equal value for the last point of one line segment
and first point of the next line segment" means. The program may report
various errors such as I/O or other errors if the source element is not
drawn properly, and the tolerance set larger than any gaps within the
chains of line segments.
Note that the input element needs to have two or more chains of points made out of line segments drawn end to end. The chains of points must be drawn going in the same direction along the desired surface. The direction of the chains of points determines the normals for display, so draw from the front view unless you are making the back side (see the commands that change triangle direction to make corrections).
The command detects the end of the chain of points when the first point of the next line is not the same as the second point of the last line, therefore do not have any "gaps" in the chain of line segments that make a chain, and ALWAYS break your chains so that the chains all have the same number of line segments.
The source element can be just two "parallel" line segments, two chains of line segments, or many chains of line segments side by side (all starting and ending so as to go in the "same direction".)
If all the chains do not have the same number of line segments the command will probably fail and abort.
This command is useful for making surfaces, see also the BETWEENS, JOIN, THICKEN, and FIT_CURVE commands to use with this command.
The menu [A]ssemble command in the drawing editor combines BETWEENS, FIT_CURVE, and WEAVE to make drawing a smooth surface simpler, in as much as fewer points will be required in the source element drawn.
Join can now be used to join all the elements in the workspace into a single element at once by selecting element 0.
JOIN 0
Or to join just two particular elements at a time select both element numbers.
JOIN 3 5
If you are joining two elements, element 0 should not be used as one of them.
You can join all elements from after the one given to the last element in the workspace, by using "-2" as first parameter, and the first element in the set to join as the second parameter for JOIN, then all elements in the workspace numbered above the one given in the second parameter will then be joined to it so that they become just one element.
JOIN -2 4
If you accidentally JOIN too many elements you will need to use the SPLIT command to break them up, or save the element as an ASCII file and use the [W]rite command to split the file manually. It is always a good idea to use the automatic output macro to help undo mistakes by regenerating the drawing from the edited output macro file that has had the mistake removed.
Some new modes were added to the CURVE_FIT command, these related to elements made of chains like those used with the WEAVE command.
There are several modes, with different parameters:
Mode "O" is for curve fit of just One single chain in the selected element,
# n CURVE_FIT O erase_source iterations damping
Where: erase_source = Y, Yes will erase the source element.
= N, No will leave it in the workspace.
iterations, number of time to repeat e.g. 2 to 5 or more.
damping, normally 0.2, more makes bends sharper.
Mode "S" for curve fit a set of chain elements the selected element is the first element in the set and the last element in the workspace is the last element in the set,
# n CURVE_FIT S join_mode erase_source iterations damping
Where: n is the first elements in the set of elements to fit.
join_mode = Y, yes will make just one new element.
= N, no will make a set of chain elements.
erase_source = Y, Yes will erase the source element set.
= N, No will leave it in the workspace.
iterations, number of time to repeat e.g. 2 to 5 or more.
damping, normally 0.2, more makes bends sharper.
Note that the number of elements in the result set cannot be grater than the maximum number of elements that the workspace can hold at one time. Also note that the last element in the workspace when the command is selected must be one of the elements in the source set since the set extends from the selected element to the last element in the workspace, however many that number of elements is at the time.
Mode "P" for curve fit a set of chain elements to partition from the selected element,
# n CURVE_FIT P join_mode erase_source iterations damping tolerance
WHERE: join_mode, can be Y for yes, and N for no, that is yes will make just
one new element, and N will make a set of chain elements.
erase_source, can be Y for yes, and N for no, Yes will erase the source
element, and No will leave it in the workspace.
tolerance, is for the partition part of this mode so that the program
can tolerate small gaps when finding the ends of the chains of line
segments in the source element.
This command can draw straight lines that make up a path between two points in 2D or 3D space. The option for restriction of the motion to single axis at one time for movements can allow some kinds of machine to perform "rapid feed" since only one drive motor will be turning at a time and the synchronization of the various motors and staggering of motor drive pulses will not be needed.
When the "Output G file" option is active this command outputs G00 move commands to the G code output file. Movements going to the output macro file are coded with the APPEND command, when this command is used.
The CAM program needs to be set up to make "rapid movement" for the feed rate line colors used by "[P]osition G00" command in the drawing editor's [N]C sub-menu, or else the movements will just be done as normal "linear" movements. This is done by selecting the motion type, i.e. rapid, in the line color to feed rate table in the CAM programs, v2.7.
You should check that the set of lines that make up the "rapid" movements are clear of the work-piece and other things, since the options that are not a point to point linear movement may pass through or hit something if you do not work around obstacles.
This command is for drawing tool path lines that go directly from point to point in 3D or 2D space. The main reason for using this command rather than the drawing sub-menu is that when the "Output G file" option is active commands G01 will be output to the output G code file.
If you forget to have the output G code file on, you can save line elements by using the [F]iles [S]ave [I]ndustry [G]code command as G01 movements, and edit or combine that data with data saved with the "Output G file" option by using the [W]rite command.
The Arc G02 G03 command works like the G code commands for parts of a quasi-circle, and lets you set the plane, starting point, center point, and ending point of an arc "quasi- curve".
If the OUTPUT G FILE command is in NEW or APPEND mode the equivalent G code commands, i.e. G02 or G03, will be coded to the G code output file. The EXPORTFILE macro command is used in the output macro file to code the G02 and G03 commands as G code data for the macro LOAD GCODE command to carry out when the output macro is Run later.
The Arc command was modified in v2.7C to create "stick" or "phantom" arc elements that work with the SAVE GCODE command so that it can also save G02 and G03 motion command types.
This command lets you enter one block of G code commands and have the lines generated loaded into the workspace. By using this command you can enter one "block" at a time in order to single step through a set of G codes and see the result on the drawing editor screen as each "block" is entered.
Since the workspace uses absolute coordinates, using absolute coordinates might be best. If a relative or incremental movement is needed you must include G91 at the start of the block to tell the controller that the block is relative to the cursor position.
If you want to enter modal G code commands that continue over more than one block, e.g. G40, G41, G42, you will need to use the Write command to create a G code file with many blocks, and then use the Files Load Industry G-code command to load that G code file into the drawing workspace because this NC Enter G codes command only accepts one block at a time in its present revision, i.e. v2.7A.
The OUTPUT G FILE command works with the POSITION G00, CUTTING G01, ARC G02 G03, and ENTER G CODE options in the NC sub-menu to create a G code output file that can be used to save what is drawn using those commands as G code data rather than saving the data just in the workspace or as an output macro file.
The G code data output might be edited with the [W]rite command, or loaded with the LOAD GCODE command.
If you are going to use other commands beside POSITION G00, CUTTING G01, ARC G02 G03, and ENTER G CODE to alter elements or draw parts of the tool path, you will need to work with the elements in the workspace, and then save the G codes using the SAVE GCODE command since the G code output command cannot mimic all of the drawing editor commands since the G code command set does not have commands that correspond to the manipulations that elements can be put through in the drawing editor before being executed, the execution normally takes place at the end of each block in the G code file.
The OUTPUT G FILE command can be used to see on the drawing editor screen how the G code commands will look as they are entered and appended one by one to the G code output file, this visual display of each G code block might make the coding of you G code file easier than just using the [W]rite command and trying to visualize the tool path in your mind.
The [R]adius Comp command works like the G code commands G40, G41, and G42 but with some differences. Normally in G code files you turn on the radius compensation, either right or left, and then mark out some movements and then turn off the radius compensation. To make a command that would work with the way most other DANCAD3D (tm) type commands work I have the RADIUS COMP command act on a drawing element that is already drawn.
My RADIUS COMP command has some improvements that allow it to operate on quasi-curves made of short line segments without some of the undercutting problems that might arise. Motions around outside corners are rounded off with a polygon to avoid extension beyond the radius of the compensation.
If the compensated path is given an impossible path, such as going down a grove narrower than twice the width of the cutter radius, the path will probably be clipped short of the bottom of the grove. While it is your obligation to make sure that the path you are trying to produce makes sense, the program will try to have the compensated path follow along side the path set up by the source element. In those instances where you have requested an impossible path the path may end midway or be otherwise unusable. Some errors may not be detected, so look closely at the compensated path to be sure that it is correct.
When you enter radius compensation in a G code file, e.g. by using the Write command, to be loaded by the Files Load Industry G code command, you would put the start command G41 or G42 before the blocks to be compensated, and put G40 at the end of the blocks to be compensated. Using the drawing editor version you use the BEGIN command to begin a new element, draw the lines at the cutter's edge, then select that element with the outline as the element to make the compensated path from, RADIUS COMP then makes a new element that runs along side the path drawn out in the source element you drew.
RADIUS COMP only compensates in one of the major 2D planes, i.e. Front XY, Side ZY, and Top XZ, see also the FILL TRI PATH command to try to compensate for 3D surfaces.
The DOT CYCLIZE command can be used to load a tool cycle, or other element file, at locations in the workspace marked by "dots" drawn or derived using the JOCKEY DRILL POINTS command.
The DOT CYCLIZE command is in some ways like the ALIAS symbol feature used in combination with the RECORD POINT command, but is an automated way of putting symbols at marked points.
If you need to make holes in a plate that needs a recess for a bolt head around each hole you can draw the tool cycle that cuts a hole with a recess and has some lines to return to a point above the work- piece where the tool is clear to move to the next start of the cycle, then draw a polygon to act as a template of the points and order to do the drill cycles in, then use JOCKEY DRILL POINTS to extract the points, from the polygon element, for the cycle center, then use DOT CYCLIZE to replace the template points with the full tool cycle motions, and then use the LINK command to connect the cycles top points over the work-piece.
The DOT CYCLIZE command can also find points on a polygon without using JOCKEY DRILL POINTS, and locate the loading of the cycle file at those points. When you save the tool path cycle file the center of the workspace x=0, y=0, z=0, is the loading reference point, so draw the cycle relative to that point. The tool path cycle is in my *.ASC file format.
See also JOCKEY CLEAN command, and the LINK command.
This BETWEENS command is a revised version of the macro BETWEENS command that works within the workspace to make intermediates. The BETWEENS command can be used to fill in between contour lines used in a tool path, or to interpolate between shapes used for an animation.
"Any" type of element can be interpolated, but each of the portions must have the same number of line segments, as the BETWEENS command needs to find points between the points in the source lines, therefore the number of points in the interpolated element must be equal to the points in the source elements.
The source set must at least have three elements or chains to find betweens between. The iterations and damping work like in the FIT_CURVE command.
The source set can be a set of elements, or a single element made of chains of line segments that get partitioned into a set of elements. The number of elements in the source set needs to be less than half the maximum number of elements free.
See also WEAVE, FIT_CURVE, and ASSEMBLE.
This command is for making a tool path from a surface made from triangles. Obviously all the triangles must face the tool, and you cannot undercut normally since the tool must be able to move up and down freely to cut the surface material away on triangles whose order may be randomly arranged, or at least not in an organized order.
The Finish option tries to make a tool path that will stroke out fine cuts to give a smooth surface across each surface triangle. To get good curves the triangles need to be small to start with, so marking out the triangles with lots of small movements can make for a large tool path file.
The Rough option tries to make a tool path that would be used with a larger tool to rough out material before a finish tool path would be used to clear away the final bits of material.
The Both option tries to make a tool path that contains both Rough and Finish tool paths.
The Drill option makes a different kind of roughing tool path that mostly moves up and down while cutting.
In order for the 3D radius compensation to work the triangles in the surface need to be smaller that half the surface tolerance, e.g. if you need the surface to about +/- 0.002 then you would need the longest line in or near the parts of the surface that bend to be shorter than 0.001. Some triangles in the middle of flat parts might be able to be larger, it depends on what your surface looks like, and where the inclined, curved and flat parts are. Also the normals of the surface triangles need to be pointing the right way around, since the normals directions are used to find the radius offset direction.
See also BETWEENS, ASSEMBLE, FIT_CURVE, DIVIDE, and HIDDEN UPDATE NORMALS.
LINK connects the last line of chains of lines to the first point of the next chains of lines. It is something like PLOTTERIZE, but does not add the up and down lines, it is for connecting tool cycles that already have the starting and ending lines sticking up above the working part of the tool cycle.
My CAM programs generally automatically add connecting motions to parts of a tool path that do not connect. The LINK command lets you add such connecting motions to the tool path elements. This lets you see the connecting motions as line segments.
For CNC controllers that need connecting lines linking all of the motion elements in the tool path, you can use LINK to add connecting motions, then save the tool path.
LINK can also be used to connect dots, provided the dots are in an order that makes the pattern you want.
See also PLOTTERIZE, WINDOW, DRILL POINTS, and CYCLIZE.
The MOUSE command now selects the mouse device type. This change was made to avoid some problems that auto-detection of the FastTRAP (tm) 3D track-ball made when the CAD programs where run under Windows 95 (tm). The programs now default to regular mouse, and you need to use this command to select detection of an alternative.
When run under Windows 95 (tm) three button mice may not work properly with my programs, the center button may not operate the way it does with the proper driver under DOS, so you may need to use the alternative keyboard commands, e.g. [Space-Bar] in the drawing editor, and [F1] in the Write command. The Left and Right mouse buttons should work under DOS or Windows 95 (tm) if the mouse driver has been installed before my programs are run.
If you did not get a floppy disk with a DOS mouse driver on it with your mouse you may need to check the mouse manufactures Web site to see if there is a DOS mouse driver available for Download.
This SET-UP HIDDEN command lets you select the current hidden line display mode for the drawing editor. The new display mode selected will be used when you press the [*] key in the drawing editor to redraw the drawing editor screen.
"Free" line elements are displayed like they where in v2.6 and before, but the new "triangle" elements can be displayed in different ways to help you with issues that come up while drawing triangle elements as well as to see your shapes better.
Triangles in triangle elements are made up of two consecutive line segments, the first line marks p1 to p2 of the triangle, the first point of the second line marks p3 of the triangle. The second point of the second line segment in a "triangle" is called p4 and is the end of a normal line to the surface of the triangle extending from p3 to p4. Lines p2 to p3 and p3 to p1 are implied and not stored in the workspace, in order to save space and improve speed.
The display modes are:
WIRE-FRAME: This displays like v2.6 and before, but works in color now with EGA or VGA video when the color display modes are selected. WIRE-FRAME should be used when displaying elements made of just "free" line segments. When triangle elements are displayed with WIRE-FRAME the first line of the two in the triangle is displayed as p1 to p2, then two synthetic lines are displayed for p2 to p3 and p3 to p1, where p3 is the first point of the second line in the triangle. The line p3 to p4 is not displayed in WIRE-FRAME mode, see the NORMALS mode for that.
EDGES: Triangles can have their p1 to p2 line in three different types, EDGE, JUNCTION, and SURFACE. EDGES mode displays EDGE and JUNCTION triangles only. This makes for a less confused display than WIRE-FRAME if the elements have been drawn properly using the triangle types in the right places.
NORMALS: The NORMALS mode is like WIRE-FRAME but adds the display of the p3 to p4 line that marks the triangle's normal direction. You can set the normal length with the CORRECT SET command. You should use this display mode to check the directions of the normals in the elements you draw to make sure that the normals are pointing to the outside of the shapes drawn.
QUICK: The QUICK mode is like EDGES but omits the edge and junction lines of triangles when those triangles are pointing away from the viewer. This also helps you check if some of the triangles are rotated around the wrong way, and gives you a quick psudo-hidden line display that lets you set the Perspective view values without the wait for the triangles to sort in the HIDDEN display mode.
HIDDEN: The HIDDEN display mode sorts and fills triangles to hide the lines in the hidden parts of the display. The sorting can take a long time, so this mode is best used on single elements. You can turn off the extra elements by using the Update list command in the drawing editor root menu. More advanced hidden display modes are available with the main menu Preview command, this simple black filled mode is meant to be a help in drawing triangle elements. When using the HIDDEN display mode in the drawing editor it helps to use a gray or colored background if you are using the color display modes, see the SET-UP PALETTE command to set the line colors and background color displayed, the background color is palette index 0.
The SET-UP PALETTE command lets you change the colors or gray tones displayed for the line color numbers. You can also change the normal black background color in the graphics modes to a color or gray shade by altering palette index 0.
The colors are used for feed rates. If you do not like line color 1 to be dark blue, you can change it to something else like red without altering the line color attribute number in the element which will still be number 1. If you want to change the line color numbers see the LINE_STYLE command, this command only changes the color displayed for that color number, and only in the modes that display such colors or gray tones.
The graphic modes in the CAM programs can also display colors, and the line colors that are used to change the feed rates, so you may want to make up a table for your own use to match up the colors displayed, the line color index numbers, and the feed rates you have installed, to correlate the colors used in the CAM programs with the colors used in the CAD programs, since you want the colors to help you when you view your tool path files to check for errors and not confuse you as to what speed various colors mean when used in the CAD or CAM programs.
This command is for slowing down the program, particularly in the drawing editor, since on fast computers if you do not let up on the keys very fast the program can pass onto the next option accidentally.
If you have slow hands, you might try this option to slow down the program's response to your pressing some key strokes in various menus. This is particularly pertinent on faster computers which can complete commands before you have fully let up on the keyboard keys.
There may also be a keymatic or key repeat speed option in your computer's set-up. In order to draw with the cursor keys I always set the key repeat rate in the set-up to the fastest speed option, but you may want to check this in the set-up of your computer depending on if you like the drawing cursor to move fast or slow when you hold down the cursor keys. On many computers if you hold down the [Del] key while the computer boots it will ask you if you want to change the BIOS set-up. While you are in the computer's set up you might want to also set the boot up [NumLock] state to off.
Since many of the menu commands have equivalent macro commands what is said about one will generally apply to the other. To view the equivalent macro command from a new menu command you can turn on the automatic output macro feature (press [O] from the main menu) and use the new menu command, then look at the macro commands produced by using the [W]rite command to load the macro commands sent to the output macro file by the new menu command.
Some of the menu commands use a series of macro commands to achieve their result, and so do not have a single macro command that encompass the totality of their function, therefore it is useful to use the automatic output macro feature to append those menu commands to your macro so that you get the combination of macro commands in the right order.
It is best to have the automatic output macro feature "switched on" (i.e. in modes New or Append) while you are doing any drawing so that you can edit the output macro with the Write command in order to re-do parts of the drawing without having to start drawing again from the beginning when you make a mistake or the program develops unexpected results.
There have been many changes to the drawing editor and other commands in v2.7A, it is best to carefully read the prompts on the screen in order to see where changes have been made, since some of the commands may be still under development, and may have changed since this document was prepared.
This section highlights some changes and additions to the commands, however do to the many years during which changes where made this list may not be complete or there may be some differences between the macro and menu commands and their descriptions here. Please report any such omissions or mistakes in the descriptions so I can be aware of them, see Section: 8 at the current On-Line version of this Web site for instructions.
Some new files types can be loaded into the workspace, or changes have been made to how the load commands work. Some of the Load commands in the Industry sub-menu use configuration files. When you use those LOAD commands in a macro you need to establish which configuration file you want to control the loading, so the macro LOAD CONFIG command is used for that purpose.
LOAD CONFIG HPGL hpgl_config_name LOAD CONFIG DRILL pcb_drill_config_name LOAD CONFIG GCODE load_g_code_config_name LOAD CONFIG GSAVE save_g_code_config_name
Note that the GSAVE option was added in v2.7C.
The LOAD CONFIG macro commands should come before the LOAD and SAVE commands that require its use. The LOAD and SAVE commands that require the prior use of the LOAD CONFIG command are:
LOAD HPGL filename mode scale LOAD DRILL filename LOAD GCODE filename SAVE GCODE filename
The LOAD CONFIG macro commands are needed to change or establish the configuration file name to use for each filetype, since each file type uses a different driver, and there can be more than one copy of each driver type installed differently.
In some cases the program may use a specific file such as,
LOAD CONFIG GCODE DRIVERS\GCODTEMP.CFG LOAD CONFIG GCODE DRIVERS\GCODPHAN.CFG LOAD CONFIG GCODE DRIVERS\GCODSTIC.CFG LOAD CONFIG GSAVE DRIVERS\GSAVTEMP.CFG
for its internal programming for the automatic output features. You should not alter the drivers used by the internal programming unless you are sure that you understand how the changes will effect the operation of the programs. You may be able to edit a copy of the default *.CFG file to override some of the default values. The FILES COPY command might be used to make a copy of the default driver that you can edit using the commands in the Files Load Industry sub-menu. Since there is no easy way to alter the individual parameters in the configuration files from inside a macro, you can set up several configuration files in advance using the menu commands that edit the configuration files, and then select from those preset configuration files when the macro runs.
The default config names for the HPGL, DRILL, GCODE and GSAVE load and save commands are:
DRIVERS\HPGLDFLT.CFG DRIVERS\DPCBDFLT.CFG DRIVERS\GCODDFLT.CFG DRIVERS\GSAVDFLT.CFG
The LOAD HPGL macro command uses three parameters,
LOAD HPGL filename mode scale
WHERE: filename = HPGL file using simple line commands, e.g. PU PD PA SP
Drivers that plot for HP74xx HP75xx series plotters might
work, but you might have to try several to find one that only
uses the most simple commands.
mode: 0 = loads HPGL plotter x=0 y=0 point at workspace center.
1 = loads with drawing element centered equally in workspace.
2 = same as 0 but rotated 90 degrees on Z axis.
3 = same as 1 but rotated 90 degrees on Z axis.
scale: 1e-9 to 1 to 1e9
1 = one inch in the HPGL file becomes 1 unit in the workspace.
2.54 = 1 cm in the HPGL file becomes 1 unit in the workspace.
25.4 = 1 mm in the HPGL file becomes 1 unit in the workspace.
The settings effect how the lines in the HPGL are loaded into the workspace. One unit in the workspace normally prints out as 1 inch when the scale used for printing is 240. The HPGL file uses 1016 points per inch, or 40 points per mm, so if you look at the HPGL data with the Write command you can figure out distances given in HPGL file units. You can see that the scale used by LOAD HPGL when set to 1 divides the HPGL units by 1016.
There are several ways that BMP files can 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's 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. Some changes were made to the BMP Oil command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
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 BMP file. How many colors or gray tones 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.
The LOAD BMP command can load an 8 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.
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) 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. GIF files may look better for conversion from BMP line drawings.
The menu commands that save and load BMP files can be combined with the automatic output feature to code the macro commands into a macro file. In the FILES SAVE INDUSTRY BMP command sub- menu you can save 2 color, i.e. black and white, "line art" BMP files at up to 300 dpi and 2400 pixels horizontally by about 4050 pixels vertically, which is about 4050h x 2400v if you rotate the drawing 90 degrees around the z axis. Color drawings and hidden line drawings with shading can be saved using the save BMP command in the main menu [P]review command, or the equivalent macro commands. The main menu Preview command is designed to allow up to 1600h x 1200v resolution, although some SVGA video boards may not support that resolution in the VESA modes, and so will not work up to that resolution. SVGA video boards with 4MB of memory should work up to 1280h x 1024v resolution if their VESA BIOS is compatible. If your video monitor does not sync at the higher resolutions, but your video board will display them properly, you may be able to turn off your monitor and run a macro to display and save the screen as a BMP file "blind" from a macro, just be sure that your macro sets a mode that your monitor will sync to before it ends or you will not be able to see anything when the monitor is turned on. Although some monitors are not rapidly damaged by being out of sync, you should probably not leave the monitor on for long periods in the out of sync state since the monitor may overheat or suffer other damage.
To generate the macro codes needed to save BMP files you should turn on the automatic macro feature by pressing [O] from the CAD program main menu, then use the commands in the program menus. You can then copy and edit those commands as needed for inclusion in your macros.
The color BMP files are saved in 8 bit 256 palette mode color mode. You can also load BMP files in several ways, from 1 bit line art, from 8 bit color or gray to display or convert to Pixel files, or to convert 8 bit gray to lines for making tool paths or surface triangles hidden line. When loading BMP files the file must be the exact size required, e.g. if you are converting to a SVGA 640h x 480v pixel *.PIX file you need to crop the BMP file to that exact size before you save it in your photo editing software. Some times your photo editing software may not produce the exact size that you are asking it to, and you will need to clip to slightly larger or smaller numbers to get the file saved to come out to the correct dimensions. Check the "properties" of your BMP file in your photo editing software to make sure that the file has the exact dimensions required. For loading the line art BMP files the dimensions need to match those entered in the JET driver, which you can check with the JET INSTALL command.
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. When you use the SAVE GCODE all shapes, including "quasi- curves" and "quasi-arcs" can be saved as segmented linear movements. The G code output file can save rapid, linear, and arc movements with the G codes G00, G01, G02, and G03, but cannot save odd shapes or shapes drawn with many of the commands in the drawing editor that are normally used in drawing. You can use the [W]rite command to combine files saved by both methods in order to gain the benefits of both methods. In v2.7C the SAVE GCODE command was modified to be able to save arc motions by using the commands G02 and G03 when the arc is drawn in the element to save by making "stick" or "phantom" arcs with the [A]rc command in the drawing editor's [N]C sub-menu.
G code files can be loaded, the basic commands G00, G01, G02, and G03 will probably work with G code files that you write with the [W]rite command, radius compensation using G40, G41, and G42 may not produce the same path as other controllers produce, but might offer some improvements if you adjust your G code file to take into account the fact that the radius compensation will work on lines that make up "arcs" or concave and convex quasi-curves drawn with G01. You should experiment with how my Load G code command works before trying to convert a tool path for machining. G code source files that contain codes that are not supported should not be loaded, since the tool path converted may contain gross errors. The Load G code and Save G code commands may be undergoing development, so check the most current information regarding their capabilities.
The commands in the Load Industry sub-menu only load a sub-set of the command codes in those filetypes, and so may not load all of the files you want to work with. Always check the loaded lines with the drawing editor to see that what you have loaded will be acceptable to use. You may be able to select a different driver in the program that generated the file you are trying to load in order to improve the conversion, or you may be able to edit the file before loading it into my programs to change the commands that are causing problems.
New macro commands have been added for industry file type STL, which stores drawing data as triangles, and might be able to be loaded and displayed using the hidden line modes. Likewise elements drawn for hidden line display might be able to be saved as STL type if you are careful about how you arrange the triangles when you draw the elements. So far only a sub-set of the ASCII STL file form is supported.
There are two choices for conversion when loading STL data, you can make an element in the workspace that is composed of triangles, or you can make a wire frame element made of line segments. If you load the STL as triangles, you can use the LINETYPE command to change the surface color for the hidden line display.
LOAD STL mode filename.stl
WHERE: mode = 0, make stl triangles into three drawing lines.
1, make stl triangles into DANCAD3D (tm) hidden line triangles.
filename.stl is the name of an ASCII STL type file to load.
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 into 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.
# n SAVE STL mode filename.stl
WHERE: n is the triangle element in the workspace to convert and save.
mode = 0, save with normals all zeros mode.
1, save with normals of unit length from origin.
filename.stl is the name of an ASCII STL type file to save.
Optimize line order command is new to v2.7A, it rearranges line segments for faster plotting on mechanical devices.
# n OPTIMIZE mode
WHERE: mode = D, dots mode without line direction reversals.
2, 2D mode with line direction reversals.
3, 3D mode with line direction reversals.
OPTIMIZE and PURGE now join all elements into one element if the element to act on is selected as element 0! So do not select element 0 unless you want all of the elements joined with these commands.
If you want to OPTIMIZE each element separately, you can write a macro that uses a loop and index the element to select by using a number in a variable, i.e. # INDEX.VAR OPTIMIZE 2, and such.
[O]ptimise is available from [J]ockey drawing editor menu, as well as the [H]ardcopy [P]lotter sub-menu.
This Optimize command optimizes the drawing line order, you would want to do that when a drawing is to be plotted on a pen plotter, or a 2D tool path is to be is cut or drilled with DANPLOT.EXE (tm) so that the machine will spend less time moving from one working point to another point when the original elements where drawn with a haphazard or less than optimum line order. Optimize tries to find a close point, to the current point, when the tool or pen lifts rather than just doing the lines as they where originally drawn, so only use Optimize when it would be acceptable to rearrange the line order! Optimize should not be used on 3D tool paths for DANCAM.EXE (tm) where the order of the line segments needs to be kept in the proper, i.e. original, sequence.
Plotterize takes a 2D element made of lines and adds lines extending above the 2D element so that the cutting tool can move up and down to just cut the lines drawn in the source element, and clear the work-piece while moving to the next group of lines to cut. This is useful for doing drilling or engraving using DANCAM.EXE (tm) or some other controller as a plotter. Since DANPLOT.EXE (tm) is mostly for working on flat surfaces, the plotterize command can be used to prepare parts of a tool path that needs to engrave on 3D objects and DANCAM.EXE (tm) can be used instead. Also if you are going to export a 2D line element as G code you will probably need to Plotterize the element before hand in order to add the up and down motions.
# n PLOTTERIZE mode x_extension y_extension z_extension color_down color_up
WHERE: mode = 1, normal mode
x_extension, distance to extend in x direction.
y_extension, distance to extend in y direction.
z_extension, distance to extend in z direction.
color_down, is the line color going to source element lines.
color_up, is the line color going from source element lines.
3D elements that have been plotterized may need to have the extensions clipped by using the Window command after Plotterize. For elements that are in the x and y plane the x and y extension values would normally be set to 0, and the z extension value would be set to a distance above the work- piece where the tool could freely move without danger of hitting anything during the rapid movements to the next cutting point.
The CYCLIZE command is mostly for simplifying the making of tool paths, but could have some other drawing uses. The Cyclize command loads an element from a file at points on lines in another element, for instance if you draw a square and then Cyclize it with a drawing of a bolt head you will get four bold heads arranged in a square. The mode lets you pick the points where the file element will load, i.e. the first point of each line in the selected element, the last point, or a point at mid- point between the first and last points of each line. The tool offsets would normally be 0, but can be used to adjust the load point of the tool cycle being loaded to compensate for tool length and such. If the source element is made of dots the mode will not change the result much.
# n CYCLIZE mode x_tool_offset y_tool_offset z_tool_offset cycle_file_name
WHERE: modes = 1=first point of lines in selected element
2=second point of lines in selected element
3=mid-point of lines in selected element
x_tool_offset = load position adjustment
y_tool_offset = load position adjustment
z_tool_offset = load position adjustment
cycle_file_name = name of ASCII element file to load at points
CYCLIZE can be used to load a drilling tool path cycle that was saved in a file at points on the corners of a polygon, i.e. a hexagon and be used as a template to make a drill cycle for a bolt hole circle on a flange, and such.
The DRILL_POINTS command extracts a single point or points from an element drawn from many points. Its primary use would be to extract drill points from scanned drawings where the scan shows the PCB pads and you want to find the center of the pads to make a tool path file, you can then CLEAN, OPTIMIZE, and possibly PLOTTERIZE or CYCLIZE the extracted element for making a tool path to manufacture the board. DRILL_POINTS saves you the trouble of manually tracing the drill points with the drawing commands over the workspace element automatically traced (see also the JET TRACE command) from the scanned BMP file.
# n DRILL_POINTS seek_mode placement_mode x_tol y_tol z_tol p_color p_width
Where: Seek_mode = 1=all lines in tolerance must be consecutive
2=lines in tolerance can be anywhere in the element
Placement_mode = 1=center of x and y min and max.
2=first point found in tolerance area.
x_tol = Tolerance for seeking, must be less than pad or symbol spacing.
y_tol = Tolerance for seeking, must be less than pad or symbol spacing.
z_tol = Tolerance for seeking, must be less than pad or symbol spacing.
p_color = color to make points found in new element.
p_width = line with for points to make in new element, easier viewing.
If you can import just the pads or other symbols through an HPGL drawing saved to disk, that imported drawing might be able to be used to pick up the drill points at the "center" of those drawing symbols.
New command FAN_TRIANGLES is for drawing hidden line elements, it converts a series of line segments drawn consecutively into a "fan" of triangles radiating from the "fan point." The source element is normally an arc made using the POLYGON command. If the normals are found to extend in the wrong direction the REVERT command can usually be used to reverse their direction. To avoid ambiguity about the normals direction the source element and the fan point should make an element that is mostly oriented in the x-y plane, you can then use the ROTATE command to rotate the fanned element into other planes.
# n FAN mode x_fan_point y_fan_point z_fan_point
WHERE: n is the element number of the source element to fan.
mode = Edge, lines in source element are p1-p2 of edge triangles.
= Junction, lines in source element are p1-p2 of junction triangles.
= Surface, lines in source element are p1-p2 of surface triangles.
x_fan_point is the p3 point x axis value for the triangles.
y_fan_point is the p3 point y axis value for the triangles.
z_fan_point is the p3 point z axis value for the triangles.
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.
# n SORT mode WHERE: mode = 1, ordinary sort mode.
The LATHE and THICKEN commands have been substantially altered so that they can prepare elements suitable for hidden line removal. To effect this, a new parameter has been added that selects the type of triangles to make, or to make a wire frame element from line segments.
# n LATHE triangle_mode sides_total sides_drawn # n THICKEN triangle_mode axis_to_thicken distance
The triangle_mode can be Cross, Diagonal, or Wire. Cross makes four triangles to fill each surface area, Diagonal makes two triangles for each surface area, and Wire makes no triangles, just line segments like previous versions. To upgrade older macro files for v2.7A without editing the elements for anything other than wire frame display you can add the W value for the triangle_mode parameter.
The direction of the normals depends on the orientation of the lines in the source element. With lathe the source lines should all flow in the same direction along the surface edge or you will get normals going the wrong way. If all of the normals end up the wrong way around the REVERT command can be used to reverse their direction. You should check the normal direction with the [H]idden [U]pdate [N]ormal display mode before you use the THICKEN command. The triangles produced by THICKEN are controlled by the type of their p1 to p2 line segments, EDGE lines will make triangles along the distance of the thicken axis (usually the z axis), JUNCTION lines mark triangle edges that you want to display that show up on the "front" and "back" planes, but will not make connecting triangles i.e. for holes in the thickened shape that are not going to be visible in the display later, and SURFACE triangles that will only be copied to the "back" and will not be visible at all in some display modes.
Do not use PURGE after LATHE or THICKEN when the triangle_mode is other than Wire or you will cause problems with the display of the triangles in the elements later.
DIVIDE makes large triangles in an element into four smaller triangles until the target maximum line length is reached. This is useful in order to reduce problems with large triangles sorting out of the correct order when displayed at certain angles when large triangles on a surface are close to other surfaces. Generally triangles on surfaces should be smaller than the distance of one surface to another that is in front of the surface. These problems also relate too some kinds of inside, concave, corners.
Although dividing the triangles into smaller ones can help correct problems with the sorting of the triangles for display, making the triangles smaller increases their number considerably, and therefore greatly increases the sorting time for the hidden line display.
# n DIVIDE line_length
WHERE: n is the element made of triangles.
line_length, is the target maximum line length.
The number of triangles actually made depends on the length of the line segments in the source element, and the target length entered, so the goal is to pick a target length that is a large as possible, and still small enough to resolve the sorting issues.
The STRIP command removes comments from a macro file to make the file take less disk space, and possibly run faster.
STRIP filename.MAC
Be sure to backup the file before you strip it since code areas that you have commented out temporally will be lost, as will parts of the macro where comments where not properly entered.
The CLEAN command has been changed from v2.6, both the Numerical sub-menu and the new version in drawing Jockey sub-menu have been updated. CLEAN has some uses in removing hole position errors when working with scanned or imported elements, particularly those for drilling PCB holes.
# n CLEAN x_round_value y_round_value z_round_value
Purge is now available in the drawing editor Elements sub-menu. Purge removes some "duplicate" line segments from drawings where lines are duplicated or superimposed. The Purge command should generally NOT be used except on "free" line drawings that are to be plotted on a mechanical plotter and you do not want the pen plotter to trace over lines that have already been plotted once already. Purge only removes lines that have the same end points.
Purge was not conceived for use on triangle elements, and with faster computers now the redraw improvements it was meant to produce are not as important.
Macros written for versions before v2.7A that use the PURGE command and the ALTER, DELETE, or other commands that index lines in the workspace by their line number will probably need to be edited to run under v2.7, since the line numbers used to index the lines will probably be different, particularly when PURGE was used after LATHE or THICKEN.
WORLD 240 # n PURGE
See also information on the WORLD_SCALE macro command since it needs to be used before PURGE to set the tolerance for the end point search.
The line Insert command has been altered in v2.7A to put the new line at the end of the element the line is being inserted into, i.e. the last line of that element. In the drawing editor Insert now defaults to the same line attributes as the last line in the element being inserted into, and the line color of the elastic line will, during the insertion of the new line in the drawing editor, show the same color as the last line of the element being inserted into, when the color drawing editor screen video mode is selected.
REVERSE command now reverses elements if element 0 is selected, i.e. if you have three elements, 3 becomes 1, 2 stays 2, and 1 becomes 3. The line order is reversed in mass from line one to the last line. Watch out for the APPEND line command since it will append to what was element 1, since element 1 is now the last element.
If you REVERSE all of the elements in the workspace, then draw lines, the REVERSE all elements again, you will have drawn lines in "front" of the old element 1, in reverse order, which might be useful when you need to stick some lines at the start of a tool path, or some other case where the order the lines are drawn is important. Just remember to draw the new lines in reverse order direction since you are going to use REVERSE to move them from the tail to the head.
EXPORTFILE macro command makes a file on disk from data stored within the text of the macro file body, and can be used to make a text file for the macro BLOCK_TEXT command, can be used to export drawing data into an *.ASC (ASCII type) file, can be used to export a sub-macro for the macro RUN command to use, or be used to export binary data for creating *.FON font files and other files of any type.
EXPORTFILE macro command is useful to keep all the needed parts of a macro in a single macro file body, and then have the macro automatically create, i.e. export, those various parts as additional files that the macro needs for various commands at the time that the macro is run. In other words it is a way to supply a macro as a single file rather than a collection of files of various kinds.
If sub-macros or other data is to be exported, the export entries should be below the bottom of the macro code and use the GOTO command to go down to the EXPORTFILE commands, then back up to near the top of the macro so that the extra text does not slow down the macro code, the "end" of the macro would then be in the middle of the macro file, and a GOTO command would jump to a label at the bottom of the macro file to exit.
EXPORTFILE mode filename
WHERE: mode T = make text file.
A = append text to a text file.
B = make a binary file from hexadecimal text data in macro.
i.e.
EXPORTFILE T C:\SUB\SOMENAME.TXT
start......text
more.......text
last.......text
ENDEXPORTFILE
EXPORTFILE A C:\SUB\SOMENAME.TXT
start......text to append
more.......text to append
last.......text to append
ENDEXPORTFILE
EXPORTFILE B C:\SUB\SOMENAME.BIN
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 FF FE FD FC FB
ENDEXPORTFILE
The HEX data can be made by using the Files Utilities Hex Hex command to make a file of HEX data, then use the Load command in the Write command to read the HEX data from the file made by the HEX command into your macro code, between the macro commands EXPORTFILE and ENDEXPORTFILE.
This command lets you convert a raster Pixel file into a vector, i.e. line segment, ASCII drawing file. This is a special purpose command that has some uses for hidden line drawings, file conversion for printing pixel files, and preparing tool path files for CAM uses.
UTILITY SCREEN_TO_ASCII mode filename.asc
WHERE: mode n = 10, makes two triangles for each pixel in a plane with the line
color taken from the pixel color, i.e. for a rectangle
image usable in hidden line elements.
20, same as 10 but pixels with color 0, i.e. background, are
not converted leaving "holes," for making tool paths for
engraving filled in patterns, see also FILL_TRIANGLES
command.
30, makes dots of line color, like 10 but makes just dots
rather than pairs of triangles, for printing, plotting, and
making tool paths.
40, like 30 but without background, for making tool paths where
you want to engrave filled areas, or make stencils.
50, makes up and down lines starting at z = 0 and going to the
depth equal to a value derived from the pixel color, makes
a 3D relief that can be used for a plunge tool path, see
also LINK and PLOTTERIZE.
60, same as 50 but omits the background portions from color 0
pixels.
70, makes dots at depth relative to z = 0 using the pixel color
to calculate the depth for each dot.
80, same as 70 but without the background.
100, makes horizontal chains of line segments by the depth
derived from the pixel color, can be used with PLOTTERIZE
to make a tool path file.
110, like 100 but omits portions that are background color 0.
filename.asc, is the output file.
This command converts a Pixel file into an ASCII drawing file, such that brightness values are converted into changes in line elevation in some modes, making the converted elements 3D and possibly useful for some kinds of tool path. Another command that converts the line data directly from BMP files is preferred since palette conversion is made directly from the scanned image file, rather than from a conversion of that data into the palette used by the Pixel file type.
The M256 palette mode Pixel files will probably produce the smoothest surface because the other modes have more dithering to achieve shading. The M2 mode files might be useful for simple engraving.
The ASCII file produced will probably need to be scaled using the MAGNIFY command to adjust the depth and other dimensions. The OFFSET command could be used to adjust the bottom depth and position on the work-piece.
The display modes such as 44 and 54 might be used to make shaded projections of surfaces of elements drawn using triangles so that the depth could be extracted from the brightness of the points in the Pixel file saved.
There are other commands that can be used to prepare 3D tool paths that may be a more accurate way to form surfaces, but this command is available for use in special circumstances where data is in a Pixel file and you want to convert it to various kinds of line or triangle data.
The UTILITY SCREEN_TO_ASCII conversion modes 50 and 60 may be useful in making an *.ASC file that DANPLOT.EXE (tm) can read to operate a photo-plotter to expose photographic or lithographic film. The length of the lines made for each pixel in the source file will correspond to the brightness values, so the Z axis feedrate in DANPLOT.EXE (tm) will translate that line length into exposure time, and the Z axis direction signal from the parallel port can be used to switch the exposure lamp on and off. With a bright UV source and a slow feed rate you might be able to plot directly to photo resist without making a negative first. See also the UTILITY BMP256_TO_ASCII command to photo-plot from BMP files.
See also WEAVE, LINK, PLOTTERIZE, FILL_TRIANGLES, BETWEENS, and CURVE_FIT.
This command lets you convert a raster BMP file into a vector, i.e. line segment, ASCII drawing file. This is a special purpose command that has some uses for hidden line drawings, file conversion for printing BMP files, and preparing tool path files for CAM uses. The background color for BMP files is generally "black".
UTILITY BMP256_TO_ASCII mode bmpname.bmp filename.asc
WHERE: mode n = 10, makes two triangles for each pixel in a plane with the line
color taken from the pixel color, i.e. for a rectangle
image usable in hidden line elements.
20, same as 10 but pixels with color 0, i.e. background, are
not converted leaving "holes," for making tool paths for
engraving filled in patterns, see also FILL_TRIANGLES
command.
30, makes dots of line color, like 10 but makes just dots
rather than pairs of triangles, for printing, plotting, and
making tool paths.
40, like 30 but without background, for making tool paths where
you want to engrave filled areas, or make stencils.
50, makes up and down lines starting at z = 0 and going to the
depth equal to a value derived from the pixel color, makes
a 3D relief that can be used for a plunge tool path, see
also LINK and PLOTTERIZE.
60, same as 50 but omits the background portions from color 0
pixels.
70, makes dots at depth relative to z = 0 using the pixel color
to calculate the depth for each dot.
80, same as 70 but without the background.
100, makes horizontal chains of line segments by the depth
derived from the pixel color, can be used with PLOTTERIZE
to make a tool path file.
110, like 100 but omits portions that are background color 0.
bmpname.bmp, is the 8 bpp 256 palette mode gray tone raster image file.
ascname.asc, is the output ASCII vector drawing file.
This command converts a BMP 8 bpp 256 palette mode file into an ASCII drawing file, such that brightness values are converted into changes in line elevation in some modes, making the converted elements 3D and possibly useful for some kinds of tool path. This command that converts the line data directly from BMP files is preferred since palette conversion is made directly from the scanned image file, rather than from a conversion of that data into the palette used by the Pixel file type, as in the UTILITY SCREEN_TO_ASCII command.
The gray tone scale 256 palette mode BMP files will probably produce the smoothest surface because the other modes have more dithering to achieve shading. You can probably convert a "line art" BMP file to a 256 palette mode "gray scale" type BMP file with the software that came with your scanner, for simpler types of filled engraving.
Palette conversion from 256 palette mode color files is performed, but the 3D modes may produce depth different than you think you will get, so using your scanners software to convert color images to gray scale images might be preferred. Palette conversion may result in the loss of some data.
If you get an error message about the size of the BMP image, you may need to re-size or crop the scanned BMP file in order for conversion to finish.
The ASCII file produced will probably need to be scaled using the MAGNIFY command to adjust the depth and other dimensions. The OFFSET command could be used to adjust the bottom depth and position on the work-piece.
There are other commands that can be used to prepare 3D tool paths that may be a more accurate way to form surfaces, but this command is available for use in special circumstances where data is in a BMP file and you want to convert it to various kinds of line or triangle data.
The UTILITY BMP256_TO_ASCII conversion modes 50 and 60 may be useful in making an *.ASC file that DANPLOT.EXE (tm) can read to operate a photo-plotter to expose photographic or lithographic film. The length of the lines made for each pixel in the source file will correspond to the brightness values, so the Z axis feedrate in DANPLOT.EXE (tm) will translate that line length into exposure time, and the Z axis direction signal from the parallel port might be used to switch the exposure lamp on and off. With a bright UV source and a slow feed rate you might be able to plot directly to photo resist without making a negative first. See also the UTILITY SCREEN_TO_ASCII command to photo-plot from Pixel files.
See also WEAVE, LINK, PLOTTERIZE, FILL_TRIANGLES, BETWEENS, and CURVE_FIT.
This command lets you convert a raster BMP file into a vector, i.e. line segment, ASCII drawing file for making "oil" paintings. See also the MATCHING macro command for matching the paint colors. Each color from the BMP file is extracted one by one, so the command would need to be used up to 256 times to plot all of the up to 256 colors onto the canvas. Some BMP files may not use all of the palette values, so fewer colors would be used.
UTILITY BMP256OIL mode color scale xpot ypot zpot bmpname.bmp filename.asc
WHERE: mode n = 40, dots for each pixel of selected color.
41, goes to paint pot before plotting each pixel dot. Mode 41
is the mode you would probably want to use.
110, makes horizontal chains of line segments from pixels of
right color.
111, like 110 but goes to paint pot before each stroke.
color = 0 to 255 from BMP file's palette.
scale = sets pixel points per drawing unit, 0.01 would make 100 pixels
per drawing unit which is normally one inch.
xpot = the X position for the paint pot, normally -1.
ypot = the Y position for the paint pot, normally -1.
zpot = the Z position for the paint pot, normally 0.
bmpname.bmp, is the 8 bpp 256 palette mode color or gray tone image file.
ascname.asc, is the output ASCII vector tool path file.
This command converts a BMP 256 8 bpp palette mode file into an ASCII drawing file, such that a single color from the BMP file's palette is extracted, thereby all the points of that color can be plotted from the paint of that color before the next file is prepared, and the next color is mixed. The process would be repeated up to 256 times to plot all of the colors in the BMP file. Some BMP files do not use all of the palette values, and so the unused values would make an empty ASCII file.
Different BMP files can use different colors, so there may be more than 256 possible colors that might need to be mixed if more than one BMP file is used. The macro command MATCHING can help you mix the paint to get a color close to the one the BMP file is using. Some BMP files will require fewer colors than the maximum because not all of the palette values are used.
If you make a drawing, and display it in color using the Preview command, then save it as a BMP file, then extract part of that BMP file using this command, some of the palette colors may not need to be plotted since they are colors that are used internally, and not normally displayed as part of the drawing. BMP files from other sources may also have colors in their palette that are not used in the drawing displayed. You can tell if a palette index does not have any pixels, because no points will be made in the image area of the *.ASC file generated (you may see the paint pot point depending on the conversion mode used.)
If you do not use PLOTTERIZE to add the up and down brush motion, you would need to use my DANPLOT.EXE (tm) plotting program to plot the points. If you PLOTTERIZE the element to add the up and down motions you can try to use DANCAM.EXE (tm) to plot the tool path since the PLOTTERIZE command adds up and down motions. The version of this command in the FILES UTILITIES BMP sub-menu has an option to add the PLOTTERIZE motions.
See also MATCHING, LINK, and PLOTTERIZE.
Some changes were made to the BMP Oil command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
The MATCHING macro is used with the UTILITY BMP256OIL command to match the mixing of the "oil" paint to the colors in the BMP file.
MATCHING mode color bmpname
WHERE: mode n = 0, only mode 0 for now.
color = 0 to 255 from BMP file's palette.
bmpname.bmp, is the 8 bpp 256 palette mode color or gray tone image file.
The color to match is displayed on VGA or SVGA video boards, and some paint mixing values for four of nine paint colors. The mixing values are very approximate and would need to be adjusted for various types of paints used.
Nine colors of paint are used:
BU = Blue paint CY = Cyan (blue-green) paint GN = Green paint YL = Yellow paint RD = Red paint MG = Magenta (purple-pink) paint WI = White paint GR = Gray paint BL = Black paint
Only four of the nine colors are used to make the needed color, the portions of 1000 parts are displayed at the top of the matching screen. The colored rectangle in the gray rectangle is the color you are trying to match. The amounts of the various paints suggested are very approximate and you will need to make adjustments depending on the types of paint you are using.
The color of the paint may change when it dries, and the adjustment of your computer monitor will effect the display of the color. You should not adjust the monitor, or the ambient lighting in the room that you match the colors in since any changes may alter the color matching.
If you do not match the colors closely the painting may have a speckled appearance because some of the colors are darker than in the BMP file, and others are lighter.
Some changes were made to the BMP Matching command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
Since the screen colors assigned to the line color number values are changeable in v2.7 some commands where added to be able to manage these conversions.
PALETTE mode if mode = 0 then PALETTE 0
Resets palette to default screen colors for "pen numbers" table.
if mode = 1 then PALETTE 1 index color
WHERE: index = 0..127
color = 0..15
Sets screen color to "pen numbers" table, like [P]alette command in drawing editor [S]et-up sub- menu.
Can be used to record palette changes when automatic output macro is turned on, or save a palette set-up from a running macro.
if mode = 2 then PALETTE 2 filename
WHERE: filename = name of file to save all color to "Pen Numbers" in.
if mode = 3 then PALETTE 3 filename
WHERE: filename = name of file to load all color to "Pen Numbers" in,
from a file saved with mode 2.
If you want to preserve the palette settings so that a macro that makes palette changes does not upset your established settings, put something like PALETTE 2 PALETTE.TMP near the start of your macro, and PALETTE 3 PALETTE.TMP near the end of your macro.
The macro WEAVE command is used to make a triangle surface from two or more lines made up of lines that are drawn consecutively going in the same general direction. In order for the partitioning of the source element to work the line segments for each "chain" of line segments in the source element must have the same number of line segments, and the spacing of the line segments in each chain must be much less than the spacing between the chains of lines.
To use WEAVE you must first BEGIN a new element, then draw what amount to parallel contour lines across the surface you want to make, remembering that the contour lines must all have the same number of line segments, and have a spacing of the points that make sense.
WEAVE can also work with "circular" contour lines, polygons, and some other types of chains of line segments, so long as the direction and sequence of the line segments will result in a sensible surface without reversals, punctures, or loops. The chains in the source element must all have the same number of line segments in order for WEAVE to connect them. The tolerance is used to determine when the end of the first chain is reached, so be careful that the tolerance is larger than any small gaps between the line segments in each chain, but not larger than the spacing of the end of one chain and the beginning of the next.
Elements scanned with DANCAM.EXE v2.7 (tm)'s replicate command made up of parallel lines might work with WEAVE, as well as some forms of the conversion of PIX or BMP file to ASCII file.
# n WEAVE mode_A mode_B mode_C mode_D tolerance
WHERE: n is the selected element.
modes = E, "Edge," make outside edge "edge" type for display and thicken.
J, "Junction," make outside edge for display and not thicken.
S, "Surface," make only surface triangles, do not mark edge.
mode_A, is for the line or chain of line segments that goes from the
first point of the first chain to the first point of the last chain.
mode_B, is for the line or chain of line segments that goes from the
first point of the first chain to the last point of the first chain.
mode_C, is for the line or chain of line segments that goes from the
first point of the last chain to the last point of the last chain.
mode_D, is for the line or chain of line segments that goes from the
last point of the first chain to the last point of the last chain.
tolerance, is to allow for small gaps in the chain of line segments that
make up the chains, and should be smaller than the spacing of the points
in the chains of line segments. Such small gaps arise from small
rounding errors that occur with real numbers, and would otherwise make
it difficult to have the program auto-detect the number of points in
chains and chains in the element without being able to have some
latitude about what "equal value for the last point of one line segment
and first point of the next line segment" means. The program may report
various errors such as I/O or other errors if the source element is not
drawn properly, and the tolerance set larger than any gaps within the
chains of line segments.
Note that the input element needs to have two or more chains of points made out of line segments drawn end to end. The chains of points must be drawn going in the same direction along the desired surface. The direction of the chains of points determines the normals for display, so draw from the front view unless you are making the back side (see the commands that change triangle direction to make corrections).
The command detects the end of the chain of points when the first point of the next line is not the same as the second point of the last line, therefore do not have any "gaps" in the chain of line segments that make a chain, and ALWAYS break your chains so that the chains all have the same number of line segments.
The source element can be just two "parallel" line segments, two chains of line segments, or many chains of line segments side by side (all starting and ending so as to go in the "same direction".
If all the chains do not have the same number of line segments the command will probably fail and abort.
This command is useful for making surfaces, see also the BETWEENS, JOIN, THICKEN, and FIT_CURVE commands to use with this command.
The menu [A]ssemble command in the drawing editor combines BETWEENS, FIT_CURVE, and WEAVE to make drawing a smooth surface simpler, in as much as fewer points will be required in the source element drawn.
Join can now be used to join all the elements in the workspace into a single element at once by selecting element 0.
JOIN 0
Or to join just two particular elements at a time select both element numbers.
JOIN 3 5
If you are joining two elements, element 0 should not be used as one of them.
You can join all elements from the selected one given up to the last element in the workspace, by using "-2" as the first parameter, and the first element in the set to join as the second parameter for JOIN, then all elements in the workspace numbered above the one given in the second parameter will then be joined to it so that they become just one element.
JOIN -2 4
If you accidentally JOIN too many elements you will need to use the SPLIT command to break them up, or save the element as an ASCII file and use the [W]rite command to split the file manually. It is always a good idea to use the automatic output macro to help undo mistakes by regenerating the drawing from the edited output macro file that has had the mistake removed.
Some new modes were added to the CURVE_FIT command, these related to elements made of chains like those used with the WEAVE command.
There are several modes, with different parameters:
Mode "O" is for curve fit of just One single chain in the selected element,
# n CURVE_FIT O erase_source iterations damping
Where: erase_source = Y, Yes will erase the source element.
= N, No will leave it in the workspace.
iterations, number of time to repeat e.g. 2 to 5 or more.
damping, normally 0.2, more makes bends sharper.
Mode "S" for curve fit a set of chain elements the selected element is the first element in the set and the last element in the workspace is the last element in the set,
# n CURVE_FIT S join_mode erase_source iterations damping
Where: n is the first elements in the set of elements to fit.
join_mode = Y, yes will make just one new element.
= N, no will make a set of chain elements.
erase_source = Y, Yes will erase the source element set.
= N, No will leave it in the workspace.
iterations, number of time to repeat e.g. 2 to 5 or more.
damping, normally 0.2, more makes bends sharper.
Note that the number of elements in the result set cannot be greater than the maximum number of elements that the workspace can hold at one time. Also note that the last element in the workspace when the command is selected must be one of the elements in the source set since the set extends from the selected element to the last element in the workspace, however many that number of elements is at the time.
Mode "P" for curve fit a set of chain elements to partition from the selected element,
# n CURVE_FIT P join_mode erase_source iterations damping tolerance
WHERE: join_mode, can be Y for yes, and N for no, that is yes will make just
one new element, and N will make a set of chain elements.
erase_source, can be Y for yes, and N for no, Yes will erase the source
element, and No will leave it in the workspace.
tolerance, is for the partition part of this mode so that the program
can tolerate small gaps when finding the ends of the chains of line
segments in the source element.
A version of the BETWEENS command has been developed for use with the drawing editor, and that new version also has a macro equivalent.
The BETWEENS command can now be used with elements drawn to be partitioned like elements intended for use with the WEAVE command.
New and changed BETWEENS command options are modes S, L, or E:
BETWEENS modes S and L work on a set of disk files, mode E works on elements in the workspace.
When mode is S or L the BETWEENS command uses these values,
BETWEENS mode stype source rtype result i d
When mode is E these values are used for two sub-modes S and P,
when the source is a set of elements in the workspace use mode S,
# n BETWEENS E S join_result i d
or when the source is a partitionable element in the workspace use mode P,
# n BETWEENS E P join_result erase_source i d tolerance
Note that when BETWEENS E S is used there is no erase_mode, that is because BETWEENS E S overwrites the source element set, therefore the selected element remains the first element in the source and the result set, with the source elements being overwritten. If you want to save the source set you should use the SAVE ELEMENTS command, or the equivalent to save each element in the source set to a separate file on your disk.
WHERE: mode = S, Short set of element files using numbered extensions,
i.e. filename.1 through filename.999
L, Long set of variable files using up to 8 numbers plus a three
letter name in the extension space, i.e 1.fil through
99999999.fil
E, Elements mode, limited by free elements in workspace. In
Elements mode the current selected element is the source
element or the first element in a set of elements up to the
last element. The result becomes a new element, or set of
elements above the highest element when the command is
started.
source = set of files or array file corresponding to the mode input for
expansion (S and L mode only.)
result = set of files or array file corresponding to the mode that
outputs the expanded array of values (S and L mode only.)
i = iterations, each one increases the number of values by
(source * 2) - 1 = result
d = damping factor for the "curve fitting" 0.2 is best for general,
use, 0 gives the fullest curve, and 1e18 is almost no curve at
all.
join_result = Y for Yes, N for No.
erase_source = Y for Yes, N for No.
tolerance = partition end of chain seek tolerance for mode Elements
Partition, generally smaller than the shortest line segment
e.g. 1e-6 or so.
It is generally better to CURVE_FIT after BETWEENS than before in order to reduce the number of points that need to be interpolated, and therefore reduce the time required.
The macro EXPAND_ARRAY command has been changed so that it can now work with larger sets of values if you wish to do that,
EXPAND mode source result i d
WHERE: mode = S, Short set of variable files using numbered extensions, i.e.
filename.1 through filename.999
L, Long set of variable files using up to 8 numbers plus a
three letter name in the extension space, i.e
1.fil through 99999999.fil
A, Array of values in a single array file where the
first line is NUM_ARRAY_V27, and the last line is EOF, with
the values on the lines in between. Each value is on a text
line by itself in the array file.
source = set of files or array file corresponding to the mode
input for expansion.
result = set of files or array file corresponding to the mode
that outputs the expanded array of values.
i = iterations, each one increases the number of values by
(source * 2) - 1 = result
d = damping factor for the "curve fitting" 0.2 is best for general,
use, 0 gives the fullest curve, and 1e18 is almost no curve at
all.
To create a source array for the Short and Long options of EXPAND_ARRAY you can use the LET command in the normal way,
FILES MAKE SHORT LET SHORT\A.1 = 1.250 LET SHORT\A.2 = 1.262 LET SHORT\A.3 = 1.273
or
FILES MAKE LONG LET LONG\1.B = 1.250 LET LONG\2.B = 1.262 LET LONG\3.B = 1.273
the EXPORTFILE macro command can be used to make the source set for the A option,
EXPORTFILE T SOMENAME.ARR NUM_ARRAY_V27 1.250 1.262 1.273 EOF ENDEXPORTFILE
Here is an example macro that shows how to use all three array types,
VERSION v2.7C ; EXPANDTE.MAC How to use EXPAND macro command's options. LET CTEST.1 = 2.250 LET CTEST.2 = 2.262 LET CTEST.3 = 2.273 EXPAND S CTEST.1 DTEST.1 1 0.2 TEXT LOCATE 1 1 OUTPUT DTEST.1 LOCATE 1 2 OUTPUT DTEST.2 LOCATE 1 3 OUTPUT DTEST.3 LOCATE 1 4 OUTPUT DTEST.4 LOCATE 1 5 OUTPUT DTEST.5 WAIT LET 1.ETE = 3.250 LET 2.ETE = 3.262 LET 3.ETE = 3.273 EXPAND L 1.ETE 1.FTE 1 0.2 TEXT LOCATE 1 1 OUTPUT 1.FTE LOCATE 1 2 OUTPUT 2.FTE LOCATE 1 3 OUTPUT 3.FTE LOCATE 1 4 OUTPUT 4.FTE LOCATE 1 5 OUTPUT 5.FTE WAIT EXPORTFILE T ATEST.ARR NUM_ARRAY_V27 1.250 1.262 1.273 EOF ENDEXPORTFILE EXPAND A ATEST.ARR BTEST.ARR 1 0.2 ARRAY R BTEST.ARR BTEST.1 1 ARRAY R BTEST.ARR BTEST.2 2 ARRAY R BTEST.ARR BTEST.3 3 ARRAY R BTEST.ARR BTEST.4 4 ARRAY R BTEST.ARR BTEST.5 5 TEXT LOCATE 1 1 OUTPUT BTEST.1 LOCATE 1 2 OUTPUT BTEST.2 LOCATE 1 3 OUTPUT BTEST.3 LOCATE 1 4 OUTPUT BTEST.4 LOCATE 1 5 OUTPUT BTEST.5 WAIT ; EXPANDTE.MAC
EXPAND_ARRAY can be used to smooth values used to control the display rotations and other values used in an animation macro and values passed to the various other macro commands such as OFFSET, ROTATE, and MAGNIFY.
The macro NAME command now has a version for long name sets called LONG_NAME,
The settings are about the same except that the name is in the long set of names form:
DRIVE:\PATH\number.EXT
The "number" ranges from -9999999 to 99999999 and the .EXT is used as a three letter filename. Be sure that the space normally occupied by the file name is only a number, and does not have any letters in it. This name form may also be useful when exporting BMP files for use with Windows (tm) programs that require the file extension to be BMP, e.g. C:\DC27\SUB1\1000.BMP, C:\DC27\SUB1\1001.BMP, C:\DC27\SUB1\1002.BMP and so on, stored in a unique sub- directory to keep from overwriting other long numbered file sets.
The ARRAY macro command can be used to access individual values in an array variable file.
ARRAY mode
(There may eventually be more than one mode.)
mode = R or READ
ARRAY R array_name var_name index
WHERE: array_name = the filename of an number array to read from.
var_name = the filename of a number variable to put value in.
index = the index of member in the array, 1 to n members.
This macro command is used with the EXPAND_ARRAY macro command, or for reading values from an array for an animation or other macro use. If the index is out of range a numeric error will probably be returned, and the macro will be stopped with an error report.
A new macro command for v2.7A named RADIUS_COMP has been added to make a new tool path element with offset for the tool radius, such that a line is traced along side the source element along all of its bends and "quasi-curves." This works similar to the G code commands G40, G41, and G42, but works with elements that are already drawn and automatically corrects for some undercutting problems with concave curves along the compensated path. Bends and corners are capped with polygon curves to avoid excessive extension when the angles are sharp.
# n RADIUS_COMP plane left_or_right radius
WHERE: plane = F, front XY plane.
S, side ZY plane.
T, top XZ plane.
left_or_right = L, left hand compensation.
R, right hand compensation.
radius = radius of compensation, e.g. radius of end mill tool.
See also [F]iles [L]oad [G] code and drawing editor [N]C sub-menu.
The MUTATE command is a special purpose command for converting triangle elements into wire frame elements, or for converting elements drawn with "free" lines like lettering, dimensioning, and such, into triangle elements so that those mutated elements can be incorporated into the hidden line display of 3D scenes by use of the hidden line display modes such as modes 64 or 74.
# n MUTATE mode
WHERE: n is the source element, triangle or line depending on the mode.
mode = 1, turn "free" lines into thin shapes made of triangles for
hidden line display modes.
2, turn triangles into three "free" line segments.
3, turn only triangle lines marked as edge or junction attribute
into "free" line segments, mode 3 can make a less confused
looking element than mode 2 for wire frame display, also
there may be fewer lines in the edge only version for faster
display when doing wire frame "pencil tests" to check
animation motion.
The # n before CORRECT below is the select element command, to select the element to act on, or scan through.
The CORRECT command has several modes that relate to various issues involving elements made of triangles. If you create triangle data directly using the [W]rite command or by some other method figuring out the correct coordinates for the p4 values, i.e. normals, can be ignored, and then later you can use the CORRECT option G to generate new normals.
CORRECT modes T and N are only used when the normals and the triangles directions are independently reversed, something that does not normally happen in elements drawn properly, but can be corrected with these options. When both the triangles and normals are going the wrong way use the REVERT command to correct that problem.
CORRECT mode L generates a normal just for the last two line segments in the selected element, and is used for appending line data by the program, normally you would use mode G to correct the whole element.
# n CORRECT G { generate normals using triangle direction }
# n CORRECT T { correct triangle direction match normals }
# n CORRECT N { correct normals to match triangle direction }
# n CORRECT L { generate normal only for last triangle in element }
CORRECT can also be used to check an element to see if the triangle data has been corrupted, or if a triangle accidentally got integrated into a line element. Some problems may not show up on the Verify, but it should catch some of the major problems if the Verify All option is active. The Verify Quick mode lets you speed up the program if you are sure that all the elements are good. Normally the program uses the Verify before some of the other commands that require good triangle or line data in order to screen out elements that are not valid for that command, so I recommend leaving Verify set to the All mode to catch the greater number of mistakes.
# n CORRECT V T { verify triangles in element }
# n CORRECT V L { verify "free" lines in element }
# n CORRECT V A { set verify mode to scan all lines or triangles in element }
# n CORRECT V Q { set verify mode to quick scan of first and last lines or triangles in element }
In the drawing editor and Preview or DISPLAY commands you can display the triangle normals as lines "poking" out of your triangle elements, so that you can visually confirm that the triangles have been drawn correctly. The generated length of the normal relates to the size of the triangle, so small triangles get small normals, big triangles get big normals. If you have a curve or other shape with short line segments the default length of the normals might be too short to see which direction they are going in when you are zoomed out, so you can use the CORRECT S option to Set the normal length to a particular longer value to make the display of the normals direction more obvious.
# n CORRECT S r { set normal length in selected element }
The "r" is a positive real number for the length of the normals in the selected element.
See also the REVERT command.
The REVERT macro command reversed the point order in the triangles in an element. It is usually used to reverse the orientation of triangles that are facing the inside of elements, you usually want the triangles facing the outside of elements. When drawing it is best to rotate the element you are drawing so that the side you are drawing is facing positive z values, that should help you avoid drawing parts backwards, but if you get a backwards element the REVERT command may be able to turn it "inside-out" without having to redraw everything.
# n REVERT mode
WHERE: mode = T, swap points p1 and p2, revert triangles.
N, revert normals to other side of triangles.
B, revert both normals and triangles, usual mode to use.
It is a good idea to use CORRECT mode G after REVERT B to make sure the normals are at the correct angles, but it is not always necessary if the normals were good before hand, but just going in the wrong direction.
LINK, links gapped lines in an element. Link also has a starting and ending points option. Link lets you select the line color, i.e. feedrate, that will be used for the linking line segments that will be added to fill in the "gaps" in the source element.
For mode N, no starting and ending lines:
# n LINK N color
WHERE: n is source element to link.
color, is the color for linking lines.
For mode Y, yes make starting and ending lines:
# n LINK Y x_start y_start z_start x_end y_end z_end color
WHERE: n is source element to link.
x_start, is x point for the first point in the result element.
y_start, is y point for the first point in the result element.
z_start, is z point for the first point in the result element.
x_end, is x point for the last point in the result element.
y_end, is y point for the last point in the result element.
z_end, is z point for the last point in the result element.
color, is the color for linking lines.
See also commands UTILITY SCREEN_TO_ASCII, UTILITY BMP256_TO_ASCII, UTILITY BMP256OIL, WEAVE, BETWEENS, and the [A]ssemble command in the drawing editor. Some changes were made to the BMP Oil and BMP Matching command in a revision of v2.7H, so see also Section: 3.3.7.8 for additional information.
The purpose of JET FATTEN is to "fatten" dark areas in a JET page file. Can be used with the other JET commands to find outlines of filled areas that can be then traced to a tool path using the JET TRACE command. Dark areas can be made thinner if the fatten distance is negative.
From the main menu press: [H] [J] [F] to get this command.
The macro version is:
JET FATTEN fatten_mode fatten_value jet_page_filename jet_driver
WHERE: fatten mode is: I = r is the number of fatten iteration.
D = r is the diameter for fatten.
R = r is the radius for fatten.
fatten_value a real number that depends on the mode.
jet_page_filename is a JET page filename to fatten.
jet_driver is the *.JET driver file used to make page file.
EXAMPLE: JET FATTEN D 0.003 JPAGE.1 DRIVERS\300D8X11.JET
JET FATTEN R 0.010 JPAGE.1 DRIVERS\300D8X11.JET
JET FATTEN R -0.01 JPAGE.1 DRIVERS\300D8X11.JET
JET FATTEN I 6 JPAGE.1 DRIVERS\300D8X11.JET
Note that the iteration mode fatten distance may change with different JET drivers, i.e. 150 dpi or 300 dpi.
The fatten radius can sometimes be used to make cutter radius compensation, within the tolerance of a single pixel in the JET page file. Pick mode I and a value of 1 time to fatten page by one pixel. Positive values make the black areas in the page file larger and Negative values make the black areas in the page file smaller. Iteration mode works by pixel size in the page file, which gives fatness of 1/150 or 1/300 depending on the JET driver used, i.e. mode I value 6 used with the 150D8X11.JET driver will fatten 0.04 inch. Radius and Diameter modes automatically adjust for the resolution of the JET page driver being used. See also JET TRACE and LOAD ASCII macro commands.
See also the [O]utline command in the [H]ardcopy sub- menu, you can use it to code this command to the automatic output macro file.
The purpose of JET TRACE is to make an ASCII file of 2D lines from a JET page file through raster to vector conversion. Different modes change how the image in the JET page file is to be used for the creation of the line segments in the ASCII *.ASC drawing file.
From the main menu press: [H] [J] [T]
The macro version is:
JET TRACE trace_mode trace_scale ASC_filename JET_filename JET_driver
WHERE: trace_mode is a code number, see table below for codes.
trace_scale for conversion 1E-18 to 1E18, makes bigger or smaller.
ASC_filename is the name of *.ASC file to make.
JET_filename is the name of the source JET page file with the image.
JET_driver is the name of the *.JET HP-PCL printer code driver file.
TABLE OF TRACE MODES v2.7A, modes may be different in another version.
Modes with no branches may show voids, use mode 3 or 9 for PCB outlines.
Use mode 110 or 111 to make an excess PCB foil clearing ASCII tool path.
1 = Trace with diagonals, branches, and no dots. For PCB trace outlines.
2 = Trace with diagonals, no branches, and dots. For line art outlines.
3 = Trace with diagonals, branches, and dots. More complete outline trace.
4, 5, & 6 are like 1, 2, & 3 but work better for filled mode on line art.
7 = Trace with steps, branches, and no dots. For PCB''s with narrow traces.
8 = Trace with steps, no branches, and dots. For some filled applications.
9 = Trace with steps, branches, and dots. Slowest, but most accurate.
51 through 59 are like 1 to 9 but add 45ø branches to fill in some gaps.
110 = Bi-directional scan making lines parallel to the x axis. For PCB clear.
111 = Uni-directional scan making lines parallel to x axis. Less backlash.
120 = Bi-directional scan along x axis making only pixel dots. For drilling.
121 = Uni-directional scan along x axis making only pixel dots. For editing.
EXAMPLE: JET TRACE 1 240 OUTPUT.ASC JPAGE.1 DRIVERS\300D8X11.JET
Note that You need to use the JET ADD or other commands to put something into the page file before you trace the page file or you will get an empty *.ASC file. Always inspect the lines output to the *.ASC file by loading it into DANCAD3D (tm)'s workspace and looking at the line segments in the drawing editor before you try to use the *.ASC file as a tool path with the CAM programs.
To make outlines you need to use some of the other JET commands to change the filled areas of the drawing into outlines before you use JET TRACE to make an *.ASC tool path file. Use the automatic output macro feature with the [O]utline command in the [H]ardcopy sub-menu to see how the outlines are made for the type of trace you are interested in, the method can change for the different modes. Look at the output macro file with the [W]rite command to see which and in what order the JET macro commands are used. See also the JET FATTEN and LOAD ASCII macro commands.
See also the [O]utline command in the [H]ardcopy sub- menu, you can use it to code this command to the automatic output macro file.
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.
# n SELECT mode value
WHERE: n is the element selected to extract lines from, can be 0 i.e. all.
mode = C, line color select mode.
W, line width select mode.
value = in mode C, the color number 0 to 127.
in mode W, the width number 0 to 255.
See also SPLIT.
MODIFY works like LINETYPE except that it lets you just change one of the line attributes such as color or width, without changing the other line attributes. If you has joined several elements of different colors and wanted to change the width of all the lines without changing the colors of the various lines in the element MODIFY can be used.
# n SELECT mode value
WHERE: n is the element selected to extract lines from, can be 0 i.e. all.
mode = C, line color modify mode.
W, line width modify mode.
value = in mode C, the color number 0 to 127.
in mode W, the width number 0 to 255.
See also LINETYPE.
FILL_TRIANGLES, is conceived to be used to make a tool path from a surface made up of triangles, it fills triangles with closely spaced lines so that a smooth surface might be able to be machined using the generated tool path. FILL_TRIANGLES has a 3D radius compensation option that might work with a cutter that has a hemisphere end shape, e.g. ball mill. FILL_TRIANGLES has options for generation of drill, roughing, and finish tool paths.
# n FILL_TRIANGLES mode r r r r i w w i i i i
WHERE: n is the triangle surface source element.
mode = F, Finish tool path of surface.
R, Rough tool path of surface.
B, Both, rough plus finish tool path of surface.
D, Drill, plunge tool path for drill like tool.
r = z_clear point position above work-piece, -1e18 to 1e18.
r = z_gap above final surface for clearance, -1e18 to 1e18.
r = radius of tool for radius compensation, 0 to 1e18.
r = pitch for line spacing in fill pattern, 1e-18 to 1e18.
i = passes for filling pattern, 1 to 3.
w = order, Forward or Reverse.
w = connect, Yes or No.
i = line color for position moves feed rate, 1 to 127.
i = line color for ascend moves feed rate, 1 to 127.
i = line color for descend moves feed rate, 1 to 127.
i = line color for fill lines feed rate, 1 to 127.
In order for the radius compensation to be effective the triangles in the surface need to be divided to a size that is smaller than the error in the surface tolerance, e.g. if your surface needs to be +/- 0.001" then the longest side on triangles in the convex and concave portions, and some portions adjacent to the convex and concave portions need to be about half that amount.
The radius compensation is derived from the direction of the normals in the surface triangles, so be sure that the triangle's normals are pointing the right way around.
If you do not want radius compensation, because you are using a pointed tool, set the radius value to 0.
See also macro commands BETWEENS, CURVE_FIT, DIVIDE, WEAVE, and the [A]ssemble command in the drawing editor.
This new command changes the What You See Is What You Get state for the DISPLAY command, and effects the line thickness. The displayed line thickness is also effected by the DISPLAY scale when the lines are displayed if WYSIWYG is true.
WYSIWYG 0 { sets WYSIWYG flag for line display false }
WYSIWYG 1 { sets WYSIWYG flag for line display true }
See also the WORLD macro command, since the current world scale setting effects the drawing of the WYSIWYG lines when the WYSIWYG is on in some parts of the program.
The CRT command has been added to allow some direct operations on the Video CRT display, without having to display elements stored in the drawing workspace.
CRT LINE x1 y1 x2 y2 color { draws a line in CRT coordinates }
CRT BOX x1 y1 x2 y2 color { draws a filled rectangle in CRT coordinates }
CRT RECTANGLE x1 y2 x2 y2 color { draws a rectangle in CRT coordinates }
In LINE, BOX, and RECTANGLE the x and y values are in absolute screen coordinates, and change depending on the video mode selected. If you want to use coordinates independent of the video mode, you should use the DISPLAY command on lines drawn in an element in the workspace.
CRT BACKGROUND mode brightness color_one color_two { makes a shaded background }
Mode codes for CRT BACKGROUND:
0 solid color of brightness set, can be two colors mixed or two same solid.
21 light at center, dark at top and bottom, colors mixed.
22 light at center, dark at left and right, colors mixed.
31 dark at center, light at top and bottom, colors mixed.
32 dark at center, light at left and right, colors mixed.
41 light at center, dark at top and bottom, color one top, color two bottom.
42 light at center, dark at left and right, color one left, color two right.
51 dark at center, light at top and bottom, color one top, color two bottom.
52 dark at center, light at left and right, color one left, color two right.
61 color one at center, color two at top and bottom.
62 color one at center, color two at left and right.
You can save the background using the [F]iles [U]tilities [V]ideo [B]ackground command, or use the SAVE PIXEL command after the CRT BACKGROUND command in a macro. Be sure to use the CRT BACKGROUND command AFTER the GRAPH video_mode command, and not before setting the video graphic mode. Solid background colors can also be set with the macro command PALETTE setting for entry 0 since 0 is the default background color in modes that support colors or gray tones.
CRT NEGATIVE mode
EXAMPLE: GRAPH ...
DISPLAY ...
CRT NEGATIVE 1
CRT NEGATIVE makes the graphics screen into a negative image. In M256 and C256 palette modes NEGATIVE only changes the video palette and not the pixel values, so SAVE PIXEL will only save the original pixel values and not the negative ones. You can use CRT NEGATIVE after LOAD PIXEL to change the loaded file into a negative image for photography on color or b&w "positive" film. When photographing in negative the camera's view should crop the screen image to avoid a clear border on the positive after processing. Be sure to use correcting filters over the camera, yellow or orange types for color positive, in order to get gray to come out gray in the positive. Adjust the monitor brightness, and exposure time to get the right center density, rather than using the program's display command's lighting variables.
See also the menu command Files Utilities Video Negative.
The FIX$ option for the LETTERING command lets you display numbers with a fixed position of the decimal point and digits so that the number does not shift left and right as it counts in a animation, or other display where you want the place values stationary in the drawing.
FIX$
v digits decimal
WHERE: v = is a value or number variable
digits = is the width of the string produced
decimal = the number of decimal digits
Note that the parameters for FIX$ must be on the next line of text in the macro file and not on the same line, since the FIX$ command is placed in the line where the text for LETTERING normally goes, if you put anything else on the line with FIX$ the program will read that line as text for LETTERING and not a command to use the FIX$ as a command parameter.
Digits maybe more than the value given if decimal is too large of a value for number to display, used correctly the decimal point can be fixed and not shift, useful for animated displays with number read-outs.
See also information about macro LETTERING command in Appendix B.
FIXED has modes that let you adjust the way numbers are represented in a number variable file on your disk. This can be used to change the way numbers will display on the screen since numbers are stored in ASCII format in number variables, allowing implicit type conversion to string variable type and reading of the formatted number by the commands that read string variables.
FIXED varname.var 0 mode 0, Converts string in variable to expediential notation of default width. FIXED varname.var 1 n mode 1, converts to expediential notation of n width. FIXED varname.var 2 n1 n2 mode 2, converts to fixed point notation, of n1 field width with n2 decimal places, n2 should be less than n1 for fixed string widths.
See also macro OUTPUT$ and LET$ commands elsewhere.
Because macro commands from different versions of the programs operate in somewhat different ways, the program now requires that macros be flagged with the macro VERSION command at the top of the macro file, how this will used later is yet to be determined.
VERSION v2.7C
The version code flags correspondence of macros to program versions, the VERSION command must be the first command in the macro at the top left of the main macro before all other commands.
To run macros written for previous versions you will need to add the VERSION command, and make whatever other alterations are needed to the other macro commands particularly APPEND, ALTER, SPLIT, DELETE, LATHE, THICKEN, PURGE, and possibly some other commands depending on how the macro was written originally.
When changing references to line numbers in the workspace it is generally better to now refer to the line number relative to the starting or ending line number of the element the line is in rather than the absolute line number index value of the workspace array, see the changes to the LET command.
The FILES RELEASE PIXEL command is set up to erase Pixel file sets of unknown length, without reporting errors if some files are missing, that lets you use the FILES RELEASE PIXEL macro command to clear disk space and prepare for later use of ANIMATE.
FILES RELEASE PIXEL C:\SUB\SOMENAME
When filetypes OTHER than DOT, JET, or ELEMENTS are used all files from SOMENAME.-99 through SOMENAME.999 are erased, even if there are some files in the set that are missing.
The command does not report missing files, or stop a macro, since the command can be used to clear a directory left over from when a macro was run before, for instance if you run a macro and make 100 frames, then change the macro to make 50 frames, you need to make sure that all the frames from 51 to 100 were erased before the ANIMATE command is used, or you will see the last part of the first Pixel file set come after the second file set you made. To avoid this problem, the FILES RELEASE command can be used to clear the PIXEL files, if any are already in the directory, before you make a PIXEL file set so that the ANIMATE command will just display the most recent set of PIXEL files made.
The new macro command CONVERT can be used to convert a "Line Art" 1 bpp BMP file into a JET page file, or convert a JET page file into a BMP graphics file. This command differs from the LOAD BMP and SAVE BMP macro commands since the image goes between the BMP file and the JET page file rather than the graphics screen, therefore the maximum resolution can be higher and the image size can be adjusted with the settings in the JET driver file.
Once a BMP file is loaded into a JET PAGE file the JET TRACE command can be used to convert the raster pixels into line segments that can be used in the drawing workspace, edited, and saved for use as a tool path file. Thereby you can convert scanned images into objects made on a CAM machine.
The size of the BMP file in pixels must match the size selected in the JET driver you will be using, so try making a BMP file from a JET page file first, load that BMP file into your graphics program, check the image size, then make or edit your scanned images to be exactly that same size, i.e. use crop or resize in your image editing software that came with your scanner.
The format for making a BMP file is:
CONVERT PAGE BMP JET_source BMP_result JET_driver
WHERE: PAGE is the source type mode.
BMP is the result type mode.
JET_source, is the name of the JET page file that has the image in it,
you would have used the JET ADD command to put the image in
this JET page file.
BMP_result, is the filename for the new BMP file you are going to
make, it must be a filename that has the extension *.BMP, or
your other graphics programs will not recognize it as a BMP
file.
JET_driver, is one of the JET drivers in the DRIVERS\ sub-directory that
you have installed with the main menu [C]hange command as
the default JET driver and you used to make and edit the JET
page with.
The format for converting a BMP file to a JET page file is:
CONVERT BMP PAGE BMP_source JET_result JET_driver
WHERE: BMP is the source file type, BMP 1 bpp "Line Art".
PAGE is the result file type, i.e. a JET page file set.
BMP_source is the filename of a BMP file that has been edited to be of
the right type and size to match the JET_page file that you
have made to receive the image. You can use the [H]ardcopy
[J]et
JET_result is the filename of JET page file set that has been made
before hand to receive the converted image, use the JET MAKE
macro command to make the page file before you use CONVERT.
JET_driver, is one of the JET drivers in the DRIVERS\ sub-directory that
you have installed with the main menu [C]hange command as
the default JET driver and you used to make the JET page
with.
The JET driver files are edited with the [H]ardcopy [J]et [I]nstall command. You can change the resolution between 150 dpi and 300 dpi, and edit other values to change the size of the image to be saved or loaded. You can use the JET driver to control the size of the BMP file made, so that the image will not be too big.
If lines appear to be missing when you look at the BMP file in your graphics editing program that came with your scanner, especially when the BMP file is displayed so that it fits in the editing screen area, your graphics program is probably not displaying all pixels when images are reduced in size, change the view to "actual," "1:1," "full size," or whatever the mode is that shows one pixel in the file to be one pixel on the screen.
If you try to reduce BMP files in your graphics software to a smaller size, the software may drop out some thin lines because of the method it uses to shrink drawings, so it may be better to use the scale command in DANCAD3D.COM (tm)'s JET ADD command to make the element look smaller, then use the crop command in your scanner's image editing software to "cut out" the portion of the BMP file you want, thereby making a smaller graphics file by cropping rather than resizing.
Here is an example macro file that makes a BMP file then loads that file into the workspace, the original element is in color 1 (dark blue when default colors are used) and the outline of it from the BMP file is in color 12 (light red when default colors are used), set the background color to black and zoom in using the drawing editor to see this.
VERSION v2.7C
; OPEN as NEW file: BMPTEST1.MAC. 2:41:47 a.m., Tuesday, April 30, 2002.
; Start make a test element.
INITIALIZE { No elements in workspace when file was opened as new } ; 2:41:47 a.m., Tuesday, April 30, 2002.
POLYGON 360 360 3.5 1 1 0 0 { This is element 1 } ; 2:42:05 a.m., Tuesday, April 30, 2002.
LETTERING
TEST
0 0 0 0 0 0 2 2
1 1 0 0 0 1 0.5 8
C J DANCAD3D.FON
# 2 MAGNIFY C 0.8 1 1 ; 2:45:28 a.m., Tuesday, April 30, 2002.
JOIN 0
; End Make a test element.
; Start save BMP file.
JET MAKE BMPS1.JET DRIVERS\300D8X11.JET ; 2:46:16 a.m., Tuesday, April 30, 2002.
# 0 JET ADD 0 0 0 -1.0000E+18 240 10 0 0 BMPS1.JET DRIVERS\300D8X11.JET ; 2:46:33 a.m., Tuesday, April 30, 2002.
CONVERT PAGE BMP BMPS1.JET BMPTEST1.BMP DRIVERS\300D8X11.JET ; 2:46:40 a.m., Tuesday, April 30, 2002.
; End save to BMP. ; 2:46:52 a.m., Tuesday, April 30, 2002.
; Start load BMP file.
JET MAKE BMPL1.JET DRIVERS\300D8X11.JET ; 2:49:57 a.m., Tuesday, April 30, 2002.
JET MAKE BMPL2.JET DRIVERS\300D8X11.JET ; 2:49:57 a.m., Tuesday, April 30, 2002.
CONVERT BMP PAGE BMPTEST1.BMP BMPL1.JET DRIVERS\300D8X11.JET ; 2:50:06 a.m., Tuesday, April 30, 2002.
JET FATTEN D 0 BMPL1.JET DRIVERS\300D8X11.JET ; 2:50:06 a.m., Tuesday, April 30, 2002.
JET COMBINE BMPL1.JET BMPL2.JET BMPL2.JET O DRIVERS\300D8X11.JET ; 2:50:06 a.m., Tuesday, April 30, 2002.
JET FATTEN I 1 BMPL2.JET DRIVERS\300D8X11.JET ; 2:50:13 a.m., Tuesday, April 30, 2002.
JET COMBINE BMPL1.JET BMPL2.JET BMPL2.JET M DRIVERS\300D8X11.JET ; 2:50:13 a.m., Tuesday, April 30, 2002.
JET TRACE 1 240 BMPL1.ASC BMPL2.JET DRIVERS\300D8X11.JET ; 2:50:20 a.m., Tuesday, April 30, 2002.
LOAD ASCII BMPL1.ASC { Element 2 } ; 2:50:20 a.m., Tuesday, April 30, 2002.
# 2 MEDIAN Z F ; 2:50:20 a.m., Tuesday, April 30, 2002.
; median offsets used when this was output to macro: x = 0 y = 0 z = 0 ; 2:50:20 a.m., Tuesday, April 30, 2002.
# 2 CENTER 0 0 0 ; 2:50:20 a.m., Tuesday, April 30, 2002.
; End load BMP file ; 2:53:59 a.m., Tuesday, April 30, 2002.
# 2 LINETYPE 12 1 0 0
; STOP adding to file: BMPTEST1.MAC. 2:54:07 a.m., Tuesday, April 30, 2002.
See also the [F]iles [L]oad [I]ndustry [B]MP and [F]iles [L]oad [I]ndustry [B]MP menu commands, and use the automatic output macro feature to code the loading and saving of "Line Art" BMP type files. See also the LOAD BMP and SAVE BMP commands to work with color or gray scale images.
Conversion of files to ASCII Hexadecimal code from Binary files is needed for some uses of the EXPORTFILE macro command. The reverse, i.e. Binary from Hex is provided for use in de-converting files made by Binary to Hex.
FILES CONVERT BIN binfile HEX hexfile { makes a hex file from a bin file }
FILES CONVERT HEX hexfile BIN binfile { makes a bin file from a hex file }
This is mostly for making a Hex file that you can copy into your macro for use as part of the EXPORTFILE B macro command, so that the macro can incorporate binary data in its body as hex data in ASCII code, this lets you keep all parts and files needed by a macro in the macro file's body, and export them to disk files at the time the macro is run.
The reverse conversion is so that you can reverse the process, using the files utilities menu, or a macro, in case you archive the HEX file but misplace the original BIN file.
A special new FILES CONVERT command that converts a *.NOR normalized *.RAW scanned data file made using the replicate command in DANPLOT.EXE (tm) into a *.BMP graphics file using a special monochrome palette has been added. This FILES CONVERT option supports a special palette for conversion of *.NOR files into *.BMP 8 bpp 256 palette mode files by using up to many shades of gray. The codes for this special new macro command are:
FILES CONVERT NOR filename.nor BMP8NM256 filename.bmp
Because this conversion uses a special gray tone palette, you must use palette conversion if you want to convert a *.BMP file made from a *.NOR file made from a *.RAW file into a *.PIX file using the screen display M256 palette mode, i.e. as in video display mode S640M256, S800M256, S1280M256, and S1600M256. Be sure to see the prompt in the *.BMP to *.PIX conversion regarding palette conversion or not, and select palette conversion. Programs that read *.BMP files should not have more of a problem reading the BMP8NM256 palette than they would any other palette from a *.BMP file. When converting *.BMP files made by this command into *.PIX files using the FILES UTILITIES BMP PIX command you should use the palette conversion since the M256 palette used for the DISPLAY and Preview commands is different from the BMP8NM256 palette used by this command to save the *.BMP file.
There are commands in DANPLOT.EXE (tm) that allow you to adjust the contrast, brightness, and make negative copies of the source *.NOR file. The manipulated *.NOR copy might be used to improve the conversion to *.BMP graphics file. You might also edit the *.BMP file made by this command by using some other graphics program that can read *.BMP files.
Information about how to hook-up the scanner probe for use with DANPLOT.EXE (tm) is given elsewhere in this section.
See also the menus of the replicate command in DANPLOT.EXE (tm).
If you start from video mode TEXTMODE the LOAD PIXEL command will try to find the right graphics mode for the Pixel file.
If the graphics mode has been set using GRAPH the proper mode should be set that matches the Pixel files you are going to load.
If you animate frames directly using the LOAD PIXEL command you should not set the video mode between the loading of the frame files, since that would slow down the animation. You should only try to load Pixel files that where saved in video modes that your board, monitor, and the program have been set-up to use.
If you start from TEXTMODE the ANIMATE command will try to find the right graphics mode for the Pixel file. You should only try to load Pixel files that where saved in video modes that your board, monitor, and the program have been set-up to use.
The LET macro command has some new options to help with problems that sometimes arise when macro files that use macro commands that directly reference line number index numbers in the workspace array, such as the DELETE, SPLIT, and ALTER macro commands, are edited such that the number of line segments within the elements in the workspace increases or decreases.
These new options have been added to the LET command so that you can reference line number indexes relative to the starting or ending line of an element, with that value being derived at the time the macro is run. This helps when you change the number of lines in an element below an element that is effected by DELETE, SPLIT, or ALTER. You still may have problems editing the line index values within an element, but the interaction of editing different elements is reduced. With this in mind it is better to use the BEGIN macro command to make many small elements, so that when the line numbers are indexed relative to the starting or ending line in a element most of the lines in the drawing will not be in the effected element.
LET somename.var -> START_LINE n Returns array index of start line for element n. LET somename.var -> LAST_LINE n Returns array index of last line for element n.
Unrelated to the START_LINE and LAST_LINE options is a new option LONG_COUNT. The LONG_COUNT option is equivalent to the previous COUNT option, but works with files that use the LONG filename format, i.e. it counts files in a set like 1.BMP, 2.BMP, 3.BMP, and so on.
LET somename.var -> LONG_COUNT fn Returns count of file set fn using long numbered filename format.
Note variable names START_LN.VAR and LAST_LN.VAR are now reserved for use by the automatic macro output feature, since the automatic macro feature uses these variables for its internal coding of the output macro.
[U]ndo line now codes,
LET LAST_LN.VAR -> LAST_LINE i DELETE_LINE LAST_LN.VAR Where i is the element that the last line drawn is in.
[D]elete line now codes,
LET LAST_LN.VAR -> START_LINE i DELETE_LINE [ START_LN.VAR + r ]
Where i is the element the line to delete is in and r is the line number offset of the line to delete counting from the first line, i.e. line 13 of the element has an offset of 12.
The ALTER and SPLIT commands are now coded by the automatic macro feature using the offset from the element's first line or using the value for the last line of the element. Using the line array index numbers relative to the element the line is in can reduce some problems that occur when you edit elements that have an element number lower than the element the line used with DELETE_LINE, ALTER, or SPLIT is in, since the relative offset to the elements first line will not change even if the value of the elements first line changes because you edited an element with a lower number.
CHECK_SUM allows a macro to check a file for variations in its binary data, when compared to the value given.
CHECK_SUM COMPARE path\filename.ext value
or
CHECK_SUM C path\filename.ext value
CHECK_SUM compares the scanned value for the filename's check sum with the value entered in the macro, if they compare nothing happens, if they do not compare an error message is displayed and the macro stops.
To find the right check sum value you can use the Files Utilities Hex-Binary Find check sum command. If the automatic output macro is on the Find check sum command will code into the macro command and values to the bottom of the current output macro file.
To conform to the commands in the drawing editors [N]C sub- menu, a special G code file is coded to export the G02 and G03 commands to be used in the LOAD GCODE command. Since DANCAD3D (tm)'s workspace uses absolute coordinates the macro codes are normally output also using absolute coordinates. Relative coordinates might be used in other G code files, which could probably be saved to disk with the EXPORTFILE command, and then also loaded with the LOAD GCODE command.
In order for the LOAD GCODE command to operate there needs to be a LOAD GCODE configuration file named DRIVERS\GCODTEMP.CFG for the command to use. You can make or edit this configuration with the [F]iles [L]oad [I]ndustry [G]code [I]nstall menu command. (The configuration of the Load G code command was changed around some what in v2.7C). There probably was a GCODTEMP.CFG file in the distribution DANCAD3D.ZIP file. The program will also make such a configuration file, in some cases, from the default data, however an error message in a running macro might require running the macro again since the macro processor normally aborts after an error message.
Here is an example of how to code G03 in a macro:
VERSION v2.7C
{ G02 or G03 arc curve }
EXPORTFILE T DANCADXG.G
G90G17G01X0.Y0.Z0.F1000.
G03X0.5Y-0.5Z0.I0.5J0.F1000.
ENDEXPORTFILE
LOAD CONFIG GCODE DRIVERS\GCODTEMP.CFG
LOAD GCODE DANCADXG.G
Note that the filenames DANCADXG.G and DRIVERS\GCODTEMP.CFG are reserved for the automatic output macro feature, and should not be used for other purposes. Do not put comments using the macro comment commands inside the exported G code file since the syntax of the G code file is different, and can only contain valid G code file commands. The use of the G17 command above is to set the plane of the arc, which needs to be done, particularly if the arc is not in the x-y plane. The G90 sets absolute positioning mode, to correspond with macro coordinates.
See also macro command RADIUS_COMP for information about coding G40, G41, and G42 type instructions in a macro file.
Purge and Optimize in some cases might warn that elements will all be converted to element 1 if element 0 was selected. In order for these commands to work on element 0 all of the separate elements in the work-space need to be joined into a single element, so if you do not want the elements joined you should not select element 0, rather you should use the command separately using each elements number as the element to act on, e.g.
# 1 PURGE # 2 PURGE
However that will not purge lines common to elements 1 and 2, just lines duplicated within each element. Which is why selecting element 0 joins all of the elements for these commands.
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 semicolon [;] 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 Export command in the Files Utilities BMP Export sub-menu. This probably works best in the color VGA drawing editor video mode.
The programs now create a number of temporary files that have filenames that start with DAN*.* so you should not name any of your files starting with the letters DAN since the file might get overwritten, particularly files in the same directory my programs are in or directories used by any files accessed by my programs or that have files made by my programs in them.
The Save G code command in v2.7A used the files named DANCAD3D.GCS or DANCAD87.CGS to store the configuration of how you wanted the G codes to be saved. Since the two CAD programs used separate configuration files, you needed to configure both programs. If you wanted to back up the default configuration you could have used the Files Copy command to copy these configuration files into a sub-directory and alter the original configuration with the commands in the Files Save Industry G code sub-menu of v2.7A. In version v2.7C the Save G code command was changed quite a bit, and no longer uses the *.GCS files, in their place the files DRIVERS\GSAV????.CFG are used.
The file UPDATE27.TXT was originally distributed with revisions of v2.7A, v2.7B, and the first revision of v2.7C. The information that was at the bottom of UPDATE27.TXT relating to changes in v2.7B and v2.7C has been moved to SECTION: 3.3.7.2, and SECTION: 3.3.7.3.
You should also check the section index in SECTION: 3.3.7.0, SECTION: 3.3.0.0, SECTION: 3.0.0.0, and to see what other revisions may have been made since v2.7A.
If you are viewing this document Off-Line, please visit the current revision of this Web site at: http://www.DANCAD3D.com/ for additional or more current information. Please report bugs, mistakes, or other problems with this document or the programs, see SECTION: 8 at my current On- Line Web site for current instructions.