Support Prusa Control project files (.PRUS) by the GUI.
This commit is contained in:
parent
8a8b49ea02
commit
4010dd71f6
6 changed files with 10 additions and 7 deletions
|
@ -45,15 +45,16 @@ use Wx::Event qw(EVT_IDLE EVT_COMMAND);
|
|||
use base 'Wx::App';
|
||||
|
||||
use constant FILE_WILDCARDS => {
|
||||
known => 'Known files (*.stl, *.obj, *.amf, *.xml)|*.stl;*.STL;*.obj;*.OBJ;*.amf;*.AMF;*.xml;*.XML',
|
||||
known => 'Known files (*.stl, *.obj, *.amf, *.xml, *.prus)|*.stl;*.STL;*.obj;*.OBJ;*.amf;*.AMF;*.xml;*.XML;*.prus;*.PRUS',
|
||||
stl => 'STL files (*.stl)|*.stl;*.STL',
|
||||
obj => 'OBJ files (*.obj)|*.obj;*.OBJ',
|
||||
amf => 'AMF files (*.amf)|*.amf;*.AMF;*.xml;*.XML',
|
||||
prus => 'PRUS files (*.prus)|*.prus;*.PRUS',
|
||||
ini => 'INI files *.ini|*.ini;*.INI',
|
||||
gcode => 'G-code files (*.gcode, *.gco, *.g, *.ngc)|*.gcode;*.GCODE;*.gco;*.GCO;*.g;*.G;*.ngc;*.NGC',
|
||||
svg => 'SVG files *.svg|*.svg;*.SVG',
|
||||
};
|
||||
use constant MODEL_WILDCARD => join '|', @{&FILE_WILDCARDS}{qw(known stl obj amf)};
|
||||
use constant MODEL_WILDCARD => join '|', @{&FILE_WILDCARDS}{qw(known stl obj amf prus)};
|
||||
|
||||
our $datadir;
|
||||
# If set, the "Controller" tab for the control of the printer over serial line and the serial port settings are hidden.
|
||||
|
@ -370,7 +371,7 @@ sub open_model {
|
|||
|| $Slic3r::GUI::Settings->{recent}{config_directory}
|
||||
|| '';
|
||||
|
||||
my $dialog = Wx::FileDialog->new($window // $self->GetTopWindow, 'Choose one or more files (STL/OBJ/AMF):', $dir, "",
|
||||
my $dialog = Wx::FileDialog->new($window // $self->GetTopWindow, 'Choose one or more files (STL/OBJ/AMF/PRUS):', $dir, "",
|
||||
MODEL_WILDCARD, wxFD_OPEN | wxFD_MULTIPLE | wxFD_FILE_MUST_EXIST);
|
||||
if ($dialog->ShowModal != wxID_OK) {
|
||||
$dialog->Destroy;
|
||||
|
|
|
@ -281,7 +281,7 @@ sub _init_shape_options_page {
|
|||
sub _load_stl {
|
||||
my ($self) = @_;
|
||||
|
||||
my $dialog = Wx::FileDialog->new($self, 'Choose a file to import bed shape from (STL/OBJ/AMF):', "", "", &Slic3r::GUI::MODEL_WILDCARD, wxFD_OPEN | wxFD_FILE_MUST_EXIST);
|
||||
my $dialog = Wx::FileDialog->new($self, 'Choose a file to import bed shape from (STL/OBJ/AMF/PRUS):', "", "", &Slic3r::GUI::MODEL_WILDCARD, wxFD_OPEN | wxFD_FILE_MUST_EXIST);
|
||||
if ($dialog->ShowModal != wxID_OK) {
|
||||
$dialog->Destroy;
|
||||
return;
|
||||
|
|
|
@ -384,7 +384,7 @@ sub quick_slice {
|
|||
my $input_file;
|
||||
my $dir = $Slic3r::GUI::Settings->{recent}{skein_directory} || $Slic3r::GUI::Settings->{recent}{config_directory} || '';
|
||||
if (!$params{reslice}) {
|
||||
my $dialog = Wx::FileDialog->new($self, 'Choose a file to slice (STL/OBJ/AMF):', $dir, "", &Slic3r::GUI::MODEL_WILDCARD, wxFD_OPEN | wxFD_FILE_MUST_EXIST);
|
||||
my $dialog = Wx::FileDialog->new($self, 'Choose a file to slice (STL/OBJ/AMF/PRUS):', $dir, "", &Slic3r::GUI::MODEL_WILDCARD, wxFD_OPEN | wxFD_FILE_MUST_EXIST);
|
||||
if ($dialog->ShowModal != wxID_OK) {
|
||||
$dialog->Destroy;
|
||||
return;
|
||||
|
|
|
@ -2098,7 +2098,7 @@ sub OnDropFiles {
|
|||
@_ = ();
|
||||
|
||||
# only accept STL, OBJ and AMF files
|
||||
return 0 if grep !/\.(?:stl|obj|amf(?:\.xml)?)$/i, @$filenames;
|
||||
return 0 if grep !/\.(?:stl|obj|amf(?:\.xml)?|prus)$/i, @$filenames;
|
||||
|
||||
$self->{window}->load_file($_) for @$filenames;
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ _arguments -S \
|
|||
'--support-material-extrusion-width[specify extrusion width for support material]:support material extrusion width in mm or % of --layer-height' \
|
||||
'--bridge-flow-ratio[specify multiplier for extrusion when bridging]:bridge extrusion multiplier' \
|
||||
\
|
||||
'*:input file:_files -g "*.(#i)(stl|obj|amf|xml)(-.)"'
|
||||
'*:input file:_files -g "*.(#i)(stl|obj|amf|xml|prus)(-.)"'
|
||||
|
||||
# Local Variables: ***
|
||||
# mode:sh ***
|
||||
|
|
|
@ -135,6 +135,8 @@ load_prus(CLASS, path)
|
|||
delete RETVAL;
|
||||
RETVAL = NULL;
|
||||
}
|
||||
#else
|
||||
RETVAL = nullptr;
|
||||
#endif
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
|
Loading…
Reference in a new issue