{"id":273,"date":"2020-02-20T12:17:00","date_gmt":"2020-02-20T17:17:00","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/jt-open\/?p=273"},"modified":"2026-03-26T08:30:17","modified_gmt":"2026-03-26T12:30:17","slug":"using-multibody-simulation-in-ar","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/jt-open\/using-multibody-simulation-in-ar\/","title":{"rendered":"Using Multibody Simulation in AR"},"content":{"rendered":"\n<p class=\"has-very-light-gray-color has-vivid-cyan-blue-background-color has-text-color has-background\">Technische Universit\u00e4t Darmstadt<br>Department of Computer Integrated Design<br>Johannes Olbort, M.Sc. ; Prof. Dr.-Ing. R. Anderl<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"466\" height=\"600\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Dik-Logo-466x600.png\" alt=\"Technische Universit\u00e4t Darmstadt Dik\" class=\"wp-image-279\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Dik-Logo-466x600.png 466w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Dik-Logo.png 490w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><figcaption>Technische Universit\u00e4t Darmstadt<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Using Multibody Simulation in Augmented Reality<\/h4>\n\n\n\n<p>The current state of the art allows to transfer Multibody Simulations (MBS) from a simulation program to the AR. This has some advantages and allows for example the exact simulation of CAD models in reality by means of an AR device. In the following blog I will show you how to transfer a MBS of a CAD model from Siemens NX to the AR of the Microsoft HoloLens. Thereby the MBS definition from NX is taken over and made available to the HoloLens.<\/p>\n\n\n\n<p><strong>Basics: Transfer of simple CAD models into the AR<\/strong><\/p>\n\n\n\n<p>The basis for the transfer from a MBS to the\nAR is firstly the fact, that simple CAD models can be transferred to the AR of\nthe HoloLens. In earlier research work this was investigated with regards to\nthe most suitable programs and tools. Without going into too much detail, we\nhave developed a process chain that transfers CAD models into the AR of the\nHoloLens. The process chain starts with a CAD program, for example Siemens NX,\nand is transferred to a Game Engine via a DCC program, for example 3ds Max.\nWhen using a Game Engine, you can compile an application for the HoloLens\ndirectly. As a Game Engine Unity has proven to be the most suitable. Using this\nprocess chain, CAD models can now be transferred directly as applications to\nthe HoloLens. Interesting in this respect is the so-called JT Open Plugin,\nwhich enables the import of JT-files into Unity. This enables JT-files to be\ndisplayed in the HoloLens. <\/p>\n\n\n\n<p>In current research work we are dealing with\nextensive process chains, where CAD models contain a MBS or further\ninformation. As an example, we will now look at a factory planning scenario, where\nit is important to simulate the movement of robots in reality using the\nHoloLens.<\/p>\n\n\n\n<p><strong>The Process chain from CAD to MBS to AR<\/strong><\/p>\n\n\n\n<p>The difference between the import of a pure\nCAD model and the import of a CAD model with a defined MBS is the so-called Kinematic\nModule, which must be created in this context. The Kinematic Module creates an\ninterface to transfer information into the AR. The informational flow of the\ndata can be shown with activity charts, as we see below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"861\" height=\"174\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture1.png\" alt=\"The process chain from CAD to MBS to AR\" class=\"wp-image-276\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture1.png 861w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture1-600x121.png 600w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture1-768x155.png 768w\" sizes=\"auto, (max-width: 861px) 100vw, 861px\" \/><figcaption>The process chain from CAD to MBS to AR<\/figcaption><\/figure>\n\n\n\n<p>Here we proceed similar to the basic approach\nabove, but we do this without a DCC program and instead insert the Multibody Simulation\ntogether with the Kinematic Module.<\/p>\n\n\n\n<p>We build a robot arm consisting of 6 separate\nassemblies and a gripper in Siemens NX. The motion body and the joints and\ndrives are then defined for the Multibody Simulation. This allows the necessary\ncalculations for the simulation to be carried out. In any case, the results\nshould be evaluated to avoid unpleasant surprises.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"434\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture2.png\" alt=\"RobotArm\" class=\"wp-image-277\"\/><figcaption>A robot arm consisting of 6 separate assemblies and a gripper<\/figcaption><\/figure>\n\n\n\n<p>Now we&#8217;ll get started on the Kinematic Module.\nThe <em>Kinematic Module<\/em> essentially has\nthree parts: the <em>Reader<\/em>, <em>Converter<\/em> and the <em>Factory<\/em>. The <em>Reader<\/em> reads\nXML files and gives a list of joints as output. The <em>Converter<\/em> then transfers the vectors of the Game Object into a\ncoordinate system, whereupon the <em>Factory<\/em>\ncreates the joints and defines the properties. It is only necessary to read in\nand adjust the data of the Multibody simulation. The <em>Kinematic Module<\/em> then creates all necessary kinematic elements\nautonomously.<\/p>\n\n\n\n<p>This created data can now be exported and\ninserted into Unity. During a test run, you can see the created joints in Game Mode.\nThe robot arm can be controlled and new positions of the Multibody system can\nbe set easily.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"410\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture3.png\" alt=\"UnityControl\" class=\"wp-image-278\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture3.png 667w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Picture3-600x369.png 600w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><figcaption>Editor Mode and Game Mode in Unity<\/figcaption><\/figure>\n\n\n\n<p>This process however is very time consuming\ndue to the high number of degrees of freedom and the restricted functions of\nthe Game Engine environment. Also, if a strong limitation of the degrees of\nfreedom is reached, this often results in an unrealistic behavior of the\nMultibody system due to the segregation of the joints from each other.<\/p>\n\n\n\n<p>Now you can use the MBS for further projects\nin Unity. Since we are pursuing the goal of transferring the MBS to the\nHoloLens, some HoloLens specific settings will be set and the MBS will be\ntransferred to the HoloLens using the Universal Windows Platform. The final\nresults can be seen in the following video:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/MBS-in-MR-720.mp4\"><\/video><figcaption>Robot Arm in Augmented Reality<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post Johannes Olbort M.Sc. and Prof. Dr.-Ing. R. Anderl will teach you how to transfer a Multibody Simulation from a Siemens NX CAD model to Augmented Reality using JT and Microsoft HoloLens.<\/p>\n","protected":false},"author":47922,"featured_media":279,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[86,91],"tags":[3,125],"industry":[],"product":[198],"coauthors":[],"class_list":["post-273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning-resources","category-video","tag-jt-open","tag-jt-open-program","product-jt-open"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/12\/2020\/02\/Dik-Logo.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/users\/47922"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/comments?post=273"}],"version-history":[{"count":5,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/posts\/273\/revisions"}],"predecessor-version":[{"id":386,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/posts\/273\/revisions\/386"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/media\/279"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/media?parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/categories?post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/tags?post=273"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/industry?post=273"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/product?post=273"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/jt-open\/wp-json\/wp\/v2\/coauthors?post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}