mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-18 14:32:36 +00:00
Reject .f3d import with a STEP redirect hint
Fusion 360 .f3d uses Autodesk's closed ShapeManager kernel — no offline reader exists and it is input-only even in Autodesk's own cloud API, so native import/export is infeasible. Intercept .f3d at priv::load_files (the single funnel for drag-drop and File > Open) and show a dialog pointing the user to export STEP from Fusion, then load any other files in the batch. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BVzKmX6Y1aEteit1HTXG4Q
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
aa2907f730
commit
5ecb319dee
@@ -5872,6 +5872,27 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
||||
if (input_files.empty())
|
||||
return std::vector<size_t>();
|
||||
|
||||
// Fusion 360 .f3d cannot be opened: closed Autodesk ShapeManager kernel, no offline reader
|
||||
// exists. Redirect the user to STEP (which we import natively). Skip any .f3d, load the rest.
|
||||
{
|
||||
bool any_f3d = false;
|
||||
for (const auto& p : input_files)
|
||||
if (boost::iends_with(p.string(), ".f3d")) { any_f3d = true; break; }
|
||||
if (any_f3d) {
|
||||
MessageDialog(static_cast<wxWindow*>(q),
|
||||
_L("Fusion 360 .f3d files can't be opened directly — they use Autodesk's "
|
||||
"closed file format, which no offline tool can read.\n\n"
|
||||
"In Fusion 360, use File ▸ Export and choose STEP (.step), then open that "
|
||||
"file here."),
|
||||
_L("Unsupported format: .f3d"), wxOK | wxICON_INFORMATION).ShowModal();
|
||||
std::vector<fs::path> kept;
|
||||
for (const auto& p : input_files)
|
||||
if (!boost::iends_with(p.string(), ".f3d")) kept.push_back(p);
|
||||
if (kept.empty()) return std::vector<size_t>();
|
||||
return load_files(kept, strategy, ask_multi);
|
||||
}
|
||||
}
|
||||
|
||||
if (!input_files.empty())
|
||||
q->m_3mf_path = input_files[0].string();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user