bambulab / BambuStudio

PC Software for BambuLab and other 3D printers
GNU Affero General Public License v3.0
2.23k stars 300 forks source link

Load of 3mf file from FreeCAD 0.21 fails with error "no geometry" #3012

Open tomunger opened 12 months ago

tomunger commented 12 months ago

Bambu Studio Version

1.7.7.89

Where is the application from?

Bambu Lab Official website

OS version

mac os 14.1.1

Additional system information

Model Name: MacBook Pro Model Identifier: MacBookPro18,1 Model Number: Z14W00108LL/A Chip: Apple M1 Pro Total Number of Cores: 10 (8 performance and 2 efficiency) Memory: 32 GB System Firmware Version: 10151.41.12 OS Loader Version: 10151.41.12 Serial Number (system): Y204K36JTH Hardware UUID: 0D9E2079-39C4-531E-9B25-112185972DE5 Provisioning UDID: 00006000-001238C41A38801E Activation Lock Status: Enabled

Printer

X1C

How to reproduce

  1. Open Bambu Studio
  2. Open the attached 3mf file
  3. Load fails with error "The file does not contain any geometry data"

Actual results

Most of my 3mf exports from FreeCAD 0.21 fail. This file represents a very simple object created with a sketch and single pad.
I can open the 3mf file with FreeCAD and it shows the expected geometry.
I can export to STL and load those into a Bambu Studio project. Exports from FreeCAD 0.20 to 3mf never failed in this way. It may be some thing new about version 0.21

Expected results

It should open the file and display the objects.

Project file & Debug log uploads

liftmaster_remote_clip.3mf.zip bambu studio log files.zip

Checklist of files to include

michalxo commented 11 months ago

Hello, I have experienced the very same problem. First it opened 3mf file without problem. Then after more modifications, it started to shout this bug. But it's the same file. biddingbox3.3mf.zip In attached zip are 2 files from same project. Older version works fine, newer is broken.

Both created in FreeCAD 21 & latest BambuStudio 1.8.0.62

Thank you for looking at this.

DanBao-Bambu commented 11 months ago

@michalxo Thank you for providing the 3mf file, which has given me more information. I don't know if you know that a 3mf file is a model file saved in a certain format, and its model information is saved in "./3D/3dmodel. model". At least the file "biddingbox3.3mf" is described as containing two objects, but their types are saved as "surface" as follows: image That's why Bambu Studio is unable to parse the model. I'm not sure if any of your settings have been changed in FreeCAD, or if the default type in the new version of FreeCAD has been replaced with "surface". Please check.

When I manually change the surface to model, it can be recognized and loaded by BambuStudio.

Schnulli87 commented 11 months ago

I have experienced the same behavior with Bambu Studio 1.8.2.56 and FreeCAD 0.21.1. After reading the comments on this issue, I did some tests on my system, as I have been using the .3mf export for a long time with many versions of Cura and FreeCAD and never experienced anything similar: I tried to load a model, that I had already previously exported and sliced in Cura, in Bambu Studio which gave me the error message from the first post. I loaded the same file in Cura to confirm that the file is technically ok. Then, I selected the part in FreeCAD and exported it again. Again, it failed loading in Bambu Studio, while working in Cura. Now, I selected the last modification of this part in FreeCAD and exported it. Now, Bambu Studio complained, that the design is from another program, but loaded the model just fine. After switching to Cura and clicking "reload changed file", the part was suddenly rotated 90°. It seems, FreeCAD does a different Export, based on the selection in the model tree. I confirmed this behavior with several other components from my designed device. If a model is exported to .3mf from FreeCAD and the "Part" is selected in the component tree, then Bambu Studio will often not recognize the design. Instead, the last design-step needs to be selected when exporting the model.

FreeCAD

I could not find out, when exactly FreeCAD changes its export behavior, as I had a simple design (extruded sketch), that showed this behavior after adding a second extrusion on its surface. But a quickly sketched part for this text (extruded sketch and an additional extrusion on its surface) worked all the time in Bambu Studio. Also, after restarting FreeCAD and exporting the invisible part, it could be loaded in Bambu Studio.

To sum up: There might be a difference (bug? feature?) in the export function of FreeCAD, but as the model is always completely ok and can be loaded in other slicer SW (only Cura tested), it should be fixed in Bambu Studio to allow loading of "both" exported models.

Both .3mf versions of the first design from my screenshot are attached (red & green selection). Clip_ok_not_ok.zip

tokamac commented 9 months ago

I have been experiencing the same issue lately, exporting solid models from Shapr3D as STEP files and failing at importing them in latest BambuStudio (1.8.4.51):

error

Several remarks:

@DanBao-Bambu, I have emailed you one of the problematic STEP files so you can investigate this issue further.

tomunger commented 9 months ago

In freeCAD 0.22 (development release) this is no longer a problem. I'm able to export to 3MF files and Bambu Studio loads them.

tokamac commented 9 months ago

Besides the potential hierarchy problem of the weird path and naming conventions generated by FreeCAD (pointed out by @DanBao-Bambu and @Schnulli87 above) and the version of FreeCAD correcting this behavior (as you said just above), I suspect that this issue is maybe also related to whether or not the 3D models (inside 3MF files or standalone, exported from FreeCAD or others modeling softwares) are mesh-based (like STLs) or solid-based (like STEP files).

The 3MF file format was developed in the first place as a mesh-based definition for 3D CAD models (like STL). But it also acts as a "container" insofar as it can also include non-mesh models. It all depends on the export settings.

Bambu Lab has offered the possibility to import STEP files (solid-based) in BambuStudio. As it happens, the recording format for BambuStudio project files is 3MF. This proves that such file format accepts either mesh-based STL files or solid-based STEP files.

The issue persists with some STEP files.

I prefer to use STEP instead of mesh 3MF or STL whenever I can, because solid-based CAD models are smoother by definition, they are not triangulated before importation. To print circles and arcs, this rocks in conjunction with the setting "Arc fitting" in the slicer.

So I'd like Bambu Lab to investigate the import issue you raised (empty geometry), but specifically concerning solid-based STEP files. @DanBao-Bambu, should I recreate a similar but distinct new issue regarding this?

BambulabRobot commented 3 months ago

This issue has been marked as inactive due to no response for 90 days.

DanBao-Bambu commented 3 months ago

@tokamac I'm very sorry for losing this issue. If you are still concerned about this issue, you can create a new one and attach the problematic step file. If not, I will reproduce the problem you mentioned locally. Thank you for providing the information.

dtgolder commented 2 weeks ago

This is still an issue (20241108)...happened to me today (but for some models I created last week, everything seemed to work fine).

What solved it for me is the check the "Use legacy export function" when exporting to a STEP file. The legacy import loaded correctly into BambuStudio.

My assumption (perhaps incorrect) is that something changed in the FreeCAD export...

(Note: using FreeCad 0.21.2)

Enclosed sample file that does not export unless the legacy export box is checked... Gasket Flange Example.tar.gz

bcwhite-code commented 3 days ago

I came here searching the same problem and was about to add my own info... when I realized that the body of my creation was not inside the part and so the part geometry really was empty. Mentioning this just in case someone else ends up here.