<% 'FileSystemObject.OpenTextFile(fname,mode,create,format) 'Modes: ForReading = 1 ForWriting = 2 ForAppending = 8 Set FSO = CreateObject("Scripting.FileSystemObject") TheObj = Request.QueryString("OBJ") if TheObj = "showhitcnt" then Response.Write("

" & showHitCnt & ".OBJ

") 'Response.Write(Server.Mappath(showHitCnt & ".obj")) set ObjFile = FSO.OpenTextFile(Server.Mappath(showHitCnt & ".obj"), ForReading, False) else Response.Write("

" & TheObj & ".OBJ

") 'Response.Write(Server.Mappath(TheObj & ".obj")) set ObjFile = FSO.OpenTextFile(Server.Mappath(TheObj & ".obj"), ForReading, False) end if dim vx(10000) dim vy(10000) dim vz(10000) 'This parses each 'v' line and stores the X, Y, and Z values. ThisLine = ObjFile.Readline i=1 Do While Ucase(Left(ThisLine,1)) = "V" ThisLine = Right(ThisLine, Len(ThisLine) - 2) FirstSpace = Instr(ThisLine, " ") SecondSpace = Instr(Right(ThisLine, Len(ThisLine) - FirstSpace), " ") + FirstSpace vx(i) = mid(ThisLine, 1, FirstSpace - 1) vy(i) = mid(ThisLine, FirstSpace + 1, SecondSpace - FirstSpace-1) vz(i) = mid(ThisLine, SecondSpace + 1, Len(ThisLine) + 1 - SecondSpace) 'Response.Write("X" & vx(i) & "X X" & vy(i) & "X X" & vz(i) & "X
") 'Response.Write(FirstSpace & " " & SecondSpace & "
") ThisLine = ObjFile.Readline i = i + 1 Loop NumVerts = I - 1 'This writes out all the vert info. 'For I = 1 to NumVerts ' Response.Write(vx(i) & " " & vy(i) & " " & vz(i) & "
") 'Next 'Find Max and Min X, Y and Z 'Init Values MaxX = vx(1) - 0 Maxy = vy(1) - 0 MaxZ = vz(1) - 0 MinX = vx(1) - 0 MinY = vy(1) - 0 MinZ = vz(1) - 0 For I = 1 to NumVerts If vX(i) - 0 > MaxX - 0 then MaxX = vX(i) - 0 If vY(i) - 0 > MaxY - 0 then MaxY = vY(i) - 0 If vZ(i) - 0 > MaxZ - 0 then MaxZ = vZ(i) - 0 If vX(i) - 0 < MinX - 0 then MinX = vX(i) - 0 If vY(i) - 0 < MinY - 0 then MinY = vY(i) - 0 If vZ(i) - 0 < MinZ - 0 then MinZ = vZ(i) - 0 Next 'Response.Write(MaxX & "
") 'Response.Write(MaxY & "
") 'Response.Write(MaxZ & "
") 'Response.Write(MinX & "
") 'Response.Write(MinY & "
") 'Response.Write(MinZ & "
") 'Load the Face Info dim f1(10000) dim f2(10000) dim f3(10000) i = 1 do until ObjFile.AtEndOfStream ThisLine = Right(ThisLine, Len(ThisLine) - 2) FirstSpace = Instr(ThisLine, " ") SecondSpace = Instr(Right(ThisLine, Len(ThisLine) - FirstSpace), " ") + FirstSpace f1(i) = mid(ThisLine, 1, FirstSpace - 1) f2(i) = mid(ThisLine, FirstSpace + 1, SecondSpace - FirstSpace-1) f3(i) = mid(ThisLine, SecondSpace + 1, Len(ThisLine) + 1 - SecondSpace) 'Response.Write("X" & vx(i) & "X X" & vy(i) & "X X" & vz(i) & "X
") 'Response.Write(FirstSpace & " " & SecondSpace & "
") ThisLine = ObjFile.Readline i = i + 1 Loop ThisLine = Right(ThisLine, Len(ThisLine) - 2) FirstSpace = Instr(ThisLine, " ") SecondSpace = Instr(Right(ThisLine, Len(ThisLine) - FirstSpace), " ") + FirstSpace f1(i) = mid(ThisLine, 1, FirstSpace - 1) f2(i) = mid(ThisLine, FirstSpace + 1, SecondSpace - FirstSpace-1) f3(i) = mid(ThisLine, SecondSpace + 1, Len(ThisLine) + 1 - SecondSpace) 'Response.Write("X" & f1(i) & "X X" & f2(i) & "X X" & f2(i) & "X
") 'Response.Write(FirstSpace & " " & SecondSpace & "
") NumFaces = I 'This writes out all the vert info. 'For I = 1 to NumFaces ' Response.Write(f1(i) & " " & f2(i) & " " & f3(i) & "
") 'Next %> <% DrawLine 3, "Black", 1.1 * MinY, 0, 1.1 * MaxY, 0 DrawLine 3, "Black", 0, 1.1 * MinX, 0, 1.1 * MaxX For I = 1 to NumFaces DrawLine 1, "Gray", VX(F1(I)), VY(F1(I)), VX(F2(I)), VY(F2(I)) DrawLine 1, "Gray", VX(F2(I)), VY(F2(I)), VX(F3(I)), VY(F3(I)) DrawLine 1, "Gray", VX(F3(I)), VY(F3(I)), VX(F1(I)), VY(F1(I)) Next %> <% DrawLine 3, "Black", 1.1 * MinY, 0, 1.1 * MaxY, 0 DrawLine 3, "Black", 0, 1.1 * MinX, 0, 1.1 * MaxX For I = 1 to NumFaces DrawLine 1, "Gray", VY(F1(I)), VZ(F1(I)), VY(F2(I)), VZ(F2(I)) DrawLine 1, "Gray", VY(F2(I)), VZ(F2(I)), VY(F3(I)), VZ(F3(I)) DrawLine 1, "Gray", VY(F3(I)), VZ(F3(I)), VY(F1(I)), VZ(F1(I)) Next %> <% Sub DrawLine(intWidth, strColor, fx, fy, tx, ty) Dim strToWrite ' init string strToWrite = "" Response.Write(strToWrite) End Sub %>