WWW.DANCAD3D.COM (sm): THE OFFICIAL DANCAD3D (tm) "BETA TEST" WEB SITE.

TERMS OF USE, HOME, INDEX, SHORTCUT, WHAT'S NEW, DOWNLOADS, GET MAIN ZIP, DOCUMENTATION, VIDEO, HOOKUP#1, #2, #3, KEYWORDS

FEATURE FILM 4K+ DIGITAL CINEMA UNCOMPRESSED EDITING AND SOUND MIXING
PLUS DIY MOVIE 35mm FILM SCANNING AND DIY 35mm FILM RECORDER SOFTWARE.
"FREEISH" DI (DIGITAL INTERMEDIATE) SOFTWARE TO DOWNLOAD FOR MAKING
FEATURE MOTION PICTURES FOR CINEMA THEATRE, ULTRA-HD, HD, AND BROADCAST.
WORKS WITH FOOTAGE FROM DIGITAL CINEMA CAMERAS AND MOVIE FILM SCANS.
HIGH DEPTH COLOR CORRECTION. FRAME ACCURATE EDITING. HI-FI SOUND MIXING.

DANCAD3D (tm) DRAWING EDITOR, click on image for more info. and larger images. 3D ROBOTIC ANIMATION, click on image for more info. and larger images. 3D CONTOUR SURFACE, click on image for more info. and larger images. 3D CAM TOOL PATH, click on image for more info. and larger images. STEPPER MOTORS FOR CAM, click on image for more info. and larger images. DANCAM.EXE (tm) OPERATING 3D MILL, click on image for more info. and video. IM HELP STATUS, click on image for more info. and IM address.
Kodak (tm) LAD film negative scan image made with Canon XTi (tm) DSLR. Kinema Edit list Grading Levels #1 color correction tool . Kinema Edit list Grading Curves #1 color correction tool. Kinema Edit list Grading chroma Masking tool Vector display. Kinema Edit list Grading chroma Masking tool Waveform display. Kinema Edit list Grading Sharp/Soft filter tool. Kodak (tm) LAD image color corrected positive.
Click on these thumbnails for related information about my current software, features, and IM support. Hold [Shift] and click [Reload] to refresh IM thumbnail.

If are helping "Beta Test" you should report bugs and feel free to ask questions about the program's commands, it is best to e-mail me at tempnulbox (at) yahoo (dot) com and put "DANCAD3D (tm) 24x7 SUPPORT SUBMISSION" in the email subject line so your mail is not deleted as junk. See Section: 8 for more information about support related issues. I want you to ask questions so long as they are on the subject and relate to the current program's commands. If you do not get some kind of reply assume I did not get your message and resend. All submissions and correspondence become the sole property of Daniel H. Hudgins to do with as he sees fit, so stay on subject.

SECTION: 3.4.52.D
Appendix B: Macro commands starting with D.
This Section, Overview, Steps, Details, and Commands D.

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."


Click here to go back to SECTION 3.0.0.0 Index for documentation pages.
Click here to go back to SECTION 3.4.0.0 Index for supplemental documentation pages.
Click here to go back to SECTION 3.4.52.0 Index for Appendix B pages.
Click here for top of DANCAD3D.COM (tm) Web site home page or here for home page INDEX.
Click here to check the current internet document if you are viewing this from a disk copy.
Note: If you want to go back to the previous link use the [Back] button in your browser.

This Section.

The text in this section was derived from the v2.5 CAD manual, and has been updated somewhat, but differences between different releases of v2.5, v2.6 and v2.7 may mean that some of the information may not apply to the version you are using. Some adjustment may be required for versions prior or subsequent to v2.7A.

You may not distribute, sell, rent, share, or give away these HTML documentation files or printed copies of them. You may not extract text from these HTML documentation files for distribution, sale, rent, sharing, or giving away. You can use the [Print] option in your browser to make one copy for yourself to mark up in order to help me proofread the text for mistakes.

Documents may be available to download from time to time, you can check SECTION: 9 to see what the current situation with regard to downloadable files is. The names of these documentation files may change, and they may be edited, combined, or eliminated in the future, without notice.

You may need to adjust your browser for best viewing of the pre- formatted text by changing the "font" size using the commands in your browser (see the help in your browser, or use the pull-down menus in your HTML browser.) If some letters in words on the screen appear to be missing or scrambled try changing the font size in your browser as this sometimes happens even though the words are spelled correctly in the HTML code.

Use the "Edit, Find in page Ctrl+F" or "Edit, Find (in this page)... Ctrl+F" command in your browser to search for keywords within the documentation text in this HTML page. You will need to search over again in the other pages in this HTML document for the same keyword since your browser may not search for a keyword beyond the current page that is loaded.

Click here to go back to the top of this page.

Overview of Appendix B: Macro commands.

DANCAD3D (tm) macro commands can used to write a macro "program" that will operate DANCAD3D (tm) automatically. DANCAD3D (tm) can also automatically generate an output macro file of these commands while you use the programs menus. Appendix B lists detailed information about many of the individual macro commands.

Click here to go back to the top of this page.

Steps to use Macro commands.

Steps to use Appendix B: Macro commands.

  1. Read this section to learn what commands are available.

  2. Use [W]rite from DANCAD3D (tm)'s main menu to write or edit macros.

  3. Use the automatic [O]utput macro feature to automatically code these macro commands to a file while you use the menu commands.

Click here to go back to the top of this page.

Detailed discussion of Appendix B: Macro commands.

This Appendix B contains information on the DANCAD3D (tm) macro programming commands that are available for your use in writing automatic CAD, CAE, or CAM programs. See the pages in this Web site that link to this page for additional information.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

Appendix B: Macro Commands that start with D.

Below are details about macro commands that start with D.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DELAY

PURPOSE:      Delay  progress  of  program  for  about   1   to   1E18
              milliseconds.  This  macro  command  and  related  macro
              commands have been revised in v2.7A,  so the information
              below relate to that version.

MAIN MENU:    NA

KEYWORD:      DELAY

PARAMETERS:   1

TYPE:         i......... Delay of approximate milliseconds, 1 to 1E18.

FORMAT:       DELAY i

EXAMPLE:      DELAY 1000          ; About a one second delay.

              LET |EXPOSURE = 500 ; About one half second exposure.
              :L1
              SIGNAL 440 100      ; Open camera shutter.
              DELAY |EXPOSURE     ; Adjustable exposure.
              SIGNAL 880 100      ; Close camera shutter.
              LET |EXPOSURE = [ |EXPOSURE * 0.95 ]
              LOOP :L1 99         ; 100 frame fade out.

              INIT
              NAME 1 = FRAME 0
              LET |N -> COUNT NAME 1 HERE
              :A
              LOAD PIXEL NAME 1 NEXT
              DELAY 2000          ; Slide show speed.
              LOOP :A [ |N - 1 ]

NOTE:         The  timing  of  the length of time the delay lasts  can
              vary depending on which version of the program  you  are
              using  and  how  fast  your  computer is.  The operating
              system you are using, or other programs you have loaded,
              may also effect the timing.  You should check the actual
              timing on the  computer  you  will  be  using  and  make
              adjustments to the value you give the DELAY command.

