

{"id":904,"date":"2018-03-23T15:08:52","date_gmt":"2018-03-23T15:08:52","guid":{"rendered":"http:\/\/project.inria.fr\/softrobot\/?page_id=904"},"modified":"2022-11-07T09:23:40","modified_gmt":"2022-11-07T09:23:40","slug":"from-design-to-mesh-generation-using-freecad-and-gmsh","status":"publish","type":"page","link":"https:\/\/project.inria.fr\/softrobot\/documentation\/from-design-to-mesh-generation-using-freecad-and-gmsh\/","title":{"rendered":"From design to mesh generation using FreeCAD and GMSH"},"content":{"rendered":"<h1 style=\"text-align: center;\">From design to mesh generation<br \/>\nusing FreeCAD and GMSH<\/h1>\n<p>&nbsp;<\/p>\n<p>In order to simulate a mechanical object using Finite Element Modeling (FEM), a discrete version of its volume is required. This volume, referred as volumetric mesh will serve as a domain for FEM computation. The aim of this tutorial is to explain how to design a closed surface description made of triangles, and create a volumetric mesh from it. Several tools exist for 3D modelisation such as OpenSCAD (<a href=\"http:\/\/www.openscad.org\/\">http:\/\/www.openscad.org\/<\/a>), FreeCAD (<a href=\"https:\/\/www.freecadweb.org\/\">https:\/\/www.freecadweb.org\/<\/a>), or Blender (<a href=\"https:\/\/www.blender.org\/\">https:\/\/www.blender.org\/<\/a>). Several tools also exist for volume meshing such as GID (<a href=\"http:\/\/www.gidhome.com\/\">http:\/\/www.gidhome.com\/<\/a>), CGAL (<a href=\"http:\/\/www.cgal.org\/\">http:\/\/www.cgal.org\/<\/a>), or Gmsh (<a href=\"http:\/\/geuz.org\/gmsh\/\">http:\/\/geuz.org\/gmsh\/<\/a>). For CGAL, a dedicated plugin is available within the SOFA framework (see a documentation <a href=\"https:\/\/project.inria.fr\/softrobot\/documentation\/volumetric-mesh-generation-using-cgal-plugin\/\">here<\/a>).<\/p>\n<p>In the following, we will show an example using FreeCAD for the design and GMSH for the mesh generation. We will also try to give useful links.<\/p>\n<h2>A. Design and Modeling using FreeCAD<\/h2>\n<p>In this section we will give a quick overview of how to design a soft pneumatic actuator using FreeCAD, together with links to more detailed explanations.<\/p>\n<h3>1. Sketch<\/h3>\n<p>The first step is to sketch your structure. In FreeCAD you have several <a href=\"https:\/\/www.freecadweb.org\/wiki\/Workbenches\">workbench<\/a> (Part, Sketcher&#8230;) showing the different corresponding tools. Here we choosed the &#8220;complete&#8221; workshop, which displays a sample of all the workshops. Clic on sketch (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-931\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-04.png\" alt=\"\" width=\"23\" height=\"26\" \/><\/a>). When sketching, keep in mind that there are tools to automatically generate symetries. Here are the tools to draw your sketch (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-41.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-932\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-41.png\" alt=\"\" width=\"212\" height=\"25\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-41.png 254w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-41-150x18.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-46-41-250x30.png 250w\" sizes=\"auto, (max-width: 212px) 100vw, 212px\" \/><\/a>) and to set constraints (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-47-05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-933\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-47-05-300x18.png\" alt=\"\" width=\"317\" height=\"19\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-47-05-300x18.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-47-05-150x9.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-47-05.png 543w\" sizes=\"auto, (max-width: 317px) 100vw, 317px\" \/><\/a>). See for exemple this <a href=\"https:\/\/www.youtube.com\/watch?v=Mo0t0xZ43Z0\">video<\/a> for a detail tuto.<br \/>\nWhen working with cavity, you can either include the cavity in your sketching or create the cavity later and use the boolean operation tool (difference) to remove the matter.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-909\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13-300x165.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-13.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>2. Revolve<\/h3>\n<p>The next step is to use the &#8220;revolve&#8221; tool (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-51-34.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-934\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-51-34.png\" alt=\"\" width=\"30\" height=\"25\" \/><\/a>) to create the solid. See for example this <a href=\"https:\/\/www.youtube.com\/watch?v=D0fd4iPP8iI\">video.<\/a><\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-910\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-13-46.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>3. Mirror and Fusion<\/h3>\n<p>Now we use the &#8220;mirror&#8221; tool (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-52-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-935\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-52-12.png\" alt=\"\" width=\"25\" height=\"23\" \/><\/a>) to get our final shape.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-911\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-14-06.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>The structure is in two parts:<\/p>\n<ul>\n<li>the first one generated by the &#8220;revolve&#8221; tool<\/li>\n<li>and the second one generated by the &#8220;mirror&#8221; tool<\/li>\n<\/ul>\n<p>Select both objects and combine them into a single object using the &#8220;fusion&#8221; tool (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-51-58.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-936\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-51-58.png\" alt=\"\" width=\"139\" height=\"29\" \/><\/a>).<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-912\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-15-01.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>4. Fillet<\/h3>\n<p>You can change the view of the object (right clic on the model, appearance&#8230;). Now we can both the surface and the inner cavity. Here we will add what we call a &#8220;fillet&#8221; (<a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-54-24.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-937\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-15-54-24.png\" alt=\"\" width=\"25\" height=\"24\" \/><\/a>). We mainly remove the sharp angles to ease the 3D print of the mold, and the casting stage of the silicone.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-914\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-18-19.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a> <a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-915\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-19-14.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h2>B. Volumetric mesh generation using GMSH<\/h2>\n<p>Now we have our 3D structure. Using FreeCAD you can directly export your mesh using the &#8220;.stl&#8221; or &#8220;.obj&#8221; format (sufficient for 3D printing). Becareful if you want to use this mesh for simulation, either for the visualisation or the collision model, because the mesh may not be suited. There is often not enough points to allow deformations (see the result in the following images). Deformations are only possible on the nodes of the mesh, a triangle can not bend.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23.png\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-926 alignnone\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23-300x165.png\" alt=\"\" width=\"300\" height=\"165\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-23.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-927 alignnone\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47-300x165.png\" alt=\"\" width=\"300\" height=\"165\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-14-32-47.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>1. Export from FreeCAD and load<\/h3>\n<p>To generate a 2D mesh and a 3D mesh adapted to simulation, we propose to use GMSH. Using FreeCAD, export your mesh in &#8220;.<a href=\"https:\/\/en.wikipedia.org\/wiki\/Boundary_representation\">brep<\/a>&#8221; format. Load the &#8220;.brep&#8221; file in GMSH.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-916\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-20-55.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>2. Options<\/h3>\n<p>Several options are available to optimize your mesh. We recommend to use the &#8220;MeshAdapt&#8221; algorithm for the 2D generation. You can change the size of the elements (Element size factor) to get fine or coarse meshes.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-917 size-full\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-11.png\" alt=\"\" width=\"481\" height=\"396\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-11.png 481w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-11-300x247.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-11-150x123.png 150w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/a><\/p>\n<h3>3. 2D and 3D mesh generation<\/h3>\n<p>To generate your surfacic 2D mesh simply clic on &#8220;Modules\/Mesh\/2D&#8221;. See the following results.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-918\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-27.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>To generate the volumetric 3D mesh clic on &#8220;Modules\/Mesh\/3D&#8221;. See the following results.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-919\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-22-42.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<h3>4. Visualisation in SOFA<\/h3>\n<p>You can now follow the steps provided in &#8220;SoftRobots\/doc\/tutorials\/Pneunet-Gripper&#8221; to load your mesh into SOFA and simulate pressure actuation.<\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-922\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06-1024x563.png\" alt=\"\" width=\"500\" height=\"275\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-11-48-06.png 1920w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45.png\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<\/a><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-939 size-medium\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45-300x165.png\" alt=\"\" width=\"300\" height=\"165\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-45.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-938 size-medium\" src=\"http:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18-300x165.png\" alt=\"\" width=\"300\" height=\"165\" srcset=\"https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18-300x165.png 300w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18-768x422.png 768w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18-1024x563.png 1024w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18-150x83.png 150w, https:\/\/project.inria.fr\/softrobot\/files\/2018\/03\/Capture-du-2018-03-23-16-04-18.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>From design to mesh generation using FreeCAD and GMSH &nbsp; In order to simulate a mechanical object using Finite Element Modeling (FEM), a discrete version of its volume is required. This volume, referred as volumetric mesh will serve as a domain for FEM computation. The aim of this tutorial is\u2026<\/p>\n<p> <a class=\"continue-reading-link\" href=\"https:\/\/project.inria.fr\/softrobot\/documentation\/from-design-to-mesh-generation-using-freecad-and-gmsh\/\"><span>Continue reading<\/span><i class=\"crycon-right-dir\"><\/i><\/a> <\/p>\n","protected":false},"author":850,"featured_media":0,"parent":13,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-904","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/pages\/904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/users\/850"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/comments?post=904"}],"version-history":[{"count":20,"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/pages\/904\/revisions"}],"predecessor-version":[{"id":1103,"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/pages\/904\/revisions\/1103"}],"up":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/pages\/13"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/softrobot\/wp-json\/wp\/v2\/media?parent=904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}