This Macro converts a 2D Drawing into a 3D Drawing and rotates it to anywhere the user wants. By using the Layer data to set the Z values, an actual 3D representation of a drawing can be produced. You first create layer names of the Z values that are to be used. I gave the option to either put a Z at the beginning of the value or not to use a Z. Some examples are: Z0 Z-2.125 Z5.625 -3.562 10.4843 Because lines having the same starting and ending X and Y is not possible in DeltaCAD, a POINT entity is used for this purpose. To use this feature, layers are created with two Z values separated by a comma. Examples of this are: Z0,Z-2.125 Z.5312,Z3.625 .125,-5.258 It is possible to use the two Z feature on a LINE entity but you need to make sure your starting Z goes with the starting X and Y of the line. Sometimes, especially Horzontal and Vertical lines, the starting and ending are different than how they were drawn. The POINTS are converted to different lines types by color: BLACK=SOLID, RED=HIDDEN, GREEN=CENTER, YELLOW=PHANTOM, BLUE=CUTTING, PURPLE=STITCH and any other colors will be converted to STITCH LINE type Only LINES and POINTS are used so all other entities (circle, arc, ellipse, shapes, text) will have to be converted to LINES with the 'Edit Object Data' in the Edit Tab. You should use a small number of segments per entity for the conversion. It depends on how many entities you have. I use 16 to 32 for a circle. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Here is an example to create a 3 dimensional box. You start by creating your layers. Let's start by creating 3 layer names: Z0 Z-2.25 Z0,Z-2.25 > Make Z0 your current layer. > Then make a box with 4 LINES, if you create it with a SHAPE box you will have to convert it to LINES. > Then go to 'Select' Tab and select the four lines. - You can select the entities with the box method or hold down the Ctrl key and click on each entity. > Click on the 'Copy' button and then 'Change Layer of Selected Objects' button. > Select layer name Z-2.25 then OK button. - You will now have 8 entities, 4 LINES on layer Z0 and 4 LINES on layer Z-2.25 > Now make layer name 'Z0,Z-2.25' your current layer. > Go to the POINT tab and click on the 'Draw A Point' button and 'Perm' button. - Selecting Thick or Heavy will make seeing your points easier but it is not necessary. > Select each line near each corner to put a POINT in each corner. > Save the file now as the macro will change all your original values - If you make a complex drawing you should save it in two different files for safe keeping. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > Click on the 'Macro' tab then 'Run Macro' button and select 'DeltaCad3D.bas' and click 'Run' button. - Using the rotation buttons you are actually rotating the X0 Y0 Z0 axis to the user perspective. Clicking on the 'Top' and 'Bottom buttons will rotate the drawing around the X axis (A axis). Clicking on the 'Left' and 'Right' buttons will rotate the drawing around the Y axis (B axis). Clicking on the 'CCW' and 'CW' buttons will rotate the drawing around the Z axis (C axis) Clicking on the 'Reset' button will put the drawing back to the original angles A0° B0° C0° Clicking on the 'Zoom Fit' button fit all the entities on the screen. Clicking on the 'Save View' button will end the macro at the current rotational angles. Note: Rerunning the macro again after a 'Save View' is not recommended because all values are recalculated from the new rotated view. Close the file 'WITHOUT SAVING' and reopen the original file. Clicking on the 'Cancel' button will put the drawing back to the original angles A0° B0° C0° and end the macro. Changing the variable 'SpinIncrement' at the beginning of the macro will change the amount of rotation. If you have more than 1500 entities, that can be increased with the Dim statement and variable at the beginning of the macro. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =