Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bugs in sdf_exporter.py #2678

Open
wants to merge 1 commit into
base: gz-sim9
Choose a base branch
from
Open

Conversation

mahit2609
Copy link

Fix Blender SDF Export Tool for Blender 4.2.3
Overview
This PR fixes compatibility issues with Blender 4.2.3, as the original code was non-functional in newer Blender versions. The changes include API updates and bug fixes to ensure proper functionality.
Key Changes

Updated code to work with Blender 4.2.3's API
Fixed broken light handling and material processing
Updated type checks and property access to match current Blender standards

Notes

Tested working on Blender 4.2.3
Previous version was non-functional on newer Blender releases
Maintains same export format for model.dae, model.sdf, and model.config files

@mahit2609 mahit2609 requested a review from mjcarroll as a code owner November 16, 2024 18:06
@github-actions github-actions bot added 🏛️ ionic Gazebo Ionic 🪵 jetty Gazebo Jetty labels Nov 16, 2024
Copy link
Contributor

@azeey azeey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution. Would you mind signing-off on your commits (see contributing guide.


# Tested Blender version: 2.82/3.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if this updated script still works with 2.82/3.2?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no i am not sure i forgot to take it out while i was fixing the code for the 4 , but the code which is already there wont work even for 2.82

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. In that case, can you add a comment saying which version of Blender this is tested against?

Copy link
Contributor

@azeey azeey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for the contribution! I started reviewing it, but I quickly realized there are a lot of unrelated changes (e.g. style, removed comments, etc.) that make it harder to review. Could you please revert those changes keeping only the relevant changes that fix the bugs so the PR is as small as possible?

filter_folder=True,
filemode=8,
)
bpy.ops.wm.collada_export(filepath=prefix_path+meshes_folder_prefix+dae_filename,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we keep the path.join here? That is preferred over using + for paths. And since there aren't any other changes, could you revert this to the previous version to reduce the diff as much as possible.

Comment on lines +11 to +17
dae_filename = 'model.dae'
sdf_filename = 'model.sdf'
model_config_filename = 'model.config'
lightmap_filename = 'LightmapBaked.png'
model_name = 'my_model'
meshes_folder_prefix = 'meshes/'

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to remove the extra space. Please revert and minimize the diff.


########################################################################################################################
### Exports model.dae of the scene with textures, its corresponding model.sdf file, and a default model.config file ####
########################################################################################################################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason for removing this comment?

#### export sdf xml based off the scene #####
#############################################
sdf = ET.Element("sdf", attrib={"version": "1.8"})
mesh_objects = [o for o in objects if o.type == 'MESH']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert unnecessary changes. This is only changing double quotes to single quotes. The rest of the file uses double quotes and I think it's best to stick with that.

@azeey azeey self-assigned this Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏛️ ionic Gazebo Ionic 🪵 jetty Gazebo Jetty
Projects
Status: In review
Development

Successfully merging this pull request may close these issues.

3 participants