HINT:         DELAY might be useful for timing the  exposure  of  Cine
              film  when  DELAY  is  inserted  in  between  the SIGNAL
              command that opens the camera  shutter  and  the  SIGNAL
              command  that  closes  the shutter.  It is best to use a
              capping shutter and have a  third  SIGNAL  frequency  to
              advance  the  film  since  that will allow you to switch
              images and  filters  between  double  exposures.  Double
              exposing  the  cine film before advancing cine film,  to
              the next frame,  will let you  get  better  registration
              from claw movement cameras, that lack registration pins,
              than  using the multiple pass technique (i.e.  rewinding
              the cine film and starting over from frame  one.)  DELAY
              can  also  be  used  to make the loading of pixel frames
              from a harddisk slower and more evenly spaced when  used
              with  the  macro  LOAD PIXEL command.  The length of the
              delay  you  get  is  approximate  and  may  be  somewhat
              different  on  various  computers.  Do  not use a multi-
              tasking operating system while running macros  that  use
              the  DELAY  command  for  timing  of  exposure  or other
              events.  See also the HALT,  STOP,  and  WAIT  commands.
              The  HALT  macro  command  should be used to end a macro
              when the macro is being called from a DOS batch file and
              you want the batch file to continue after the  macro  by
              having  DANCAD3D.COM (tm) automatically quit back to the
              batch file.  When you want the macro to  return  to  the
              main menu use the STOP macro command.  When you want the
              macro  to  pause  for the [Return] key to be pressed use
              the WAIT macro command.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DELETE

PURPOSE:      To  delete  a line in an element.  This command needs to
              know the line number  of  the  line  to  delete  in  the
              drawing workspace.  If you want to edit lines you should
              use the commands in the drawing editor [L]ines sub-menu.

MAIN MENU:    [N] [D]  or  [D] [?...] [L] [D]

KEYWORD:      DELETE

PARAMETERS:   1

TYPE:         i......... Line number in workspace line array.

FORMAT:       DELETE i

EXAMPLE:      LET |LINE -> LINES ; Assign number of lines to |LINE.
              LET |LINE = [ |LINE - 100 ]
              :LINE_LOOP
              DELETE LINE
              LOOP :LINE_LOOP 99 ; Delete last 100 lines.

HINT:         You can use the [N]umber command in the drawing editor's
              [L]ines  sub-menu  to  find  the  number  of a line in a
              drawing.  If you  edit  your  [O]utput  macro  files  be
              careful  to  adjust the DELETE commands if you alter the
              number of lines in the workspace at a point in the macro
              file before the DELETE commands are used to delete lines
              (otherwise the wrong lines will be deleted.)

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DISPLAY

PURPOSE:      To display the lines  in  the  workspace  on  the  video
              screen or to a BMP file.  This macro command works  like
              the main menu [P]review command.  The video mode must be
              set to graphics with the macro command GRAPH_MODE before
              the DISPLAY command can be used.  In  some  video  modes
              you  can  use  DISPLAY  repeatedly on the screen without
              clearing the screen  to  build  up  more  lines  in  the
              display  than  DANCAD3D  (tm)'s workspace can hold.  The
              DISPLAY command can be used to fill  the  Z-BUFFER  file
              when used with some display modes.  This DISPLAY command
              was  revised  for  use  with the STEREO macro command in
              v2.7H.  When DISPLAY is preceded  by  the  STEREO  macro
              command  a stereoscopic 3D image can be displayed by the
              DISPLAY command for viewing  with  Anaglyph  glasses  of
              Red-Cyan and other colors,  LCS shutter glasses,  mirror
              or prism viewers,  lenticular LCD monitor  type  screen,
              free  viewing,  and  some other methods.  See the stereo
              format  code  list  associated  with  the  STEREO  macro
              command and read Section: 3.3.7.8.

MAIN MENU:    [P]  or  [D]   (See also the [H]ardcopy sub-menu.)

KEYWORD:      DISPLAY

PARAMETERS:   8

TYPE:         r......... X degrees rotation -1E18 to 1E18.
              r......... Y degrees rotation -1E18 to 1E18.
              r......... Z degrees rotation -1E18 to 1E18.
              r......... View point distance -1E18 to -1E-18.
              r......... Zoom scale 1E-18 to 1E18.
              i......... Display mode, use mode 1 normally.
              r......... X shift -1E18 to 1E18.
              r......... Y shift -1E18 to 1E18.

FORMAT:       DISPLAY  r r r  r r i  r r

EXAMPLE:      GRAPH_MODE COLOR
              # 0 DISPLAY 0 0 0 -1E18 240 1 0 0  ; Video display.
              SAVE PIXEL B:FRAME.36              ; And save screen.
              ; X_shift  and  Y_shift  move the vanishing point off
              ; center, X_shift and Y_shift should be used with the
              ; OFFSET command to alter the look of the perspective
              ; for example:

              # 1 OFFSET CURRENT 0 [ - |Y_SHIFT ] 0
              # 1 DISPLAY |XROT |YROT 0 -10000 1 1 0 [ |Y_SHIFT ]

              ; The above commands will give the effect of an glass
              ; outside elevator but keep the object centered.


              ; The BMP graphics mode tells DISPLAY to save a 24 bpp
              ; BMP file rather than to display on the video screen.
              ; The  macro  GRAPH_MODE  and DISPLAY commands have been
              ; altered to support the  new  BMP  and  F0B24  graphics
              ; modes.   Since   several   additional  parameters  are
              ; required for the making of the 24 bit BMP file the LET
              ; and LET$ macro commands are used  before  the  DISPLAY
              ; command  in  order  to  pass the needed values via the
              ; harddisk.  All of the required values need to be assigned.

              VERSION v2.7F
              ; Example macro to save 24 bit BMP file.
              WYSIWYG 1

              LET  B24OVER_.VAR = 4             ; anti-aliasing oversample value
              LET  B24UNDER.VAR = 2             ; sub-pixel undersample value
              LET  B24XPIX_.VAR = 800           ; x pixels value
              LET  B24YPIX_.VAR = 600           ; y pixels value
              LET  B24DITHE.VAR = 4             ; tone dithering value
              LET$ B24BACK_.VAR = "MYPHOTO.BMP" ; background 24 bit BMP image
              LET$ B24NAME_.VAR = "MYCGI.BMP"   ; name for 24 bit BMP file to output to

              GRAPH_MODE BMP ; Set the special "blind" BMP save to disk mode.

              LET LS0ZFAR_.VAR =  -7.75         ; far lambert lighting point
              LET LS0ZNEAR.VAR =  +5.50         ; near lambert lighting point
              LET LS1XDEG_.VAR =   0            ; light source x rotation
              LET LS1YDEG_.VAR = -75            ; light source y rotation
              LET LS1ZDEG_.VAR = -45            ; light source z rotation
              LET LS0LAMB_.VAR =  0.85          ; lambert brightness
              LET LS0REFL_.VAR =  0.8           ; lambert reflection brightness
              LET LS1BRIG_.VAR =   1            ; light source brightness
              LET LS1REFL_.VAR =   1            ; light source reflection brightness

              # 1 DISPLAY -20 -20 0 -10 240 74 0 0 ; make the 24 bit BMP file

              TEXT ; Always reset the video to TEXT after BMP, VESA, or MGC modes.

              ; End example macro to save 24 bit BMP file.  See also INFOV27F.TXT


              ; The VESA 15, 16, 24, and 32 bpp graphics modes tell
              ; DISPLAY to use the Z-BUFFER for anti-aliasing and such
              ; before drawing to the video screen, so the image comes
              ; up all at once rather than one line on the screen at a
              ; time.

              VERSION v2.7G
              ; Example macro to save 24 bpp Pixel file.
              WYSIWYG 1

              LET  B24OVER_.VAR = 4             ; anti-aliasing oversample value
              LET  B24UNDER.VAR = 2             ; sub-pixel undersample value
              LET  B24XPIX_.VAR = 640           ; x pixels value
              LET  B24YPIX_.VAR = 480           ; y pixels value
              LET  B24DITHE.VAR = 4             ; tone dithering value
              LET$ B24BACK_.VAR = "MYPHOTO.BMP" ; background 24 bit BMP image
              LET$ B24NAME_.VAR = ""            ; no save name since image goes to the screen

              GRAPH_MODE SEEK 0 640 480 24 ; Set 24 bpp VESA video mode.

              LET LS0ZFAR_.VAR =  -7.75         ; far lambert lighting point
              LET LS0ZNEAR.VAR =  +5.50         ; near lambert lighting point
              LET LS1XDEG_.VAR =   0            ; light source x rotation
              LET LS1YDEG_.VAR = -75            ; light source y rotation
              LET LS1ZDEG_.VAR = -45            ; light source z rotation
              LET LS0LAMB_.VAR =  0.85          ; lambert brightness
              LET LS0REFL_.VAR =  0.8           ; lambert reflection brightness
              LET LS1BRIG_.VAR =   1            ; light source brightness
              LET LS1REFL_.VAR =   1            ; light source reflection brightness

              # 1 DISPLAY -20 -20 0 -10 240 74 0 0 ; make the 24 bit screen image

              SAVE PIXEL MYFILE.PIX    ; Save the screen image as a Pixel file.
              SAVE BMP 24 MYFILE.BMP   ; Save the screen image as a BMP file.

              TEXT ; Always reset the video to TEXT after VESA modes.

              ; End example macro to save 24 bpp Pixel file.  See also INFOV27G.TXT

NOTE:         The  DISPLAY  command  uses  a  Z-BUFFER file to process
              triangle  elements  for  display.   Line  elements   are
              displayed  directly to the screen in graphic modes other
              than BMP, and the VESA 15, 16, 24, and 32 bpp modes.

              In  modes  that write directly to the screen you can use
              display more than once to built up extra  lines  on  the
              screen, e.g. if you need more lines than will fit in the
              workspace  at one time,  or to change the display values
              between using DISPLAY to display different things on the
              screen.

              In the display modes that write to the  Z-BUFFER  rather
              than  directly  to  the  screen,  if you want to make an
              image that uses more elements or triangles than can  fit
              into  the  drawing workspace at one time you can use the
              DISPLAY command more than one time to fill the  Z-BUFFER
              more  than  once.  In Graphics mode BMP or F0B24,  a BMP
              file will be created each time DISPLAY is used  so  that
              you can see what has been displayed to the Z-BUFFER, but
              you can just ignore the BMP file made after each filling
              of  the  Z-BUFFER  and only keep the final BMP file made
              after the last filling of the Z-BUFFER file.

              Normally the Z-BUFFER file is deleted after the BMP file
              is output,  or the image is displayed on the screen,  to
              free disk space.  In order to keep the Z-BUFFER you need
              to  add  a  number  to  the  display  mode passed to the
              DISPLAY command.  Several options  can  be  achieved  in
              this way, with the values as shown here:

              display mode +    0 = open new Z-BUFFER and erase Z-BUFFER after display.
              display mode + 1000 = open new Z-BUFFER and keep Z-BUFFER after display.
              display mode + 2000 = reopen old Z-BUFFER and keep Z-BUFFER after display.
              display mode + 3000 = reopen old Z-BUFFER and erase Z-BUFFER after display.

              To fill a Z-BUFFER more than one time you first add 1000
              to the display mode and use the  DISPLAY  command,  then
              initialize  the  workspace  load the additional elements
              and add 2000 to the display  mode  and  use  DISPLAY  to
              reopen  the  Z-BUFFER  file  for  more filling,  you can
              repeat using 2000 plus the display mode  over  and  over
              adding more and more elements to the Z-BUFFER file, when
              you are down to the last filling you can add 3000 to the
              display  mode  and  use  DISPLAY  which will fill in the
              final elements display (to the BMP file or screen as the
              case may be) the completed  scene  and  then  erase  the
              unneeded Z-BUFFER file.

              Adding  the  values 1000,  2000,  or 3000 should only be
              done when the Z-BUFFER  is  going  to  be  used  by  the
              display mode selected, when the display goes directly to
              the video screen adding these values to the display mode
              probably has no useful or defined effect.

              You  do  not  need to erase the Z-BUFFER after the final
              filling,  but you do not want to reopen it  if  you  are
              going  to  start rendering a different image since parts
              of the images would get mixed up.  When you are going to
              add a background you would want to  add  the  background
              only  to  the  first  filling  of the Z-BUFFER since the
              mixing  of the colors at the edges during  anti-aliasing
              will  not  be correct if you change the background after
              the first filling.  The background image is only  loaded
              into the Z-BUFFER for the BMP and VESA 15,  16,  24, and
              32  bpp  graphic  modes,  in  other  graphic  modes  the
              background  usually  goes onto the screen before DISPLAY
              is  used.   If  you  are  not  using   oversampling   or
              undersampling   it  might  be  possible  to  change  the
              background in the Z-BUFFER after the first filling.  You
              cannot change the Z-BUFFER  settings  between  fillings,
              and  the  perspective  and  lighting  values should also
              remain the same for all fillings to avoid things looking
              wrong.   You  can  change  the  display   mode   between
              fillings,  say  have some fillings done by using display
              mode 74 (e.g.  2074) and some done by using display mode
              73 (e.g.  2073) in order to only have some elements have
              outlined  edges.   You  might   want   to   change   the
              perspective  values  between fillings of the Z-BUFFER if
              you want to display a line drawing over a 3D element  to
              insert labels or other text and such.

              The variables,  used for and associated with the display
              modes that require  stored  variables,  may  get  erased
              after  each  use,  this helps produce error messages and
              make sure that you have stated the values that you  want
              used,  and  that  the  values  read  are  not  just  old
              variables left on your harddisk from some  time  in  the
              past.  See  the LET and LET$ macro command to assign the
              variables.  Some of the display  variables  need  to  be
              assigned  before  GRAPH_MODE  is called in order to have
              the Z-BUFFER or video mode setup properly for later  use
              by DISPLAY.

              Normally in the 1, 2, 4, and 8 bit per pixel video modes
              the  background image is loaded onto the screen by using
              the LOAD PIXEL command before the DISPLAY  command,  and
              the  DISPLAY  command writes in parts of the screen over
              what is there.  Since the 24 bit per  pixel  BMP  output
              file,  and the VESA 15,  16, 24, and 32 bpp image, comes
              from  the  Z-BUFFER  and  not  the  video  screen,   the
              background image is loaded into the Z-BUFFER rather than
              the screen.  When the 1, 2, 4, and 8 bit per pixel video
              modes  are  used  you do not need to state the variables
              that pertain to the 15, 16, 24,  or 32 bit per pixel use
              of  the  Z-BUFFER,  you just use the DISPLAY command and
              the Z-BUFFER will be made up  according  to  the  screen
              dimensions  without anti-aliasing since anti-aliasing is
              not implemented for the video modes  with  very  limited
              colors since subtle color changes are needed to have the
              anti-aliasing  work  well.  If  no  background  image is
              loaded then the background color comes from the  setting
              of  color 0 in the line color number to line color color
              number palette table,  see Setup Palette in the  Drawing
              Editor, or the PALETTE macro command.

              The example macro file ZBUFFER1.MAC (tm) is  an  example
              of  how  the Z-BUFFER can be filled by using the DISPLAY
              command.  This macro may be  included  in  some  of  the
              v2.7F  or  later  distributions of the DANCAD3D.ZIP (tm)
              file.  ZBUFFER1.MAC (tm) shows commands used to  create,
              fill, and reopen a Z-BUFFER file, so as to make a 24 bit
              "true-color" BMP file as the output.

              Line elements are  normally  displayed  by  setting  the
              perspective  display  mode  in  the DISPLAY command to a
              value of 1.  When triangle elements are displayed  there
              are several display modes that have uses under different
              video  modes  to  get different types of image.  See the
              current and updated documentation for any  revisions  to
              the available display modes.

              Below  is  a  table showing the perspective display mode
              code numbers that were devised  for  DISPLAY  and  other
              commands  that  use the perspective display modes.  Some
              commands do not support all of the modes since  triangle
              elements  need to be converted into line elements before
              some commands can be used.  Modes 10,  11,  12,  and  13
              might  work in those cases where triangle elements cause
              problems.  Mode 1 is the normal mode for displaying line
              elements.  The modes that show shaded triangles with the
              M256 or C256 palette should also present well  when  the
              VESA 15, 16, 24, or 32 bpp video modes are active.

