In simumatik anything can be considered a component: a product, sensor, motor, robot or even a plc. The following classification may help to identify components that share some properties or functionalities and require some specific considerations. Once classified, we recommend to follow the guidelines and recommendations in the corresponding tutorial before starting to create the component (next chapter). We also recommend to base the new component on a similar one and modify the necessary attributes instead of creating it from scratch. The suggested classification is the following:
A – Decorative components:
Components with no physics, behavior or ports. They can be modelled using just one or several visuals. Consider using as simple as possible 3D assets given that they do not provide any functionality to the model (i.e. Simumatik logo). See the course Building a purely visual component and the chapter Geometry and Appearance.
B – Basic components without physics:
Components that do not require physics but may have some functionality which requires some behavior logic and even ports to interact with other components. They do not interact with other components using the physics engine, so just one link with no mass is used. One or several visuals can be used to animate the component and the “user_action” may be useful to allow user interaction. (i.e. a Button, Motor contactor, Fuse,…) See the course Building a component with ports and behavior and the chapters Interfaces and Geometry and Appearance.
C – Basic components with physics:
Components that just have a unique link (base_link) and use physics to model the collision shape or dynamics. This group includes components that represent mechanical parts that interact with other components through the collision shape and may or not be dynamic, i.e. conveyors, ramps, buffers, magazines. It also includes components that represent products and are always dynamic, i.e. boxes, pallets. It is important to consider the importance of attributes such mass, friction and bounciness to get the desired dynamic results. The collision surface is a feature that can easily replicate conveyor behavior. In addition, it is important to pay attention to the collision shapes in order to reduce computational cost. See the course Building a component with textures and multiple visuals and the chapters on Geometry and Appearance and Physics.
D – Sensoric components:
Components which include specific features to interact with the physics engine and detect components within a range. This group includes simple components such inductive or photoelectric sensors, but can also include RFID devices, cameras, etc. They require understanding how the physics engine handles collision filtering using the collision_tag variable. Usually, these components can be modelled without collision shapes. Several visuals can be used to display sensor status. See the chapter on Physics.