I just thought I would post some data if anyone needs it, here goes...
If you need to inspect a complex surface (ie-surface model or IGES surface) and you DON'T have a way to do it already (duh), here's how:
1) Get CADKEY with FASTSurf, call Baystate Technologies. AutoCAD is too weak.
2) Get the surface in IGES format. Tell your customer to supply it as such. Read the IGES File in using Fastsurf.
3) Go to "Display, Grids, Normal, Nodes (or UV spacing)" to put Vectors onto the surface.
4) Export the Vectors using CADKEY's "Files, Write, CADL" routine. ONLY the vectors.
5) Run the file thru the following QuickBASIC converter:
****************************************
F = 1
PRINT "GEOPAK 2100 Vector-Driven Digitizer with Probe Compensation."
PRINT "Source File must be a CADKEY/FASTSURF CADL file of Vectors only."
INPUT "Source CADL file for conversion:", A$
OPEN A$ FOR INPUT AS #1
INPUT "Filename for GEOPAK 2100 program output:", B$
IF INSTR(B$, ".") < 1 THEN B$ = B$ + ".P"
OPEN B$ FOR OUTPUT AS #2
INPUT "Vector Length (how far from the part to start from):"; S
PRINT #2, "2: SETUP 2100 3.3000"
PRINT #2, "3: TITLE / NONE"
PRINT #2, "4: INQUIRIES / NONE"
PRINT #2, "5: PARAMETER / UNIT INCH"
PRINT #2, "6: PARAMETER / ANGLE DEG_MIN_SEC"
PRINT #2, "7: PARAMETER / SCALE 1.0000"
PRINT #2, "8: PARAMETER / DECIMAL 4"
PRINT #2, "9: PARAMETER / COORDINATES CARTESIAN"
PRINT #2, "10: PARAMETER / PROBE_POSITION X = 0.0000 Y = 0.0000 Z = 0.0000"
PRINT #2, "12: STATISTICS / OFF"
PRINT #2, "13: BEGIN"
PRINT #2, "14: CNC_MODE / ON"
PRINT #2, "15: LOAD_CS / FCS 1"
PRINT #2, "16: CHANGE_STYLUS / PH9 1"
PRINT #2, "17: STORE_ASCII / ON"
N = 17
DO UNTIL EOF(1)
LINE INPUT #1, S$
IF INSTR(S$, "ARRAY") > 0 THEN
INPUT #1, X, Y, Z, X1, Y1, Z1, XXX
I = (X1 - X)
J = (Y1 - Y)
K = (Z1 - Z)
XX = X + I * S
YY = Y + J * S
ZZ = Z + K * S
N = N + 1
PRINT #2, USING "#####: GOTO / CURRENT CARTESIAN X = ####.#### Y = ####.#### Z = ####.####"; N; XX; YY; ZZ
PRINT USING "#####: GOTO / CURRENT CARTESIAN X = ####.#### Y = ####.#### Z = ####.####"; N; XX; YY; ZZ
N = N + 1
PRINT #2, USING "#####: POINT / MEASURE__WITH__COMP DRIVE__DIR"; N
PRINT USING "#####: POINT / MEASURE__WITH__COMP DRIVE__DIR"; N
N = N + 1
PRINT #2, USING "#####: MEASURE / CURRENT CARTESIAN X = ####.#### Y = ####.#### Z = ####.####"; N; X; Y; Z
PRINT USING "#####: MEASURE / CURRENT CARTESIAN X = ####.#### Y = ####.#### Z = ####.####"; N; X; Y; Z
IF N > 7000 THEN
N = N + 1
PRINT #2, USING "#####: END"; N
CLOSE #2
F = F + 1
OPEN LTRIM$(RTRIM$(MID$(B$, 1, 6))) + LTRIM$(RTRIM$(STR$(F))) + ".P" FOR OUTPUT AS #2
CALL Header
END IF
END IF
LOOP
N = N + 1
PRINT #2, USING "#####: END"; N
END
******************************************
It will write a program that Geopak 1100 and 2100 can read. (for later systems, convert using a text editor)
6) Set coordinate system to FCS1 before starting.
Results will be stored in the default ASCII filename.