

                                3Dto3D

              a little 3D to 3D Format Converter Version 1.0
                             by Thomas Baier
                              November 1995
                         Compuserve: 100527,3011
                       Internet  : thbaier@ibm.net
                        Copyright by Thomas Baier



   Version 1.0 and later of 3Dto3D are Shareware and may be distributed
   freely, provided that you leave this documentation file in the
   archive. Note that this program is fully functional.

   Additionally you need the DOS4GW - Extender Version 1.95/1.96/1.97.
   
   If you enjoy this program, use it frequently, and can afford to pay
   a registration fee, then send $10 to: 
   
                        Thomas Baier 
                        Ammerseestr.9
                        85551 Kirchheim 
                        Germany
   
   Please include your name and mailing address.
   With this registration you help me improve 3dto3d. With registration you 
   can expect a prompt response on questions or bugs. Thanks. 
   

   This program is a little utility to convert 3D files to a number of
   other 3D formats. It can generate smooth triangles for those formats
   that support it, allowing you to specify the angle under which the
   faces should be smoothed.


   INPUT

   This version supports the following input formats:

   - .RAW
     Simple RAW format in the form: pnt0 pnt1 pnt2
     Multiple objects are supported if the file is in the form:
     NAME_OBJECT1
     pnta00 pnta01 pnta02
     pnta10 pnta11 pnta12
     pnta20 pnta21 pnta22
     ...
     NAME_OBJECT2
     pntb00 pntb01 pntb02
     pntb10 pntb11 pntb12
     pntb20 pntb21 pntb22
     ...

     see chess.raw for an example.

   - .3DS
     Binary mesh format for 3D Studio (Trademark ...)
     only objects with faces are supported
     Highlight output does not work (convert to RAW first and then to OBT).

   - .OBJ
     Binary mesh format for Imagine 2.x/3.x (Trademark ...)
     only objects with faces are supported
     Tip: If you have a object generated in the form - editor, load it
     into the detail editor, select it, use the "merge" command and
     save it as a ".obj" file. Now the object is ready for converting.
     Tip: If you have object files with the extension .iob (Amiga
     extension ??) rename it to ".obj".
     Highlight output does not work (convert first to RAW and then to OBT).


   OUTPUT

   This version supports the following output formats:

   - .RAW
     The converter can generate a smooth RAW from an unsmoothed
     RAW and vice versa.
   - .UDO/.INC
     Userdefined Object format for Moray V2.x and a inc file for
     POVRAY or POLYRAY.
     The converter writes a UDO file and a corresponding POV-Ray or 
     Polyray include file, generating triangles (poly's) and 
     smooth_triangles (patches). Use the /e parameter to reduce
     the edge count if you are getting too many edges in the UDO file.
     A value of /e5 will retain just about all edges that are not coplanar.
     A value of /e60 will throw out lots of edges and retain only pretty
     sharp contours.
   - .ASC
     ASCII object format for 3D Studio
   - .OBT
     ASCII object format for Highlight Pro
     Converts only RAW to OBT
   - .RPL
     ASCII object macro format for Real 3D. (Version 3.12)
   - .3DS
     Binary object format for 3D Studio

   If inputtype and outputtype are the same, $$$ is used as filename.


Usage:
                3dto3d xxxx [options]
Example:
                raw2_3d chess /e20 /t3
Options:
                /svalue (value = Smoothing Angle in degrees, default 70.0)
                - smoothes tri's with a normal angle below value
                  affects only output of /o1, /o2, /o3

                /evalue (value = Edge Detect Angle in degree, default 0.0)
                - throws out edges with an angle below value
                  affects only the UDO file created with /o2 and /o3

                /v(Verbose on)
                - gives status messages on the progress of the conversion

                /tvalue (value = Swapmode)
                        value = 0 normal (default);
                        value = 1 swap X <-> Y;
                        value = 2 swap X <-> Z
                        value = 3 swap Y <-> Z
                - swaps axis

                /ivalue (value = Inputtype)
                        value = 0 RAW (default)
                        value = 1 3DS (3D Studio)
                        value = 2 OBJ (Imagine)

                /ovalue (value = Outputtype)
                        value = 0 RAW
                        - makes a pure RAW file for testing
                          form: pnt0 pnt1 pnt2

                        val = 1 Smoothed RAW
                        - makes a smoothed Raw file
                          form: pnt0 norm0 pnt1 norm1 pnt2 norm2

                        val = 2 UDO + POV/INC <Moray/Povray>(default)
                        - makes a POVRAY include File with triangles
                          and a MORAY UDO file

                        val = 3 UDO + POLY/INC <Moray/Polyray>
                        - makes a POLYRAY include File with triangles
                          and a MORAY UDO file

                        val = 4 ASC <3DStudio>
                        - makes a 3DStudio ASC file

                        val = 5 OBT <HighLight>
                        - makes a HighLightPro OBT file
                          (only works with RAW files)

                        val = 6 RPL <Real3D Macro>
                        - makes Real3D RPL file, ASCII Macro

                        val = 7 3DS <3DStudio>
                        - makes a 3DStudio binary file

                        val = 8 UDO + POV/INC <Moray/Povray>(wire)
                        - makes a POVRAY include File
                          and a MORAY UDO file
                          For every edge in the object a cylinder
                          and for every vertex a sphere is outputted
                          The radius is controlled via /s
                          /s1.0 for radius 1.0
                          The goal is to make a real wireframe object
                          Try it !!!