|--------------------------------------------------------------------------------------------------------------------------|
|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 setup 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      . linecolor          . 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. Has uses in making tool path files.  |
| 41 . AL shade        . line color         . edges               . "                 See the conversion from Pixel to     |
| 42 . AL shade        . white              . edges               . "                 ASCII file command.                  |
| 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. Has uses in making tool path files.  |
| 51 . ML shade        . line color         . edges               . "                 See the conversion from Pixel to     |
| 52 . ML shade        . white              . edges               . "                 ASCII file command.                  |
| 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. Good for display of still images.    |
| 61 . AL + LS shade   . line color         . edges               . "                 Can be used with the M16 modes       |
| 62 . AL + LS shade   . white              . edges               . "                 on the larger size SVGA images.      |
| 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. Good for animated display since      |
| 71 . ML + LS shade   . line color         . edges               . "                 the lighting values are more stable  |
| 72 . ML + LS shade   . white              . edges               . "                 than the 60 series modes.            |
| 73 . ML + LS shade   . xor line color     . edges               . "                                                      |
| 74 . ML + LS shade   . none               . none                . "                                                      |
|                                                                                                                          |
|--------------------------------------------------------------------------------------------------------------------------|

              The  perspective  display modes can be combined with the
              various stereo format codes entered through the  use  of
              the STEREO macro command to generate stereoscopic images
              for  viewing  in  various stereo image formats.  Various
              stereo format codes are described in the text about  the
              STEREO  macro  command in Appendix:  B,  and in Section:
              3.3.7.8.  Viewing tool path files by use of stereoscopic
              images may help distinguish features.  Using the  MUTATE
              command  to  convert  the  tool path lines into triangle
              elements may be desirable since only  triangle  elements
              get displayed sorted by depth.

HINT:         Use  the  main  menu  [P]review command to find the best
              values  to  use with the DISPLAY command since they both
              work the same.  By turning the [O]utput macro on you can
              use the  main  menu  [P]review  command  to  append  the
              DISPLAY macro command to the macro you are writing every
              time  you  re-draw  the screen in the [P]review command.
              See also macro commands JET ADD, JET WORKSPACE, DOT ADD,
              and DOT WORKSPACE, and PLOT since they display the image
              to printout rather  than  the  video  screen.  When  the
              GRAPH_MODE  BMP  mode  is  used  with DISPLAY the output
              image goes to a  BMP  file  rather  than  to  the  video
              screen,  that  BMP  file  might be able to be printed in
              color by using the software that came with your scanner,
              and such.  See also  the  GRAPH_MODE  and  STEREO  macro
              commands.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DIVIDE

PURPOSE:      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.   DIVIDE  is  used  with
              elements made of triangles for use with the hidden  line
              display modes.  New for v2.7A.

MAIN MENU:    [D] [?...] [H] [D]

KEYWORD:      DIVIDE

PARAMETERS:   1

TYPE:         r........ target side length, about 1e-3 to 1e3.

FORMAT:       DIVIDE r

EXAMPLE:      # 1 DIVIDE 0.750

NOTE:         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.

HINT:         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.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DIVIDED_NAME

PURPOSE:      To substitute for path\filename.ext as  a  parameter  to
              other macro commands and automatically generate numbered
              files for looping and accessing  arrays  of  files.  The
              DIVIDED_NAME  command allows you to automatically create
              or load files that have the  file  name  numbered,  e.g.
              BMP0/1.BMP,  BMP0/2.BMP,  BMP0/3.BMP and so on.  New for
              v3.7N.

MAIN MENU:    NA

KEYWORD:      DIVIDED_NAME  (Spelled out in full.)

PARAMETERS:   DIVIDED_NAME i = f start
              DIVIDED_NAME i INPUT
              DIVIDED_NAME i HERE
              DIVIDED_NAME i NEXT
              DIVIDED_NAME i + step
              DIVIDED_NAME i - step

TYPE:         i......... Index of name assignment, 0 to 7.
              =......... Assignment of path, extension and number value.
              f......... Path and extension to assign to DIVIDED_NAME i.
              start..... Value to assign to number with DIVIDED_NAME i.
                         Ranges -9999999 up to 99999999 in value.
              INPUT..... Like "= f start" but prompts for user entry.
              HERE...... Returns path\????????.ext as a parameter.
              NEXT...... Adds 1 to number before returning as parameter.
              + step.... Adds step to number only.
              - step.... Subtract step from number only.
                         The step can range from 1 to 109999998.

FORMAT:       See above and below.

EXAMPLE:      DIVIDED_NAME 1 = C:\SUB\.BMP 0 ; Assign NAME 1 C:\SUB\0.BMP
              LOAD 3D DIVIDED_NAME 7 HERE ; Use name No. 7 to load a 3D file.
              LOAD 3D DIVIDED_NAME 7 NEXT ; Advance number before using.
              DIVIDED_NAME 3 + 10         ; Add 10 to name 3's number.
              DIVIDED_NAME 4 - 25         ; Subtract 25 from name 4's number.
              DIVIDED_NAME 5 INPUT        ; Asks user to enter a filename.

Use  this  form for DIVIDED_NAME i INPUT when the file extension is not
numeric:

              LOAD 3D DIVIDED_NAME 0 INPUT ; User entered: C:\MY\DRAW.3D

    And this form when the filename's name is numeric:

              DIVIDED_NAME 1 INPUT        ; User entered: 24.PIX
              DIVIDED_NAME 2 INPUT        ; User entered: 10.PIC
              INIT
              LOAD 3D DIVIDED_NAME 1 HERE     ; 24.PIX passed to LOAD 3D.
              # 1 SAVE 3D DIVIDED_NAME 2 HERE ; 10.PIC passed to SAVE 3D.
              LOAD 3D DIVIDED_NAME 1 NEXT     ; 25.PIX passed to LOAD 3D.
              # 2 SAVE 3D DIVIDED_NAME 2 NEXT ; 11.PIC passed to SAVE 3D.

