/* This program prompts the user to select an arc or circle, then returns the diameter, radius, start, end, and inculded angles, definition view, and center coordinates. The values are stored as variables for further use. D.M. Hague 4/6/98 */ $version = "97R2 beta 1" $progname = "VERDIAM.CDX" DG_CANCEL = 0x00000008 PI = 3.14159265358979 SPRINT $idstring, "%s version %s", $progname, $version :start SET MASK, 3 GETENT "Select arc or circle to verify:", enttype ON (@key + 3) GOTO end, end, start, DIA = dia = @fltdat[3]*2 RAD = rad = @fltdat[3] SANG = sang = @fltdat[4]*180/PI DANG = dang = @fltdat[5]*180/PI EANG = eang = @fltdat[5]*180/PI + @fltdat[4]*180/PI EANG = eang = ((EANG > 360.0000000001)?EANG-360:EANG) sys_get_name 2, @intdat[8], $viewname SPRINT $dia, "Diameter (DIA): %.10f", DIA SPRINT $rad, "Radius (RAD): %.10f", RAD SPRINT $sang, "Starting angle (SANG): %.10f", SANG SPRINT $dang, "Included angle (DANG): %.10f", DANG SPRINT $eang, "Ending angle (EANG): %.10f", EANG SPRINT $view, "Definition view: %i (%s)", @intdat[8], $viewname GETVIEW @intdat[8], cirview CALL xfmvw, cirview, @fltdat[0], @fltdat[1], @fltdat[2], X, Y, Z x = X y = Y z = Z SPRINT $xc, "Center: X = %.10f", X SPRINT $yc, " Y = %.10f", Y SPRINT $zc, " Z = %.10f", Z dg_init_dialog 23, 70, 13, $idstring, 0, 0, 4, 0 db = @ERROR dg_add_note db, 0, 0.75, 1.00, $dia, 0, 0, 0 dg_add_note db, 1, 2.75, 1.00, $rad, 0, 0, 0 dg_add_note db, 2, 4.75, 1.00, $sang, 0, 0, 0 dg_add_note db, 3, 6.75, 1.00, $eang, 0, 0, 0 dg_add_note db, 4, 8.75, 1.00, $dang, 0, 0, 0 dg_add_note db, 5, 10.75, 1.00, $view, 0, 0, 0 dg_add_note db, 6, 12.75, 1.00, $xc, 0, 0, 0 dg_add_note db, 7, 14.25, 1.00, $yc, 0, 0, 0 dg_add_note db, 8, 15.75, 1.00, $zc, 0, 0, 0 dg_add_note db, 9, 18.00, 3.25, "Freeware from Hague Automation-- makers of the GADGET UTILITIES", 0, 0, 0 dg_add_box db, 10, 17.00, 1.5, 2.25, 66, , 0, 0, 0 dg_add_button db, 12, 20.50, 31, 8, "&OK", 0, 0, DG_CANCEL dg_draw_dialog db dg_move_focus db, 12 dg_run_dialog db dg_erase_dialog db dg_free_dialog db GOTO start :end :END SET MASK, 0 CLEAR $version, $progname, DG_CANCEL, PI, $idstring, enttype, $dia, $rad, $sang, $dang, $eang, $view, cirview, $xc, $yc, $zc, db