Skip to content

feat: Register orcaflashforge:// URL scheme for external application integration#32

Open
Arlieeee wants to merge 1 commit intoFlashForge:mainfrom
Arlieeee:feature/add-orcaflashforge-url-scheme
Open

feat: Register orcaflashforge:// URL scheme for external application integration#32
Arlieeee wants to merge 1 commit intoFlashForge:mainfrom
Arlieeee:feature/add-orcaflashforge-url-scheme

Conversation

@Arlieeee
Copy link

@Arlieeee Arlieeee commented Feb 5, 2026

Background

We are Meshy LLC (https://meshy.ai), a company focused on AI-powered 3D generation. We are developing a feature in our web application that allows users to send generated 3D models directly to slicer software for printing.

While implementing support for Orca-Flashforge, we discovered that the current URL scheme registration uses orcaslicer://, which conflicts with the original OrcaSlicer when both applications are installed on the same system. This makes it impossible for external applications to reliably invoke Orca-Flashforge specifically.

We noticed that orcaflashforge:// is already used internally (in FFWebViewPanel.cpp and supported by Downloader.cpp), but it is not registered at the OS level, preventing external applications from using it.

Summary

This PR adds system-level registration for the orcaflashforge:// URL scheme, enabling external applications (web apps, third-party tools) to launch Orca-Flashforge and import models directly.

Currently, while orcaflashforge:// is used internally in FFWebViewPanel.cpp and supported by Downloader.cpp, it is not registered at the OS level. This means external applications cannot use this scheme to invoke Orca-Flashforge.

Changes

Platform File Change
macOS cmake/modules/MacOSXBundleInfo.plist.in Added orcaflashforge and orcaflashforgeopen schemes
macOS src/platform/osx/Info.plist.in Added orcaflashforge and orcaflashforgeopen schemes
Linux src/platform/unix/Orca-Flashforge.desktop Added x-scheme-handler/orcaflashforge to MimeType
Windows src/slic3r/GUI/GUI_App.cpp Added associate_url(L"orcaflashforge") calls
Core src/libslic3r/Utils.hpp Added is_orcaflashforge_open() and updated is_supported_open_protocol()

Usage

After this change, external applications can invoke Orca-Flashforge using:

orcaflashforge://open/?file=https://example.com/model.3mf

Backwards Compatibility

  • The existing orcaslicer:// scheme remains fully functional
  • No breaking changes to existing functionality

Register orcaflashforge:// as a system-level URL scheme alongside the
existing orcaslicer:// scheme. This enables external applications
(such as web apps) to launch Orca-Flashforge and trigger model imports
using the orcaflashforge:// protocol.

Changes:
- macOS: Register orcaflashforge and orcaflashforgeopen schemes in plist files
- Linux: Add x-scheme-handler/orcaflashforge to .desktop file
- Windows: Register orcaflashforge:// in system registry on startup
- Add is_orcaflashforge_open() detection function in Utils.hpp
- Update is_supported_open_protocol() to include the new scheme

Usage: orcaflashforge://open/?file=https://example.com/model.3mf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant