From 2d704442c805f9fd75d2f99ebce1761f898de24e Mon Sep 17 00:00:00 2001 From: Igor Brylyov Date: Tue, 25 Jan 2022 16:18:07 +0300 Subject: [PATCH] Prepare to use freecad_to_gazebo as ARBench mesh exporter. No need to run as binary --- README.md | 51 +++++-------------- LICENSE => freecad_to_gazebo/LICENSE | 0 .../__init__.py | 0 .../conversions.py | 0 .../freecad_exporter.py | 0 .../mesh_exporter.py | 0 .../model.py | 0 7 files changed, 14 insertions(+), 37 deletions(-) rename LICENSE => freecad_to_gazebo/LICENSE (100%) rename {src/freecad_to_gazebo => freecad_to_gazebo}/__init__.py (100%) rename {src/freecad_to_gazebo => freecad_to_gazebo}/conversions.py (100%) rename {src/freecad_to_gazebo => freecad_to_gazebo}/freecad_exporter.py (100%) rename {src/freecad_to_gazebo => freecad_to_gazebo}/mesh_exporter.py (100%) rename {src/freecad_to_gazebo => freecad_to_gazebo}/model.py (100%) diff --git a/README.md b/README.md index eef44a4..b1c4f14 100644 --- a/README.md +++ b/README.md @@ -13,45 +13,16 @@ This project is in its early stage therefore specific design rules must be follo ## Requirements * [Freecad][freecad] with [A2Plus][a2plus] workspace installed -* [ROS][ros] *Optional*, If you wish to install it as a package ## Usage -#### Clone the repository to catkin workspace -```console -$ git clone https://github.com/Dave-Elec/freecad_to_gazebo.git ~/catkin_ws/src +#### To generate SDF and URDF model from freecad assembly use python call: +```python +freecad_exporter.export_gazebo_model(freecad_assembly_file, model_destination_folder, config) ``` +Note: Only links and joints are generated in the SDF model. To use the model with ros, use the URDF model. -#### Re-build catkin workspace -```console -$ catkin_make -$ source devel/setup.bash -``` - -#### To generate only SDF model from freecad assembly: -```console -# freecad2gazebo --sdf-only -``` - -#### To generate SDF and URDF model from freecad assembly: -```console -$ freecad2gazebo -``` -Note: Only links and joints are generated in the SDF model. to use the model with ros, use the URDF model. - -## Options -```console -$ freecad2gazebo [--sdf-only] [--noexport] [--config ] -``` - -**--sdf**: Export only SDF. - -**--noexport**: Don't export mesh files. - -**--config**: Use other configuration file. (default is `robot_config.json` inside a directory the same as the assembly file). - - -## Example config file +## Config specification ```json { "name": "robot_name", @@ -66,16 +37,22 @@ $ freecad2gazebo [--sdf-only] [--noexport] [--co }, "joints_pid": {"p": 20.0, "i": 10.0, "d": 0.0, "i_clamp": 0.0}, "root_link": "base_link", - "ros_package": "humanoid_17dof_description" + "ros_package": "humanoid_17dof_description", + "sdf_only": false, + "export": true } ``` +**sdf_only**: Export only SDF. + +**export**: Export mesh files. + + ## Future plans * Extend collada exporter to export materials from assemblies. * Create a FreeCAD workbench to interactively assign joints and export to gazebo. -* Reduce set of design rules by making it more robust and general perpouse. +* Reduce set of design rules by making it more robust and general purpose. * Support any valid structures of assemblies. [freecad]:https://freecadweb.org [a2plus]:https://github.com/kbwbe/A2plus -[ros]:https://ros.org diff --git a/LICENSE b/freecad_to_gazebo/LICENSE similarity index 100% rename from LICENSE rename to freecad_to_gazebo/LICENSE diff --git a/src/freecad_to_gazebo/__init__.py b/freecad_to_gazebo/__init__.py similarity index 100% rename from src/freecad_to_gazebo/__init__.py rename to freecad_to_gazebo/__init__.py diff --git a/src/freecad_to_gazebo/conversions.py b/freecad_to_gazebo/conversions.py similarity index 100% rename from src/freecad_to_gazebo/conversions.py rename to freecad_to_gazebo/conversions.py diff --git a/src/freecad_to_gazebo/freecad_exporter.py b/freecad_to_gazebo/freecad_exporter.py similarity index 100% rename from src/freecad_to_gazebo/freecad_exporter.py rename to freecad_to_gazebo/freecad_exporter.py diff --git a/src/freecad_to_gazebo/mesh_exporter.py b/freecad_to_gazebo/mesh_exporter.py similarity index 100% rename from src/freecad_to_gazebo/mesh_exporter.py rename to freecad_to_gazebo/mesh_exporter.py diff --git a/src/freecad_to_gazebo/model.py b/freecad_to_gazebo/model.py similarity index 100% rename from src/freecad_to_gazebo/model.py rename to freecad_to_gazebo/model.py