« Render setting | Main | プレステ3 4万9980円で発売 »
2006年09月21日
3DCG OBJファイルの重複するフェイスデータを削除するperlCGI
MELで同じことができたらかっこいいんですが。
テキストファイルの簡単な操作なのでperlでもできます。
#!/usr/bin/perl
#
# Copyright (C) 2006 by kashima.
# All rights reserved.
#####################################################
$TEMP_FILE = './obj.obj';
#####################################################
&Clean_rtn;
print STDOUT "Content-Type: text/html\n\n";
print STDOUT "OBJ CLEAN!";
exit(0);
#####################################################
sub Clean_rtn {
local($flag,$read,@lines,%FACE);
$flag = 0;
%FACE = ();
open(TEXT,"+< $TEMP_FILE") || die "Can't Open TEXT:$TEMP_FILE $!\n";
while ($read = <TEXT>){
if($read =~/f/){
if(!$flag){
$flag = 1;
}
if($FACE{$read}){
next;
}
else {
push(@lines, $read);
}
$FACE{$read} = 1;
}
else {
if($flag){
$flag = 0;
%FACE = ();
}
push(@lines, $read);
}
}
seek(TEXT, 0, 0);
print TEXT @lines;
$filesize = tell(TEXT);
truncate(TEXT, $filesize);
close(TEXT);
}
Posted by kashima at 2006年09月21日 23:48
