%% syntaxe : solid str writeobjfile -> -
/writeofffile {
12 dict begin
/str exch (.off) append def
/solid exch def
solid issolid not {
(Erreur : mauvais type d argument dans writeofffile) ==
quit
} if
/n solid solidnombresommets def
/nf solid solidnombrefaces def
str (w) file /lefichier exch def
lefichier (OFF) writestring
lefichier 10 write %% CR
lefichier n chaine cvs writestring
lefichier 32 write %% espace
lefichier nf chaine cvs writestring
lefichier 32 write %% espace
lefichier 0 chaine cvs writestring
lefichier 10 write %% CR
0 1 n 1 sub {
/i exch def
solid i solidgetsommet
/z exch def
/y exch def
/x exch def
lefichier z chaine cvs writestring
lefichier 32 write %% espace
lefichier y chaine cvs writestring
lefichier 32 write %% espace
lefichier x chaine cvs writestring
lefichier 10 write %% CR
} for
0 1 nf 1 sub {
/i exch def
/F solid i solidgetface def
lefichier F length chaine cvs writestring
lefichier 32 write %% espace
F {
lefichier exch
chaine cvs writestring
lefichier 32 write %% espace
} apply
lefichier 10 write %% CR
} for
lefichier closefile
end
} def
|