random rough block surfacecreated with QB64 basic code:
x = 1y = 1z = 1objnr = 10OPEN (c:\test\1.stl) FOR OUTPUT AS #1PRINT #1, " CLOSE #1OPEN (c:\test\1.stl) FOR OUTPUT AS #1objnr = 11b$ =solid Object" + RIGHT$(STR$(objnr), 2)PRINT #1, b$FOR x = 1 TO 80 STEP .7 FOR y = 1 TO 80 STEP .7
z = RND(1) * 3
a$ = a$ + facet normal 0 1 0 + CHR$(13) a$ = a$ + outer loop + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + " + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 1 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal -0 -1 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 -1 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 0 -1+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 0 -1+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 1 0 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 1 0 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 -0 1+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal 0 -0 1+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal -1 0 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet+ CHR$(13) a$ = a$ + facet normal -1 0 0+ CHR$(13) a$ = a$ + outer loop+ CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(-1 + z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(-1 + y) + + STR$(z) + CHR$(13) a$ = a$ + vertex + STR$(-1 + x) + + STR$(y) + + STR$(z) + CHR$(13) a$ = a$ + endloop+ CHR$(13) a$ = a$ + endfacet PRINT #1, a$ a$ ="
NEXTNEXTPRINT #1, endsolid Object + RIGHT$(STR$(objnr), 2)END