Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
0ab6bb6
Modernize 3MF Blender addon for Blender 4.2+
Clonephaze Oct 7, 2025
f6c5e4a
Remove legacy init methods and add manifest file
Clonephaze Oct 7, 2025
124c883
Merge pull request #1 from Clonephaze/CriticalFixesFirst
Clonephaze Oct 7, 2025
ddf1eae
Fixed Test Suite - 142 Tests all pass, New Integration Suite
Clonephaze Oct 8, 2025
e0ad926
Modernize addon for Blender 4.2+ and improve testing
Clonephaze Oct 8, 2025
074e0a6
Add comprehensive type hints to all modules
Clonephaze Oct 8, 2025
61c460f
Add __all__ exports and modernize string formatting
Clonephaze Oct 8, 2025
8ec6e92
Add safe_report method to 3MF import/export operators
Clonephaze Oct 8, 2025
9907ec3
Ignore W503 in pycodestyle check
Clonephaze Oct 8, 2025
0840a3d
Pep8 Fixes
Clonephaze Oct 8, 2025
57f4716
Merge branch 'master' into TestFixes
Clonephaze Oct 8, 2025
a4ef6a2
Merge pull request #2 from Clonephaze/TestFixes
Clonephaze Oct 8, 2025
0132fd9
Revise CHANGES.md and remove checklist
Clonephaze Oct 8, 2025
2580de3
Handle empty material slots in 3MF export
Clonephaze Nov 17, 2025
7f72a89
Update blender_manifest.toml
Clonephaze Nov 17, 2025
1ca0dbf
Add integration test suite for Blender 3MF addon
Clonephaze Nov 17, 2025
5b2afee
W293 Fixes
Clonephaze Nov 17, 2025
d4c2ecb
Unit handling: Support scene scale / unit combinations
gwicke Dec 8, 2025
6612b4b
Set object name attribute
gwicke Dec 9, 2025
06b18d3
Apply per-object name attributes in import
gwicke Dec 9, 2025
c64f64f
Do not export hidden objects
gwicke Dec 9, 2025
008c3f7
Add option for exporting hidden objects, default False
gwicke Dec 11, 2025
e531b8f
Slightly speed up export with simplified number printing
gwicke Dec 9, 2025
c9874de
Default to preserving full 32 bit float resolution
gwicke Dec 9, 2025
19d8729
Add GitHub issue templates for bugs and features
Clonephaze Dec 23, 2025
319d7d4
Add addon preferences and update 3MF import/export logic
Clonephaze Dec 13, 2025
be8de17
Pycodestyle fixes
Clonephaze Dec 24, 2025
fd44a9e
Add preferences UI, hidden object export options, and tests
Clonephaze Jan 3, 2026
f98d0b8
Update CONTRIBUTING.md
Clonephaze Jan 3, 2026
f0e6647
Add comprehensive Unicode string caching and tests
Clonephaze Jan 3, 2026
551279b
Fixing PEP-8 standards
Clonephaze Jan 3, 2026
80463f8
Add Orca Slicer color zone export support
Clonephaze Jan 25, 2026
082528a
Improve Orca Slicer export and update tests
Clonephaze Jan 25, 2026
f0df188
Restructure tests, update README
Clonephaze Jan 29, 2026
30e1eac
Update CI workflow to run code style checks
Clonephaze Jan 29, 2026
6263c42
Add extension framework and Orca/3MF v1.3 support
Clonephaze Jan 29, 2026
cfec1f0
Clean up imports and XML namespace usage
Clonephaze Jan 29, 2026
94d3678
Add Copilot instructions for 3MF Blender addon
Clonephaze Jan 29, 2026
74a9f4f
Fix for Github Flow
Clonephaze Jan 29, 2026
bcaacc5
More github flow fixes
Clonephaze Jan 29, 2026
b271feb
Add PrusaSlicer support and thumbnail export
Clonephaze Jan 30, 2026
9e20bc7
Add 3MF icon and update manifest metadata
Clonephaze Jan 30, 2026
20ab73c
Update blender_manifest.toml
Clonephaze Jan 30, 2026
d9c5055
chore: fix missing tags, upload pics
Clonephaze Jan 30, 2026
20a3e48
Update blender_manifest.toml
Clonephaze Jan 30, 2026
defc54a
Bump 3MF spec to v1.4
Clonephaze Jan 31, 2026
1538863
Add PrusaSlicer MMU round-trip support & roadmap
Clonephaze Feb 1, 2026
439d66e
Pep 8 Fixes
Clonephaze Feb 1, 2026
c0999bf
Add material reuse, placement prefs, and validations
Clonephaze Feb 1, 2026
f52e0c8
pep 8
Clonephaze Feb 1, 2026
21888c2
Optimize non-manifold and loose-vertex checks
Clonephaze Feb 1, 2026
fdcc3e0
Refactor module reload
Clonephaze Feb 2, 2026
8a45f1c
Clarify PrusaSlicer support and paint-bucket status
Clonephaze Feb 3, 2026
a560eda
Merge 1.2.6 and 1.2.7 features with main branch (#9)
Clonephaze Feb 3, 2026
c951683
Update README.md
Clonephaze Feb 3, 2026
145a7ac
Full Material Extension Support (#10)
Clonephaze Feb 4, 2026
8da0fa2
pep 8
Clonephaze Feb 4, 2026
7d55188
Refactor 3MF materials into subpackages (#11)
Clonephaze Feb 4, 2026
656644a
Add offical extension platform installation instructions
Clonephaze Feb 4, 2026
115385c
Add drag-and-drop import and grid layout
Clonephaze Feb 4, 2026
f7dd871
Use bmesh for faster non-manifold detection
Clonephaze Feb 4, 2026
32e10f6
Pep 8 Whitespace
Clonephaze Feb 4, 2026
ae3ff8f
Add component instance support for 3MF
Clonephaze Feb 4, 2026
4f10834
Delete REFACTORING_GUIDE.md
Clonephaze Feb 6, 2026
cad2c6a
Add paint MMP segmentation import/export
Clonephaze Feb 6, 2026
6e127c4
uploading speed fix for paint mode impor
Clonephaze Feb 6, 2026
74cd8b7
Add MMU Paint Suite and utilities
Clonephaze Feb 8, 2026
c7de775
Pep 8 Styling Fixes, Disable debug mode
Clonephaze Feb 8, 2026
9832440
Passthrough multiproperties and paint export fixes
Clonephaze Feb 9, 2026
16b63bb
Update ROADMAP with import_3mf refactor & version
Clonephaze Feb 9, 2026
ca6575a
Update CHANGELOG.md
Clonephaze Feb 9, 2026
7a32753
Update README.md
Clonephaze Feb 9, 2026
67feb96
Major refactor v2.0.0 (#14)
Clonephaze Feb 11, 2026
72d0696
Remove outdated README notice and changelog entry
Clonephaze Feb 11, 2026
2124b79
Revise CONTRIBUTING.md for Blender 5.0+ support
Clonephaze Feb 11, 2026
6c26f45
Skip exporting triangle sets if topology changed
Clonephaze Feb 11, 2026
f73e705
Orca: custom templates & per-object settings (#15)
Clonephaze Feb 11, 2026
6c97a3c
3MF: add Orca template/settings and adjust ZIP compression
Clonephaze Feb 15, 2026
fcd0a64
Fixes broken materialdata paths
Clonephaze Feb 17, 2026
1339fe3
Update blender_manifest.toml
Clonephaze Feb 17, 2026
edaedb9
Use evaluated objects for material slots
Clonephaze Feb 17, 2026
2710207
Update CHANGELOG.md
Clonephaze Feb 17, 2026
c0a8a5d
Preserve 3MF passthrough; pin UVs; detect colors
Clonephaze Feb 19, 2026
4595256
Update API.md
Clonephaze Feb 19, 2026
4580324
fix lint issue
Clonephaze Feb 19, 2026
5f92069
Add thumbnail export + HSV color detection
Clonephaze Feb 21, 2026
82be01d
Refactor 3MF thumbnail generation
Clonephaze Feb 21, 2026
a7ef5c0
Add tests for 3MF thumbnail and export context
Clonephaze Feb 21, 2026
9a3ca16
Misc improvements (#17)
Clonephaze Feb 22, 2026
22d0782
2.2.0 Feature package (#18)
Clonephaze Feb 23, 2026
e531ef8
Add VSCode launch configurations
Clonephaze Feb 23, 2026
d95a56e
Add Triangle Sets panel and auto-smooth import
Clonephaze Feb 23, 2026
7f1baa6
Support seam paint (#19)
Clonephaze Feb 26, 2026
48fb4ab
Enhanced API docs, Massive Test Additions, Auto export logic, various…
Clonephaze Feb 28, 2026
99e82f3
Create docs.yml
Clonephaze Feb 28, 2026
fe6ffb2
Theme update for api docs
Clonephaze Mar 1, 2026
9570e99
Group meshes into assemblies from parent Empties
Clonephaze Mar 3, 2026
b3b651f
Create generate_site_docs.py
Clonephaze Mar 3, 2026
52084c7
Enhance 3MF API discovery & registry
Clonephaze Mar 8, 2026
3a5e34c
pep 8
Clonephaze Mar 8, 2026
a6bd449
Improve paint bake quantization and rasterization
Clonephaze Mar 8, 2026
e5c3c52
Release 2.3.0: add changelog and bump version
Clonephaze Mar 8, 2026
0389e75
Add adaptive subdivision and paint refactor
Clonephaze Mar 20, 2026
0346808
Rename 'Skip Disabled' to 'Include Disabled'
Clonephaze Mar 26, 2026
d330817
Include disabled objects when collecting meshes
Clonephaze Mar 29, 2026
6b01de0
Generate Prusa model config; UV bugfix & version bump
Clonephaze Mar 29, 2026
4359a1d
Update CHANGELOG.md
Clonephaze Mar 29, 2026
8111996
Preserve texture paths and consolidate rels
Clonephaze Mar 30, 2026
f7bc943
Add tests for 3MF texture OPC and rels
Clonephaze Mar 30, 2026
cd62c3e
Release 2.4.2: texture export fixes
Clonephaze Mar 30, 2026
06dd79f
Add flatten_hierarchy and spec compliance fixes
Clonephaze Mar 30, 2026
86d22a6
Export: honor explicit objects; add PNG override
Clonephaze Apr 2, 2026
7e67e3f
Propagate include_disabled to exporters
Clonephaze Apr 2, 2026
d5218d9
Use sphere_logo.3mf in multipletextures test
Clonephaze Apr 2, 2026
f5c691c
Add Orca/BambuStudio modifier parts support
Clonephaze Apr 9, 2026
be3d401
Use part names from model_settings for objects
Clonephaze Apr 9, 2026
bbecaca
chore: pycodestyle fixes
Clonephaze Apr 9, 2026
8e507cb
Add rating nudge after multiple exports
Clonephaze Apr 19, 2026
0e66f83
Add FullSpectrum implementation guide and roadmap
Clonephaze Apr 19, 2026
78c9179
"Full-Spectrum" Full Support / Import Performance Improvements / Impo…
Clonephaze Apr 23, 2026
5173794
Create FUNDING.yml
Clonephaze Apr 27, 2026
6ba0498
Update FUNDING.yml
Clonephaze Apr 27, 2026
baa46d7
Migrate issue templates to GitHub issue forms
Clonephaze Apr 28, 2026
4097b2f
Add CODEOWNERS, stale workflow, and SECURITY.md
Clonephaze Apr 28, 2026
b3d7993
Style: normalize quotes/formatting & update CI
Clonephaze Apr 28, 2026
9cbc673
Prusa: combine objects and detect material colors
Clonephaze Apr 29, 2026
8fc9eff
Pycodestyle fixes
Clonephaze Apr 29, 2026
db7736c
Add GitHub Discussions templates
Clonephaze May 1, 2026
9b21116
Rename showcase.yml to showcase-gallery.yml
Clonephaze May 1, 2026
127087a
Update showcase gallery discussion template title (#30)
Clonephaze May 1, 2026
7240688
Update announcements.yml
Clonephaze May 1, 2026
8ed9ba9
Rename support.yml to support-troubleshooting.yml
Clonephaze May 1, 2026
468693a
Add badges to README for funding and support
Clonephaze May 11, 2026
e8d5da8
Make badges in README clickable
Clonephaze May 11, 2026
e904ade
Add funding information for Clonephaze
Clonephaze May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# All files — auto-request review from the maintainer on every PR.
* @Clonephaze
25 changes: 25 additions & 0 deletions .github/DISCUSSION_TEMPLATE/announcements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
title: "[Announcement]"
labels: ["announcement"]
body:
- type: markdown
attributes:
value: |
## 📢 New Announcement
Use this category for release notes, important project updates, and milestone callouts.
Only maintainers should post here.

- type: input
id: version
attributes:
label: Related version (if applicable)
placeholder: "e.g. v2.1.0"
validations:
required: false

- type: textarea
id: content
attributes:
label: Announcement
description: Write the full announcement here. Markdown is supported.
validations:
required: true
84 changes: 84 additions & 0 deletions .github/DISCUSSION_TEMPLATE/bug-reports.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
title: "[Bug] "
labels: ["bug", "needs triage"]
body:
- type: markdown
attributes:
value: |
Found something broken? Fill this out with as much detail as possible.
If you're not sure it's a bug, post in [Support / Troubleshooting](../../discussions/new?category=support) first.

- type: input
id: addon-version
attributes:
label: Addon Version
description: Found in Edit → Preferences → Add-ons → 3MF Format
placeholder: "e.g. 2.0.0"
validations:
required: true

- type: input
id: blender-version
attributes:
label: Blender Version
placeholder: "e.g. 5.0"
validations:
required: true

- type: input
id: os
attributes:
label: Operating System
placeholder: "e.g. Windows 11, macOS 14, Ubuntu 24.04"
validations:
required: true

- type: dropdown
id: area
attributes:
label: Which area does this relate to?
options:
- Import
- Export — Standard
- Export — Orca / BambuStudio
- Export — PrusaSlicer
- Multi-Material Paint
- UI / Preferences
- Performance
- Other
validations:
required: true

- type: textarea
id: what-happened
attributes:
label: What happened?
description: Describe what went wrong. Paste any error output from Window → Toggle System Console.
validations:
required: true

- type: textarea
id: expected
attributes:
label: What did you expect to happen?
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
placeholder: |
1. Open a .3mf file with '...'
2. Export with settings '...'
3. Open the result in OrcaSlicer
4. See '...'
validations:
required: true

- type: textarea
id: extra
attributes:
label: Additional context
description: Screenshots, your .3mf file, or anything else that might help.
validations:
required: false
54 changes: 54 additions & 0 deletions .github/DISCUSSION_TEMPLATE/feature-ideas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
title: "[Idea] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Got an idea to make the addon better? Share it here for community discussion before it becomes a formal feature request.

- type: dropdown
id: area
attributes:
label: Which area does this relate to?
options:
- Import
- Export — Standard
- Export — Orca / BambuStudio
- Export — PrusaSlicer
- Multi-Material Paint
- UI / Preferences
- Performance
- Other
validations:
required: true

- type: textarea
id: problem
attributes:
label: What problem are you trying to solve?
description: Describe the limitation or gap you've hit.
placeholder: "When I try to... I can't... because..."
validations:
required: true

- type: textarea
id: idea
attributes:
label: Describe your idea
description: What would the ideal solution look like? Rough sketches, mockups, and examples from other tools are all welcome.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives or workarounds you've considered
validations:
required: false

- type: textarea
id: extra
attributes:
label: Additional context
validations:
required: false
53 changes: 53 additions & 0 deletions .github/DISCUSSION_TEMPLATE/showcase-gallery.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
title: "[Showcase]"
labels: ["showcase"]
body:
- type: markdown
attributes:
value: |
Show off something you made with the 3MF addon! Prints, sliced models, multi-material setups, creative workflows — all welcome.

- type: input
id: title
attributes:
label: What did you make?
placeholder: "e.g. 7-colour dragon with Orca paint export, functional hinge assembly..."
validations:
required: true

- type: dropdown
id: workflow
attributes:
label: Which workflow did you use?
options:
- Standard export
- Orca / BambuStudio multi-colour
- PrusaSlicer MMU
- Import + re-export roundtrip
- Multi-Material Paint Suite
- Other / combination
validations:
required: true

- type: textarea
id: description
attributes:
label: Tell us about it
description: What was the process? Any tips or tricks you discovered?
validations:
required: true

- type: textarea
id: media
attributes:
label: Photos / screenshots / files
description: Drag images in here, or share a link. A photo of the finished print is always a highlight!
validations:
required: false

- type: input
id: addon-version
attributes:
label: Addon version used
placeholder: "e.g. 2.0.0"
validations:
required: false
72 changes: 72 additions & 0 deletions .github/DISCUSSION_TEMPLATE/support-troubleshooting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
title: "[Support] "
labels: ["support"]
body:
- type: markdown
attributes:
value: |
Having trouble? Fill this out and the community can help.
For confirmed bugs, please open a [Bug Report issue](../../issues/new/choose) instead.

- type: input
id: addon-version
attributes:
label: Addon Version
description: Found in Edit → Preferences → Add-ons → 3MF Format
placeholder: "e.g. 2.0.0"
validations:
required: true

- type: input
id: blender-version
attributes:
label: Blender Version
placeholder: "e.g. 5.0"
validations:
required: true

- type: input
id: slicer
attributes:
label: Target Slicer (if relevant)
placeholder: "e.g. OrcaSlicer 2.3, PrusaSlicer 2.9, BambuStudio"
validations:
required: false

- type: dropdown
id: area
attributes:
label: Which area does this relate to?
options:
- Import
- Export — Standard
- Export — Orca / BambuStudio
- Export — PrusaSlicer
- Multi-Material Paint
- UI / Preferences
- Other
validations:
required: true

- type: textarea
id: question
attributes:
label: What are you trying to do?
description: Describe what you're attempting and where you're getting stuck.
validations:
required: true

- type: textarea
id: tried
attributes:
label: What have you tried?
description: Steps you've already taken, workarounds attempted, etc.
validations:
required: false

- type: textarea
id: extra
attributes:
label: Additional context
description: Console output, screenshots, or a sample .3mf file are very helpful.
validations:
required: false
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: Clonephaze
buy_me_a_coffee: clonephaze
87 changes: 87 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Bug Report
description: Something isn't working right
labels: ["bug", "needs triage"]
assignees: ["Clonephaze"]

body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill this out! The more detail you provide, the faster it can be fixed.

- type: input
id: addon-version
attributes:
label: Addon Version
description: Found in Edit → Preferences → Add-ons → 3MF Format
placeholder: "e.g. 2.0.0"
validations:
required: true

- type: input
id: blender-version
attributes:
label: Blender Version
placeholder: "e.g. 5.0"
validations:
required: true

- type: input
id: os
attributes:
label: Operating System
placeholder: "e.g. Windows 11, macOS 14, Ubuntu 24.04"
validations:
required: true

- type: dropdown
id: area
attributes:
label: Which area does this relate to?
options:
- Import
- Export — Standard
- Export — Orca / BambuStudio
- Export — PrusaSlicer
- Multi-Material Paint
- UI / Preferences
- Performance
- Other
validations:
required: true

- type: textarea
id: what-happened
attributes:
label: What happened?
description: Describe what went wrong. Include any error messages from the Blender console (Window → Toggle System Console).
validations:
required: true

- type: textarea
id: expected
attributes:
label: What did you expect to happen?
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Walk through exactly what you did before hitting the bug.
placeholder: |
1. Opened a .3mf file with '...'
2. Clicked Export with settings '...'
3. Opened the result in OrcaSlicer
4. Saw '...'
validations:
required: true

- type: textarea
id: extra
attributes:
label: Additional context
description: Attach screenshots, your .3mf file, or anything else that might help.
validations:
required: false
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
blank_issues_enabled: false

contact_links:
- name: Usage Guide
url: https://www.clonecore.net/docs/3mf-guide/getting-started
about: Import/export walkthrough and slicer-specific setup.
- name: API Guide
url: https://www.clonecore.net/docs/3mf/guide
about: Headless and scripting usage via the public API.
Loading