When  you want to be able to reuse the input filename,  use a filename
that uses a numeric name (e.g.  1017.BMP aka BMP1/017.BMP) You  CANNOT
reuse  input  filenames  with  DIVIDED_NAME  that DO NOT use a numeric
filename (e.g.  SOMEFILE.BMP).  The reason for this is that the +,  -,
and NEXT operators need a numeric filename to operate on.  You can use
the  INPUT  option,  of the DIVIDED_NAME command,  with the FILES COPY
command to copy a file name with a non-numeric filename to a temporary
file that has a numeric filename for future manipulation.

EXAMPLE:      DIVIDED_NAME 1 = BMP 0
              LET |FILES = 0
              INPUT |FILES
              :L0123
              FILES COPY  DIVIDED_NAME 0 INPUT  DIVIDED_NAME 1 NEXT
              LOOP :L0123 [ |FILES - 1 ]

NOTE:         The  numbered  filenames make  having sets of files easy
              to  manipulate.  You  can  have  up  to  8  DIVIDED_NAME
              filenames at one time in each level of nesting  in  your
              running macros.

              When  you  use  the  DIVIDED_NAME macro command you pass
              filenames to is on LONG_NAME form  not  as  the  Divided
              form,   the  DIVIDED_NAME  macro  command  converts  the
              filename and its number  into  the  Divided  form,  i.e.
              enter  the  Long number name form C:\DC37N\BMP\12345.BMP
              to get the Divided name form C:\DC37N\BMP\BMP12\345.BMP.

HINT:         See also the LOOP  command.  See  also  Appendix  C  for
              examples of the use of the macro NAME command.  The file
              type ELEMENTS uses the  last  three  characters  of  the
              filename  to  number  the element files so that the file
              extension will be free to be used with the NAME  command
              in order that you will be able to create sets of sets of
              element  files.  See  also  the  EXPAND  command and the
              FILES  CONVERT  command  since  they  both  use  related
              numbered file sets.  See also the NAME macro command for
              file  sets shorter than DIVIDED_NAME can make.  See also
              the DIVIDED_COUNT option of the LET  command  to  get  a
              count of a set of files in the DIVIDED_NAME format.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT ADD

PURPOSE:      To add (express) lines from the drawing workspace  to  a
              DOT  page  pixel  file.  DOT  ADD  works  like the macro
              DISPLAY command except the lines are  drawn  to  a  page
              file rather than the video screen.

MAIN MENU:    [H] [D] [A]

KEYWORD:      DOT ADD

PARAMETERS:   10

TYPE:         r......... X rotation degrees -1E18 to 1E18.
              r......... Y rotation degrees -1E18 to 1E18.
              r......... Z rotation degrees -1E18 to 1E18.
              r......... View point distance 1E-18 to 1E18.
              r......... Display scale 1E-18 to 1E18.
              i......... Display mode, use mode 1 normally.
              r......... X shift -1E18 to 1E18.
              r......... Y shift -1E18 to 1E18.
              f......... Dot page file filename.
                         (Use only five letters for your DOT filename.)
              f......... Printer driver file.

FORMAT:       DOT ADD r r r r r i r r f f

EXAMPLE:      # 0 DOT ADD 0 0 0 1E18 240 1 0 0 P.1 DRIVERS\IBM5152.PRN

NOTE:         A peculiarity of display modes that use the Z-BUFFER  in
              the JET and DOT commands, i.e. some of the display modes
              that  display  triangle  elements,  is  that the printer
              strips associated with the DOT and JET commands normally
              use the same single Z-BUFFER file over  and  over  again
              for  each  of the many strips that make up the page,  so
              only one Z-BUFFER file is used even though  many  strips
              are used.  However when you add 1000 to the display mode
              to create a Z-BUFFER that  will  be  saved,  EACH  STRIP
              CREATES ITS OWN Z-BUFFER file, and you end up with a set
              of numbered files, ZBUFFER.1, ZBUFFER.2 and so on.  This
              can  require  a  very large amount of disk space,  so be
              sure that the Z-BUFFER path is set to a disk  with  lots
              of  free  disk space (the Z-BUFFER file path is set from
              the  View  Hidden  Configure  command  in  the   drawing
              editor).  When  there  is  only  one Z-BUFFER file being
              used it is usually named ZBUFFER.0,  or  something  like
              that, so the extension might be used to tell if you have
              a set of files or just one by checking for the existence
              of file ZBUFFER.0 along the Z-BUFFER path.

              Normally the Z-BUFFER file is erased after being used to
              render the image to the page,  so as to free disk space.
              In  order  to  keep the Z-BUFFER (one file or the set of
              files) you need to add a  number  to  the  display  mode
              passed to the Preview,  DISPLAY, JET ADD, JET WORKSPACE,
              DOT ADD, or DOT WORKSPACE commands.  Several options can
              be achieved in this way, with the values as shown here:

              display mode +    0 = open new Z-BUFFER and erase Z-BUFFER after display.
              display mode + 1000 = open new Z-BUFFER and keep Z-BUFFER after display.
              display mode + 2000 = reopen old Z-BUFFER and keep Z-BUFFER after display.
              display mode + 3000 = reopen old Z-BUFFER and erase Z-BUFFER after display.

              The option to reuse the Z-BUFFER applies to all  display
              modes  that use the Z-BUFFER.  In those modes that write
              directly to the page,  bypassing the Z-Buffer,  you  can
              include  the extra elements in the Page background image
              so they are "behind" the elements from the Z-BUFFER,  or
              draw  elements  over  the  image in the page from the Z-
              BUFFER once it has been displayed to the page file, i.e.
              by using JET ADD or DOT ADD.  The end result for writing
              just to the Z-BUFFER or a mix of writing directly to the
              page file as well as writing to the  Z-BUFFER  is  about
              the  same,  it is just that somewhat different steps are
              used to get the result.

              The program selects writing the image  to  the  Z-BUFFER
              when an element to be displayed contains triangles.  The
              background image for JET or DOT pages goes into the page
              file  before  using  JET  ADD  or DOT ADD to display the
              elements over the background.

              To fill a Z-BUFFER more than one time you first add 1000
              to the display mode and use the  DISPLAY  command,  then
              initialize  the  workspace  load the additional elements
              and add 2000 to the display  mode  and  use  DISPLAY  to
              reopen  the  Z-BUFFER  file  for  more filling,  you can
              repeat using 2000 plus the display mode  over  and  over
              adding more and more elements to the Z-BUFFER file, when
              you are down to the last filling you can add 3000 to the
              display  mode  and  use  DISPLAY  which will fill in the
              final elements display the completed seen and then erase
              the no longer needed Z-BUFFER file.

              You do not need to erase the Z-BUFFER  after  the  final
              filling,  but  you do not want to reopen the Z-BUFFER if
              you are going to start rendering a different image since
              parts of the images  would  get  mixed  up.  You  cannot
              change the Z-BUFFER size between fillings, i.e. the same
              printer  driver should be used,  and the perspective and
              lighting values should also  remain  the  same  for  all
              fillings,  in most cases,  so as to avoid things looking
              wrong, e.g.  having the light come from different angles
              on  different  elements  in the same rendering.  You can
              change the display  mode  between  fillings,  you  might
              display  some  fillings  using  display mode 74 and some
              using display  mode  73  in  order  to  only  have  some
              elements  have  their flagged edges outlined.  You might
              also want  to  change  the  perspective  values  between
              fillings  of  the Z-BUFFER if you want to display a line
              drawing over a 3D element to insert labels or other text
              and such.

              See also the update documentation from INFOV27F.TXT  and
              INFOV27G.TXT, and the description of the DISPLAY command
              as  well as other documentation on the display modes and
              program revisions.

HINT:         Be sure you DOT MAKE a page before you try  to  DOT  ADD
              any lines from the drawing workspace to the  page  file.
              You can use this feature to avoid running out  of  lines
              by  adding  the  lines in the workspace to the page file
              then empty the workspace so more  lines  can  be  drawn.
              Like  the  DISPLAY command there is no limit to how many
              times you can use DOT ADD to add more lines  to  a  page
              file.  You  can swap workspaces on and off your harddisk
              with the SAVE ELEMENTS and LOAD  ELEMENTS  commands.  In
              v2.6  and later you can also avoid an out of lines error
              by making more free space on your harddisk so  that  the
              workspace can expand.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT BLANK

PURPOSE:      To clear a DOT page file so no pixels are set.

MAIN MENU:    [H] [D] [B]

KEYWORD:      DOT BLANK

PARAMETERS:   1

TYPE:         f........ Dot page file filename.
              (Use only five letters for your DOT filename.)

FORMAT:       DOT BLANK f

EXAMPLE:      DOT BLANK PAGESUB\PAGE.ABC

NOTE:         Be  sure  you  already  used  DOT  MAKE to make the page
              files.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT COMBINE

PURPOSE:      To  combine  two DOT page files.  The output file can be
              one  of  the input files.  You can select different ways
              in which to combine the pages.  DOT COMBINE can be  used
              to create texture screen effects.

MAIN MENU:    [H] [D] [C]

KEYWORD:      DOT COMBINE

PARAMETERS:   4

TYPE:         f......... First input page filename.
              f......... Second input page filename.
              f......... Page filename to receive output.
              (Use only five letters for your DOT filename.)
              w......... OR   = Superimpose all pixels.
                         AND  = Only common to both.
                         XOR  = Only not common.
                         MASK = Gives: POUTPUT = P1 AND (NOT P2).

FORMAT:       DOT COMBINE f f f OR
              DOT COMBINE f f f AND
              DOT COMBINE f f f XOR
              DOT COMBINE f f f MASK

EXAMPLE:      DOT COMBINE DPAGE.1 DPAGE.2 DPAGE.2 OR
              ; Put what is in DPAGE.1 over DPAGE.2.

              DOT COMBINE DPAGE.1 DPAGE.2 DPAGE.3 AND
              ; And DPAGE.1 with DPAGE.2, then put result in DPAGE.3.

NOTE:         You can convert solid filled in areas on one page  to  a
              hatched  pattern  by using the AND mode.  If you OR your
              hatched copy of the filled in page with a  copy  of  the
              original  page  before  you  filled  in  the areas,  the
              original page copy will replace the lines  you  did  not
              want  to  get  hatched,  this  would be needed since all
              lines will be hatched on the filled in  page,  not  just
              the filled in areas.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT MAKE

PURPOSE:      To create a DOT page page file so that the  page  file's
              name can be used by the other commands that use the  DOT
              page  files.  A  dot  page  file  is made up of a set of
              files on your harddisk,  each of the files  in  the  set
              that  make  up a page hold one of the "strips" that make
              up a full page.  The page length determines  the  number
              of strip files required.

MAIN MENU:    [H] [D] [M]

KEYWORD:      DOT MAKE

PARAMETERS:   2

TYPE:         f......... Dot page file filename.
              (Use only five letters for your DOT filename.)
              i......... Length  of  page in strips.  216 vertical dot
                         strips  are  1 inch.  180 vertical dot strips
                         are 1.2 inches each.

FORMAT:       DOT MAKE f i

EXAMPLE:      DOT MAKE PAGE.1 11

HINT:         Always  use DOT MAKE before any of the commands that use
              the  DOT  page  files.  The  dot page files are a set of
              files on the disk, one file for each strip selected,  so
              when  you  want  to  copy  a  DOT page file from the DOS
              prompt to back the page file up to  a  1.2MB  or  1.44MB
              floppy  disk  use  the  global  characters,  i.e.   COPY
              PAGE????.1 A:\ See also the macro command  JET  MAKE  to
              make   similar  files  for  printing  on  LaserJet  type
              printers.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT NEGATIVE

PURPOSE:      To reverse the pixel values in a dot page file.

MAIN MENU:    [H] [D] [N]

KEYWORD:      DOT NEGATIVE

PARAMETERS:   1

TYPE:         f......... Dot page file filename.
              (Use only five letters for your DOT filename.)

FORMAT:       DOT NEGATIVE f

EXAMPLE:      DOT NEGATIVE PAGE.1

HINT:         If you are going to reverse the white and black parts of
              a drawing,  the line widths you use  should  be  heavier
              than  normal since the dark areas will always bleed over
              into the light areas.  This macro command  can  be  used
              for  making  Negatives  for PC board photo-resist,  just
              remember to use some extra line width and 5 strikes when
              you print  the  page  out.  When  using  print  out  for
              contact  printing of circuit boards you may also want to
              use the FLIP command to make the  negative  usable  with
              the  inked  side  toward the sensitive PC board surface.
              Dot matrix print  out  can  be  xeroxed  onto  specially
              coated  transparent plastic sheets to make a transparent
              overhead projector transparency.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT PRINT

PURPOSE:      To print  out  a  dot  page  file  on  paper  using  the
              installed dot matrix printer.  Use DOT MAKE and DOT  ADD
              to  create  a  page  file  suitable  for  use  with this
              command.  Use the DOT WORKSPACE  if  you  only  want  to
              print what is in the drawing workspace.

MAIN MENU:    [H] [D] [P]

KEYWORD:      DOT PRINT

PARAMETERS:   3

TYPE:         f......... Dot page file filename.
              (Use only five letters for your DOT filename.)
              i......... Number of strikes.
              f......... Installed printer code file.

FORMAT:       DOT PRINT

EXAMPLE:      DOT PRINT PAGE.1 1 DRIVERS\IBM5152.PRN

NOTE:         The printer code driver file should match the  one  used
              when  the  lines were expressed to the page with the DOT
              ADD command.  If you print drawing while you are out  of
              the  room  be careful that your printer or computer does
              not start a fire.

HINT:         You can write a simple macro to print several pages from
              your harddisk while you are  doing  something  else.  If
              time  is  not  important  using several strikes,  of the
              print head,  makes the print out look  better.  Be  sure
              you  have used the DOT ADD command to express some lines
              from the workspace, to the page file,  before you try to
              print  the  page.  If  you want to only print what is in
              the workspace use the  DOT  WORKSPACE  command  instead.
              Before  you  use  the  DOT PRINT command you can use the
              [D]ot [V]iew  command  in  the  [D]ot  sub-menu  of  the
              [H]ardcopy  sub-menu  to check what the page file has on
              it.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT SHADE

