mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-22 14:50:59 +00:00
Merge branch 'main' into perf/slicing-optimizations
This commit is contained in:
611 files changed
+2310022
-2302935
No files matched your search
@@ -51,14 +51,13 @@ widens the existing OCCT build by one module flag in `deps/OCCT/OCCT.cmake`:
|
||||
-DBUILD_MODULE_ModelingAlgorithms=${SLIC3R_CAD}
|
||||
```
|
||||
|
||||
Most of that module's twelve toolkits were already being built, because `DataExchange` — the
|
||||
STEP path upstream ships — depends on them. The delta is `TKFillet` (used through
|
||||
`BRepFilletAPI`), `TKOffset` (`BRepOffsetAPI`) and `TKFeat`, which nothing here references but
|
||||
which the module flag builds anyway, because OCCT's module flags are all-or-nothing. On macOS
|
||||
and Linux OCCT links statically, so an unreferenced toolkit costs build time and no shipped
|
||||
bytes; on Windows OCCT builds shared, so the cost there is real DLL bytes. That Windows figure
|
||||
has not been measured, and `OCCT.cmake` says so rather than carrying a number that was derived
|
||||
from an incomplete toolkit list.
|
||||
Most of that module's toolkits are built either way, because `DataExchange`, which the STEP
|
||||
importer uses, depends on them. With the flag on, OCCT also builds `TKFillet` (used through
|
||||
`BRepFilletAPI`), `TKOffset` (`BRepOffsetAPI`), and `TKFeat`, `TKHelix`, `TKXMesh` and
|
||||
`TKExpress`, which nothing here references but which the module flag builds anyway, because
|
||||
OCCT's module flags are all-or-nothing. On macOS and Linux OCCT links statically, so an
|
||||
unreferenced toolkit costs build time and no shipped bytes. On Windows OCCT builds shared and
|
||||
only the linked toolkits ship, so the tab adds the `TKFillet`, `TKOffset` and `TKBool` DLLs.
|
||||
|
||||
On Windows the packaging step asserts that every linked OCCT toolkit has a shipped DLL and
|
||||
fails the configure with the name of any that is missing, because the alternative failure — a
|
||||
@@ -117,6 +116,8 @@ that keep it survivable are:
|
||||
`Import` features embed the imported solid as an OCCT BRep string inside the recipe rather than
|
||||
referencing the source file, so a project opens without the STEP or mesh it was built from.
|
||||
The cost is that saved projects are coupled to an OCCT BRep revision.
|
||||
`tests/data/cad_brep_occt76.brep` holds a solid written by OCCT 7.6, and its test fails if the
|
||||
bundled OCCT can no longer read it.
|
||||
|
||||
## The interaction contract
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# Prusa CORE One INDX profiles
|
||||
|
||||
The Prusa bundle provides separate four-tool and eight-tool CORE One INDX models
|
||||
with 0.4 mm high-flow nozzles and a 248 x 205 x 270 mm printable volume. These are
|
||||
independent-tool printers, not single-extruder MMU3 machines. Both inherit
|
||||
`fdm_machine_common_coreone_indx`, which inherits the ordinary CORE One HF
|
||||
printer; the concrete printer presets supply their tool-count-dependent arrays. The bed and wizard resources come from Prusa.
|
||||
|
||||
The source configuration is PrusaResearch 2.5.10 from
|
||||
[Prusa's profile repository](https://github.com/prusa3d/PrusaSlicer-settings-prusa-fff/blob/65c5c8f1e1c3836f306119c49d717759cbc368db/PrusaResearch/2.5.10.ini).
|
||||
Its printer, process and filament settings are translated to Orca option names.
|
||||
The supplied process presets cover 0.10, 0.15, 0.20 and 0.25 mm layers. Their
|
||||
shared `fdm_process_coreone_indx` base inherits the ordinary CORE One HF SPEED
|
||||
process, with explicit INDX differences and layer-specific child settings.
|
||||
Material presets are shared with the ordinary CORE One family.
|
||||
|
||||
## Tool changes and extrusion state
|
||||
|
||||
The start script initializes a persistent `tool_init` vector, counts the tools
|
||||
used by the job, homes and probes using a loaded tool, calibrates the used tools,
|
||||
and primes the initial tool at the cleaning station. The change script preserves
|
||||
Prusa's `G27`, `P0`, `T`, `G12`, `G750` and `M906` sequences. It updates
|
||||
`e_retracted` so Orca's subsequent unretraction agrees with the script's extrusion.
|
||||
Per-tool temperature commands are guarded by `is_extruder_used`.
|
||||
|
||||
The off-bed purge station is the default. With a prime tower enabled, a newly
|
||||
used tool still receives its initial station purge, while an initialized tool
|
||||
uses the source's wipe-tower preparation path. `tool_init` persists across these
|
||||
changes; treating every tool selection as first use would change the purge and
|
||||
deretraction sequence.
|
||||
|
||||
Purge volume uses the filament's minimal purge setting. Orca's optional flush
|
||||
volumetric speed is divided by filament cross-sectional area before it is used
|
||||
as a linear extrusion-speed override. Prusa's separate `filament_flush_volume`
|
||||
override is not available in these profiles. The source's `EXCLUDE_E_START` and
|
||||
`EXCLUDE_E_END` internal markers become comments rather than printer commands.
|
||||
|
||||
Pressure-advance restoration and automatic pressure-advance emission use the
|
||||
selected filament preset's settings. These profiles do not impose machine-owned
|
||||
filament overrides. Dock-fan control retains the source's material and layer
|
||||
conditions; shutdown parks the tool and turns off the used heaters and dock fan.
|
||||
|
||||
## Configuration boundaries
|
||||
|
||||
The scripts use Orca's temperature, retraction, fan and speed option names. The
|
||||
nozzle-check high-flow flag is fixed because these presets describe HF nozzles;
|
||||
the abrasive-material flag is derived from the filament's required nozzle HRC.
|
||||
An unset idle temperature uses Orca's zero sentinel. ABS's source XY shrinkage
|
||||
compensation is represented using Orca's retained-size percentage.
|
||||
|
||||
Prusa's consistent-surface cooling strategy and filament-specific infill crossing
|
||||
speed limits have no direct Orca profile equivalent. These presets use Orca's
|
||||
native layer-time cooling and material volumetric limits. They do not add slicer
|
||||
features or change existing Prusa printer profiles.
|
||||
Reference in new issue
Block a user