diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e30c58..cbc0947 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,15 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_CXX_EXTENSIONS OFF) +# Set manifest mode to use vcpkg.json to resolve dependencies +option(VCPKG_MANIFEST_MODE "Enable manifest mode to use vcpkg.json" ON) + +# When ON, vcpkg install is ran every time configure is ran +option(VCPKG_MANIFEST_INSTALL "Install dependencies in manifest mode" ON) + +# Force use of following triplet since thats the only config supported by Creo +set(VCPKG_TARGET_TRIPLET "x64-windows-static-md") + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.19) cmake_policy(SET CMP0111 NEW) endif() diff --git a/README.md b/README.md index ee00ad6..40e480e 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,12 @@ Generate URDF model from CREO Parametric mechanisms. **Since it is under development, we cannot guarantee that the user interface of `creo2urdf` will not implement breaking changes. Be aware of this if you start using the code contained in this repository** ## CREO Parametric versions supported and tested -- `9.0.2` +- `9.0.8.0` ## Assumptions & limitations -- In order to export the urdf of the robot, the relative CREO mechanism has to conform to [these guidelines](https://github.com/icub-tech-iit/cad-libraries/wiki/Prepare-PTC-Creo-Mechanism-for-URDF). -- Subassemblies are **NOT** yet supported. -- The joints are in position 0. +- To export the urdf of the robot, the CREO mechanism has to follow [these guidelines](https://github.com/icub-tech-iit/cad-libraries/wiki/Prepare-PTC-Creo-Mechanism-for-URDF). +- The joints are assumed to be in position 0. - Right now it can handle only **REVOLUTE**, **PRISMATIC** and **FIXED** joints. ## Installation from binaries @@ -19,12 +18,12 @@ Generate URDF model from CREO Parametric mechanisms. > Users are encountering issues using the dll, see https://github.com/icub-tech-iit/creo2urdf/issues/84 > [!NOTE] -> The dll provided has not been unlocked, this means that for using the Toolkit licence is required +> The provided dll has not been unlocked, therefore the Toolkit licence is required for using it > Download `creo2urdf.zip` from the assets of the [latest release](https://github.com/icub-tech-iit/creo2urdf/releases/latest), and extract it in the folder you like.
-Follow the [`Usage`](https://github.com/icub-tech-iit/creo2urdf/tree/master#usage) section instructions for completing the installation.
This archive contains the dll of the plugin and the `text` folder for running it.
+Follow the [`Usage`](https://github.com/icub-tech-iit/creo2urdf/tree/master#usage) section instructions for completing the installation.
## Installation from sources @@ -34,16 +33,16 @@ Right now the `creo2urdf` plugin needs its dependencies to be compiled and linke - Download [vcpkg](https://github.com/microsoft/vcpkg): `git clone https://github.com/microsoft/vcpkg` - Bootstrap vcpkg: `.\vcpkg\bootstrap-vcpkg.bat` -- Run `[path to vcpkg]/vcpkg install --triplet x64-windows-static-md eigen3 yaml-cpp rapidcsv libxml2 assimp idyntree` ### Build `creo2urdf` -- Export `CREO9_INSTALL_PATH` pointing to the Creo9 installation folder, e.g. `C:\Program Files\PTC\Creo 9.0.2.0\Common Files` -- Pass `-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static-md` to the creo2urdf compilation. +- Export `CREO9_INSTALL_PATH` pointing to the Creo9 installation folder, e.g. `C:\Program Files\PTC\Creo 9.0.8.0\Common Files` +- Pass `-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake` to the creo2urdf compilation. +- Run the CMake `configure` step, then build the project: + - Within Visual Studio, you can do: **Project > Configure creo2urdf**, then **Build > Build all** For those who use the CMake integration in Visual Studio, the `-DCMAKE_TOOLCHAIN_FILE` option should not be passed to `CMake command arguments`. Instead, the `vcpkg.cmake` file path must be passed in `CMake toolchain file`. - ## Usage - Put in your CREO working directory the `protk.dat` that is automatically generated by CMake in `${PROJECT_BINARY_DIR}` (e.g. `C:\Users\ngenesio\icub-tech-iit\creo2urdf\build\x64-Release`). @@ -54,16 +53,16 @@ name creo2urdf Startup dll Allow_stop True Delay_start False -exec_file /path/to/creo2urdf.dll -text_dir /path/to/creo2urdf/src/creo2urdf/text +exec_file \path\to\creo2urdf.dll +text_dir \path\to\creo2urdf\src\creo2urdf\text END ``` -- Open CREO Parametric and the first time you will need to accecpt to register the plugin -- Load the mechanism of which you want to export the urdf +- Open CREO Parametric: on the first time, you will need to accept the plugin registration +- Load the assembly mechanism of which you want to export the urdf - Press the button -- Select a yaml and csv configuration files with a format explained in the following sections, and the folder where the urdf and the meshes will be saved. +- Select a yaml and csv configuration files with a format explained in the following sections, and the folder where both the urdf the meshes will be saved. ### Test your installation diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 0000000..a5c943a --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "creo2urdf", + "homepage": "https://github.com/icub-tech-iit/creo2urdf", + "documentation": "https://icub-tech-iit.github.io/creo2urdf/doc/doxygen/doc/html/index.html", + "dependencies": [ + "eigen3", + "yaml-cpp", + "libxml2", + "rapidcsv", + { + "name": "idyntree", + "version>=": "12.4.0" + } + ], + "builtin-baseline": "21bd538cbc3aa687d920d9399befb6c987c87942" +}