Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2017-08-03 18:31:31 +0300
committerbubnikv <bubnikv@gmail.com>2017-08-03 18:31:31 +0300
commit138501872426ae1fc7023478dd1deba96d936ecf (patch)
tree74825b7caf247a6761d1cb0705edd16297e700ca /utils
parent31085fb1d70510e3d73c64c0b7fc7a394b6e6f72 (diff)
Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize. Added dependency on boost::locale. Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library, thanks to @alexrj for the idea. Simplified the encode_path / decode_path stuff: wxWidgets are unicode already, so there is no need to decode_path() from it. Perl / win32 interfacing is non-unicode, so decode_path() is executed on ARGV just at the beginning of the perl scripts.
Diffstat (limited to 'utils')
-rwxr-xr-xutils/amf-to-stl.pl7
-rw-r--r--utils/dump-stl.pl4
-rwxr-xr-xutils/split_stl.pl4
-rwxr-xr-xutils/stl-to-amf.pl4
4 files changed, 11 insertions, 8 deletions
diff --git a/utils/amf-to-stl.pl b/utils/amf-to-stl.pl
index f49af94eb..2648ba25d 100755
--- a/utils/amf-to-stl.pl
+++ b/utils/amf-to-stl.pl
@@ -14,6 +14,9 @@ use Getopt::Long qw(:config no_auto_abbrev);
use Slic3r;
$|++;
+# Convert all parameters from the local code page to utf8 on Windows.
+@ARGV = map Slic3r::decode_path($_), @ARGV if $^O eq 'MSWin32';
+
my %opt = ();
{
my %options = (
@@ -25,12 +28,12 @@ my %opt = ();
}
{
- my $model = Slic3r::Model->load_amf(Slic3r::encode_path($ARGV[0]));
+ my $model = Slic3r::Model->load_amf($ARGV[0]);
my $output_file = $ARGV[0];
$output_file =~ s/\.[aA][mM][fF](?:\.[xX][mM][lL])?$/\.stl/;
printf "Writing to %s\n", basename($output_file);
- $model->store_stl(Slic3r::encode_path($output_file), binary => !$opt{ascii});
+ $model->store_stl($output_file, binary => !$opt{ascii});
}
diff --git a/utils/dump-stl.pl b/utils/dump-stl.pl
index 12746feab..0f459ffb1 100644
--- a/utils/dump-stl.pl
+++ b/utils/dump-stl.pl
@@ -18,7 +18,7 @@ $|++;
$ARGV[0] or usage(1);
if (-e $ARGV[0]) {
- my $model = Slic3r::Model->load_stl(Slic3r::encode_path($ARGV[0]), basename($ARGV[0]));
+ my $model = Slic3r::Model->load_stl($ARGV[0], basename($ARGV[0]));
$model->objects->[0]->add_instance(offset => Slic3r::Pointf->new(0,0));
my $mesh = $model->mesh;
$mesh->repair;
@@ -27,7 +27,7 @@ if (-e $ARGV[0]) {
exit 0;
} elsif ((my $model = Slic3r::Test::model($ARGV[0]))) {
$ARGV[1] or die "Missing writeable destination as second argument\n";
- $model->store_stl(Slic3r::encode_path($ARGV[1]), 1);
+ $model->store_stl($ARGV[1], 1);
printf "Model $ARGV[0] written to $ARGV[1]\n";
exit 0;
} else {
diff --git a/utils/split_stl.pl b/utils/split_stl.pl
index ac890fc3e..fffc57665 100755
--- a/utils/split_stl.pl
+++ b/utils/split_stl.pl
@@ -25,7 +25,7 @@ my %opt = ();
}
{
- my $model = Slic3r::Model->load_stl(Slic3r::encode_path($ARGV[0]), basename($ARGV[0]));
+ my $model = Slic3r::Model->load_stl($ARGV[0], basename($ARGV[0]));
my $basename = $ARGV[0];
$basename =~ s/\.[sS][tT][lL]$//;
@@ -43,7 +43,7 @@ my %opt = ();
my $output_file = sprintf '%s_%02d.stl', $basename, ++$part_count;
printf "Writing to %s\n", basename($output_file);
- $new_model->store_stl(Slic3r::encode_path($output_file), !$opt{ascii});
+ $new_model->store_stl($output_file, !$opt{ascii});
}
}
diff --git a/utils/stl-to-amf.pl b/utils/stl-to-amf.pl
index d32e799aa..f0d537b04 100755
--- a/utils/stl-to-amf.pl
+++ b/utils/stl-to-amf.pl
@@ -25,7 +25,7 @@ my %opt = ();
}
{
- my @models = map Slic3r::Model->load_stl(Slic3r::encode_path($_), basename($_)), @ARGV;
+ my @models = map Slic3r::Model->load_stl($_, basename($_)), @ARGV;
my $output_file = $ARGV[0];
$output_file =~ s/\.[sS][tT][lL]$/.amf.xml/;
@@ -53,7 +53,7 @@ my %opt = ();
}
printf "Writing to %s\n", basename($output_file);
- $new_model->store_amf(Slic3r::encode_path($output_file));
+ $new_model->store_amf($output_file);
}