PURPOSE:      To  make  shaded  page  files to combine with page files
              that  have  had  lines expressed onto them using the DOT
              ADD command.

MAIN MENU:    [H] [D] [S]

KEYWORD:      DOT SHADE

PARAMETERS:   2

TYPE:         f........ Dot page file filename.
              (Use only five letters for your DOT filename.)
              i........ Shading code number.

                     TABLE OF SHADING CODE NUMBERS

              0.................. Nul and abort.
              1 to 20............ Random dots.
              30 to 35........... Vertical lines.
              40 to 45........... Horizontal lines.
              50................. Diagonal slope right.
              60................. Diagonal slope left.
              100 to 105......... About 7.5 dot per inch screen.
              110 to 115......... About 15 dot per inch screen.
              120 to 125......... About 30 dot per inch screen.

FORMAT:       DOT SHADE f i

EXAMPLE:      DOT  SHADE  PAGE.1 112  ; Medium screen over page.  This
              ; command  is  meant  to  be used  with  DOT COMBINE  to
              ; produce hatching effects.

NOTE:         The exact appearance of  the  shade  pattern  will  vary
              depending on the printer and driver being used.

HINT:         Shade  a  blank page and use DOT COMBINE to add hatching
              and screens to your drawings that you used  DOT  ADD  to
              put  on  the other page file.  Shading is best used with
              large text that has very thick lines and filled  shapes.
              The  exact  look of the shading patterns depends on your
              printer.  In order to shade patches  of  a  drawing  you
              need  to  have  that  area  expressed  to  a  page file.
              Rectangular patches can be  blocked  out  by  using  the
              APPEND and LOOP commands.  The WINDOW_CLIP command would
              be  useful  in  combination with this command to control
              the area of the page covered by the elements  that  will
              get screened.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DOT WORKSPACE

PURPOSE:      To print out what is in the drawing workspace at  up  to
              51840  dots  per  square  inch  on  a 5152 type graphics
              printer.  Select the number of strips for your drawing's
              height, e.g. 11 strips = 11 inches of drawing paper with
              a ProPrinter compatible printer,  and  10  strips  =  11
              inches  on  a NEC-P6 or a LQ-1500 type printer.  This is
              the normal method of printing the workspace from a macro
              on a dot matrix printer.  DOT WORKSPACE prints  directly
              from  what  is  in  the drawing and does not use the DOT
              page files at all.  If you want to print a DOT page file
              use the DOT PRINT command.

MAIN MENU:    H D W

KEYWORD:      DOT WORKSPACE

PARAMETERS:   11

TYPE:         r......... X rotation degrees -1E18 to 1E18.
              r......... Y rotation degrees -1E18 to 1E18.
              r......... Z rotation degrees -1E18 to 1E18.
              r......... View point distance 1E-18 to 1E18.
              r......... Display scale 1E-18 to 1E18.
              i......... Display mode, use mode 1 normally.
              r......... X_shift -1E18 to 1E18.
              r......... Y_shift -1E18 to 1E18.
              i......... Strikes 1 to 10.
              i......... Strips 1 to the maximum for your version.
              f......... Printer code driver file name.

FORMAT:       DOT WORKSPACE  r r r  r r i  r r  i i f

EXAMPLE:      # 0 DOT W 0 0 0 -1E18 240 1 0 0 11 2 DRIVERS\IBM5152.PRN
              ; This will print out sharp hard copy.
              ; X_shift & y_shift move the vanishing point off center.

              ; Start BATCH.MAC, automatically load and print.
              INIT  LOAD 2D DRAWING.1  # 0
              DOT WORKSPACE 0 0 90 -1E18 1 0 0 2 10 DRIVERS\NEC_P6.PRN
              INIT  LOAD 2D DRAWING.2  # 0
              DOT WORKSPACE 0 0 90 -1E18 1 0 0 2 10 DRIVERS\NEC_P6.PRN
              INIT  LOAD 2D DRAWING.3  # 0
              DOT WORKSPACE 0 0 90 -1E18 1 0 0 2 10 DRIVERS\NEC_P6.PRN
              { And so on... }
              ; End BATCH.MAC

NOTE:         If you print a drawing while you are out of the room  be
              careful that your printer or computer does not  start  a
              fire.

              If  you  are  going  to  save  the Z-BUFFER to load more
              elements into it you might do better to use the DOT  ADD
              command  since  DOT WORKSPACE will print the image after
              each filling,  whereas if you use DOT ADD and  then  DOT
              PRINT you will only print once.

              A  peculiarity of display modes that use the Z-BUFFER in
              the JET and DOT commands, i.e. some of the display modes
              that display triangle  elements,  is  that  the  printer
              strips associated with the DOT and JET commands normally
              use  the  same  single Z-BUFFER file over and over again
              for each of the many strips that make up  the  page,  so
              only  one  Z-BUFFER file is used even though many strips
              are used.  However when you add 1000 to the display mode
              to create a Z-BUFFER that  will  be  saved,  EACH  STRIP
              CREATES ITS OWN Z-BUFFER file, and you end up with a set
              of numbered files, ZBUFFER.1, ZBUFFER.2 and so on.  This
              can require a very large amount of  disk  space,  so  be
              sure  that  the Z-BUFFER path is set to a disk with lots
              of free disk space (the Z-BUFFER file path is  set  from
              the   View  Hidden  Configure  command  in  the  drawing
              editor).  When there is only  one  Z-BUFFER  file  being
              used  it  is usually named ZBUFFER.0,  or something like
              that, so the extension might be used to tell if you have
              a set of files or just one by checking for the existence
              of file ZBUFFER.0 along the Z-BUFFER path.

              Normally the Z-BUFFER file is erased after being used to
              render the image to the page,  so as to free disk space.
              In order to keep the Z-BUFFER (one file or  the  set  of
              files)  you  need  to  add  a number to the display mode
              passed to the Preview, DISPLAY, JET ADD,  JET WORKSPACE,
              DOT ADD, or DOT WORKSPACE commands.  Several options can
              be achieved in this way, with the values as shown here:

              display mode +    0 = open new Z-BUFFER and erase Z-BUFFER after display.
              display mode + 1000 = open new Z-BUFFER and keep Z-BUFFER after display.
              display mode + 2000 = reopen old Z-BUFFER and keep Z-BUFFER after display.
              display mode + 3000 = reopen old Z-BUFFER and erase Z-BUFFER after display.

              The  option to reuse the Z-BUFFER applies to all display
              modes that use the Z-BUFFER.  In those modes that  write
              directly  to the page,  bypassing the Z-Buffer,  you can
              include the extra elements in the Page background  image
              so they are "behind" the elements from the Z-BUFFER,  or
              draw elements over the image in the  page  from  the  Z-
              BUFFER once it has been displayed to the page file, i.e.
              by using JET ADD or DOT ADD.  The end result for writing
              just to the Z-BUFFER or a mix of writing directly to the
              page  file  as  well as writing to the Z-BUFFER is about
              the same,  it is just that somewhat different steps  are
              used to get the result.

              The  program  selects  writing the image to the Z-BUFFER
              when an element to be displayed contains triangles.  The
              background image for JET or DOT pages goes into the page
              file before using JET ADD or  DOT  ADD  to  display  the
              elements over the background.

              To fill a Z-BUFFER more than one time you first add 1000
              to  the  display mode and use the DISPLAY command,  then
              initialize the workspace load  the  additional  elements
              and  add  2000  to  the  display mode and use DISPLAY to
              reopen the Z-BUFFER  file  for  more  filling,  you  can
              repeat  using  2000  plus the display mode over and over
              adding more and more elements to the Z-BUFFER file, when
              you are down to the last filling you can add 3000 to the
              display mode and use DISPLAY  which  will  fill  in  the
              final elements display the completed seen and then erase
              the no longer needed Z-BUFFER file.

              You  do  not  need to erase the Z-BUFFER after the final
              filling,  but you do not want to reopen the Z-BUFFER  if
              you are going to start rendering a different image since
              parts  of  the  images  would  get mixed up.  You cannot
              change the Z-BUFFER size between fillings, i.e. the same
              printer driver should be used,  and the perspective  and
              lighting  values  should  also  remain  the same for all
              fillings,  in most cases,  so as to avoid things looking
              wrong, e.g.  having the light come from different angles
              on different elements in the  same  rendering.  You  can
              change  the  display  mode  between fillings,  you might
              display some fillings using display  mode  74  and  some
              using  display  mode  73  in  order  to  only  have some
              elements have their flagged edges  outlined.  You  might
              also  want  to  change  the  perspective  values between
              fillings of the Z-BUFFER if you want to display  a  line
              drawing over a 3D element to insert labels or other text
              and such.

              See  also the update documentation from INFOV27F.TXT and
              INFOV27G.TXT, and the description of the DISPLAY command
              as well as other documentation on the display modes  and
              program revisions.

