{"id":16609244,"url":"https://github.com/ghostkeeper/blender3mfformat","last_synced_at":"2025-04-07T05:11:30.581Z","repository":{"id":41987502,"uuid":"263165911","full_name":"Ghostkeeper/Blender3mfFormat","owner":"Ghostkeeper","description":"Blender add-on to import/export 3MF files","archived":false,"fork":false,"pushed_at":"2024-06-14T12:36:03.000Z","size":671,"stargazers_count":251,"open_issues_count":29,"forks_count":34,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-01T13:44:27.981Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ghostkeeper.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-11T21:48:51.000Z","updated_at":"2025-03-31T21:08:55.000Z","dependencies_parsed_at":"2022-09-21T13:02:08.139Z","dependency_job_id":"34fe171d-2e8a-45d8-a413-49c3617b123e","html_url":"https://github.com/Ghostkeeper/Blender3mfFormat","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ghostkeeper%2FBlender3mfFormat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ghostkeeper%2FBlender3mfFormat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ghostkeeper%2FBlender3mfFormat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ghostkeeper%2FBlender3mfFormat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ghostkeeper","download_url":"https://codeload.github.com/Ghostkeeper/Blender3mfFormat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595335,"owners_count":20963943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T01:28:34.310Z","updated_at":"2025-04-07T05:11:30.559Z","avatar_url":"https://github.com/Ghostkeeper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Blender 3MF Format\n====\nThis is a Blender add-on that allows importing and exporting 3MF files.\n\n3D Manufacturing Format files (.3mf) are a file format for triangular meshes intended to serve as exchange format for 3D printing applications. They can communicate not only the model, but also the intent and material of a 3D printing job from the CAD software to the CAM software (slicer). In this scenario, Blender serves as the CAD software. To that end, the aim of this add-on is to make Blender a more viable alternative as CAD software for additive manufacturing.\n\nInstallation\n----\nThis add-on requires Blender 2.80 or newer. It is tested on version 2.80, 2.83, 2.93 3.0 and 3.3.\n\nTo install this add-on, currently you need to tell Blender where to find a .zip archive with the add-on inside.\n1. Download the latest release from the [releases page](https://github.com/Ghostkeeper/Blender3mfFormat/releases/latest). This is a .zip archive.\n2. In Blender, go to Edit -\u003e Preferences and open the Add-ons tab on the left.\n3. Click on the Install... button at the top. Navigate to the .zip you downloaded.\n4. Under the \"Community\" category, find the add-on called \"Import-Export: 3MF format\". Make sure that it's enabled. (Note: If searching with the search box, exclude the \"Import-Export\" text since this is the category, not part of the add-on name. Just search for \"3MF\" instead.)\n\nThe add-on is being considered for inclusion in Blender as a community add-on [here](https://developer.blender.org/T84154). This would make it easier to install.\n\nUsage\n----\nWhen this add-on is installed, a new entry will appear under the File -\u003e Import menu called \"3D Manufacturing Format\". When you click that, you'll be able to select 3MF files to import into your Blender scene. A new entry will also appear under the File -\u003e Export menu with the same name. This allows you to export your scene to a 3MF file.\n\n![Screenshot](screenshot.png)\n\nThe following options are available when importing 3MF files:\n* Scale: A scaling factor to apply to the scene after importing. All of the mesh data loaded from the 3MF files will get scaled by this factor from the origin of the coordinate system. They are not scaled individually from the centre of each mesh, but all from the coordinate origin.\n\nThe following options are available when exporting to 3MF:\n* Selection only: Only export the objects that are selected. Other objects will not be included in the 3MF file.\n* Scale: A scaling factor to apply to the models in the 3MF file. The models are scaled by this factor from the coordinate origin.\n* Apply modifiers: Apply the modifiers to the mesh data before exporting. This embeds these modifiers permanently in the file. If this is disabled, the unmodified meshes will be saved to the 3MF file instead.\n* Precision: Number of decimals to use for coordinates in the 3MF file. Greater precision will result in a larger file size.\n\nScripting\n----\nFrom a script, you can import a 3MF mesh by executing the following function call:\n\n```\nbpy.ops.import_mesh.threemf(filepath=\"/path/to/file.3mf\")\n```\n\nThis import function has two relevant parameters:\n* `filepath`: A path to the 3MF file to import.\n* `global_scale` (default `1`): A scaling factor to apply to the scene after importing. All of the mesh data loaded from the 3MF files will get scaled by this factor from the origin of the coordinate system.\n\nYou can export a 3MF mesh by executing the following function call:\n\n```\nbpy.ops.export_mesh.threemf(filepath=\"/path/to/file.3mf\")\n```\n\nThis export function has five relevant parameters:\n* `filepath`: The location to store the 3MF file.\n* `use_selection` (default `False`): Only export the objects that are selected. Other objects will not be included in the 3MF file.\n* `global_scale` (default `1`): A scaling factor to apply to the models in the 3MF file. The models are scaled by this factor from the coordinate origin.\n* `use_mesh_modifiers` (default `True`): Apply the modifiers to the mesh data before exporting. This embeds these modifiers permanently in the file. If this is disabled, the unmodified meshes will be saved to the 3MF file instead.\n* `coordinate_precision` (default `4`): Number of decimals to use for coordinates in the 3MF file. Greater precision will result in a larger file size.\n\nSupport\n----\nThis add-on currently supports the full [3MF Core Specification](https://github.com/3MFConsortium/spec_core/blob/1.2.3/3MF%20Core%20Specification.md) version 1.2.3. However there are a number of places where it deviates from the specification on purpose.\n\nThe 3MF specification demands that consumers of 3MF files (i.e. importing 3MF files) must fail quickly and catastrophically when anything is wrong. If a single field is wrong, the entire archive should not get loaded. This add-on has the opposite approach: If something small is wrong with the file, the rest of the file can still be loaded, but for instance without loading that particular triangle that's wrong. You'll get an incomplete file and a warning is placed in the Blender log.\n\nThe 3MF specification is also not designed to handle loading multiple 3MF files at once, or to load 3MF files into existing scenes together with other 3MF files. This add-on will try to load as much as possible, but if there are conflicts with parts of the files, it will load neither. One example is the scene metadata such as the title of the scene. If loading two files with the same title, that title is kept. However when combining files with multiple titles, no title will be loaded.\n\nNo 3MF format extensions are currently supported. That is a goal for future development.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghostkeeper%2Fblender3mfformat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghostkeeper%2Fblender3mfformat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghostkeeper%2Fblender3mfformat/lists"}