HINT:         Use  the  SAVE  ELEMENTS  and  LOAD ELEMENTS commands to
              change  the  drawing in the workspace.  Write a macro to
              print several different drawings out while you are  away
              or  asleep.  If you want a disk file of the drawing then
              save the workspace as a 2D type file and print  that  2D
              file  at  a  later  time.  Use  the  main menu [P]review
              command to get the values  to  use  with  this  command.
              Normally  you  would  select  element 0 to print all the
              elements in the workspace.  Press [H] [D] [I]  from  the
              main  menu  to  change  the  printer port in the printer
              driver file.  See also the  PLOT  command  for  using  a
              plotter.  The  JET  commands  work like the DOT commands
              but use a higher resolution HP-PCL code language  rather
              than  the  EPSON and IBM type printer codes.  PostScript
              and HPGL/2 printers work through the PLOT command  since
              PostScript and HPGL/2 are vector type languages.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DRILL_POINTS

PURPOSE:      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 shown the PCB pad and
              you want to find the center of the pad to  make  a  file
              you  can  CLEAN,  OPTIMIZE,  and  possibly PLOTTERIZE or
              CYCLIZE for manufacture.  It saves you  the  trouble  of
              manually  tracing  over  the  element  traced  from  the
              scanned BMP file.  New for v2.7A.

MAIN MENU:    [D] [?...] [J] [D]

KEYWORD:      DRILL_POINTS

PARAMETERS:   7

TYPE:         i......... Seek_mode, 1=all lines in tolerance must be
                                      consecutive.
                                    2=lines in tolerance can be anywhere
                                      in the element.

              i......... Placement_mode, 1=center of x and y min and max.
                                         2=first point found in tolerance
                                           area.

              r......... x tolerance for seeking, must be less
                                 than pad or symbol spacing.

              r......... y tolerance for seeking, must be less
                                 than pad or symbol spacing.
              r......... z tolerance for seeking, must be less
                           than pad or symbol spacing.

              i......... color to make points found in new element.

              i......... line width for points to make in new element,
                         easier viewing.

FORMAT:       DRILL_POINTS

EXAMPLE:      # 1 DRILL_POINTS 1 1 0.099 0.099 0.099 15 3
              # 2 DRILL_POINTS 1 2 0.05 0.05 0.05 4 25
              # 3 DRILL_POINTS 2 1 0.075 0.075 0.001 9 1
              # 4 DRILL_POINTS 2 2 0.005 0.005 99 11 2

NOTE:         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.

HINT:         If you pick up points that are out of register with  the
              workspace center,  you can use the macro OFFSET  command
              to   adjust   the   position  of  the  element  made  by
              DRILL_POINTS.  See also the CYCLIZE macro command to add
              drilling or other tool cycles or symbols at  the  points
              found  by DRILL_POINTS.  See also the PLOTTERIZE command
              to add up and down  motion  to  the  points  found  with
              DRILL_POINTS  so  that the 3D CAM program can be used to
              drill those points.  See also the  OPTIMIZE  command  to
              organize the drill points in a better plotting order.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

DUMP

PURPOSE:      To print out screen dump using DOS GRAPHICS.COM external
              command.  DUMP can also be used to print text screens to
              make  animation  reports  giving you a break down on the
              variable's values used to  produce  each  frame  of  the
              animation  for  study or to make intelligent alterations
              to the generating macro.  When  DUMP  is  used  to  only
              print the TEXT mode screen GRAPHICS.COM does not need to
              be loaded.

MAIN MENU:    [P] ... [Shift] & [PrtSc]

KEYWORD:      DUMP

PARAMETERS:   None

TYPE:         NA

FORMAT:       DUMP

EXAMPLE:      # 0 DISPLAY 0 0 0 -1E18 1 0 0 0   ; Put it on screen.
              DUMP                ; Use DOS screen dump print out.
              ; Use DOT WORKSPACE command instead of DUMP if you  can.
              ; Be  sure  to  run  the  DOS GRAPHICS.COM or some other
              ; graphics screen dump program that works with  INT  05H
              ; before running DANCAD3D (tm) if you have to use DUMP.

              TEXT                 ; Text mode for screen dump.
              LET |ALPHA = [ SQR( |X ) ]
              LET |BETA  = [ SQR( |Y ) ]
              LOCATE 40 10  ECHO Variable |ALPHA = %%
              OUTPUT |ALPHA ECHO .
              LOCATE 40 11  ECHO Variable |BETA  = %%
              OUTPUT |BETA  ECHO .
              DUMP                 ; Hard copy report.

NOTE:         The installation menu you get by pressing  [H]  [D]  [I]
              from DANCAD3D (tm)'s main menu will let you install some
              dot    matrix   printers.    Check   the   sub-directory
              DRIVERS\*.PRN for installed driver files,  to see if one
              will work with your printer.  The commands DOT WORKSPACE
              and DOT PRINT can print at a much higher resolution than
              a screen dump.

HINT:         The DUMP command can be useful for a quick  pencil  test
              of animation.  As shown above you can use DUMP to keep a
              hard copy of the dynamic variables of your macro to gain
              a  greater  insight  into what the quantitative basis is
              for the more qualitative animated display.

Click here to go to the Macro Keywords A to Z list.
Click here for more information about Appendix B.
Click here for more information about Appendix C: Macro Math and Strings.
Click here for more information about Writing macro code.
Click here to go back to the top of this page.

TERMS OF USE, HOME, INDEX, SHORTCUT, WHAT'S NEW, DOWNLOADS, GET MAIN ZIP, DOCUMENTATION, VIDEO, HOOKUP#1, #2, #3, KEYWORDS

WWW.DANCAD3D.COM (sm): THE OFFICIAL DANCAD3D (tm) "BETA TEST" WEB SITE.

This copy of this page was compiled on or around: Y2009.M01.D14, you might check the "On-Line" version, or come back later, to see if there is a newer compile.