# New in Karamba3D 2.2.0

{% embed url="<https://youtube.com/playlist?list=PLuMiJ9JUcOVmj42cE8tUj1nJYnbZLmbpY>" %}

These are the new features of Karamba3D 2.2.0

* **"ShellSection"**-component for retrieving cross section forces and other results along arbitrary sections of shells (see section [3.6.15](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.15-shell-sections)).
* Additional types of loads for beam- and truss-elements (see section [3.2.2](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.2-load/3.2.2-beam-loads)). The **"Imperfection"**- and "**Line-Load"**-option of the **"Loads"**-component were moved to the **"Beam Loads"**-component. The latter are now available as the more flexible **"Block"**-loads.
* Line joints for shells (see section [3.4.3](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.4-joint/3.4.3-line-joint)).
* **"Cross Section Properties"**-component for calculating geometric properties of arbitrary cross sections (see section [3.9.17](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.8-utilities/3.9.17-cross-section-properties)).
* Membrane elements (see section [3.1.9](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.1-model/3.1.9-mesh-to-shell#shells-and-membranes))
* A refined element selection component for retrieving elements via their identifier, color, cross section, material, characteristic length or type (see section [3.1.16](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.1-model/3.1.16-select-elements)).
* On-the-fly installation via YAK (see section [1.1](https://manual-2.karamba3d.com/1-introduction/a.2-installation#installation-via-the-yak-package-manager))
* Automatic generation of value-lists for several components (e.g. load-case input, degree of freedoms for input at supports,...). See section [2.1](https://manual-2.karamba3d.com/2-getting-started/2-getting-started-1/karamba3d-entities#graphical-user-interface).
* Specification of color ranges via context-menu for the **"ModelView"**-, **"BeamView"**- and **"ShellView"**-components.
* Rendering beams and shells with cross sections results in watertight meshes with normal vectors pointing outward.&#x20;
* Different types of strength hypotheses for bi-axial stress states and differentiation between tensile and compressive strength available for materials (see section [3.5.1](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.4-material/3.4.1-material-properties)).
* The material database has been enlarged (see section [3.5.3](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.4-material/3.4.3-read-material-table-from-file)).
* Physical units of calculation and input quantities can be freely specified (see section [2.3](https://manual-2.karamba3d.com/2-getting-started/2-getting-started-1/2.3-physical-units#non-default-physical-units)).
* **"Settings"**-component to update program options within Grasshopper (see section [3.0.1](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.0-settings/3.0.1-settings)).
* **"Optimize Cross Section"**-component (see section [3.6.8](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.5-algorithms/3.5.8-optimize-cross-section))
  * Cross section design according to Eurocode3: 'SwayFrame'-option added for more economic design of structures where buckling involves no sideways sway.
  * Input 'MaxDisp' can be supplied with a vector for specifying the length and direction component for limiting displacements.
* **"ModelView"**-component: Input-plug 'DispDir' lets one specify a direction for selecting displacement-components to be displayed. When supplying a plane, displacements get projected onto it. See section [3.7.1](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.1-modelview).
* **"ShellLineResults"**-component: added display-option 'TransverseShear' for generating principal shear lines. See section [3.7.13](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.12-line-results-on-shells#transverse-shear).
* Added 'Dofs' input-plug to **"PrescribedDisplacements"**- and **"Support"**-component.See sections [3.2.4](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.2-load/3.2.3-prescribed-displacements) and [3.1.16](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.1-model/3.1.16-support) respectively.
* **"Shell View"**: Added cross section rendering without colors. See section [3.7.12](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.11-shellview).
* Load-cases identifiers: Names can be used instead of numbers.
* **"JointAgent"**-component: the given criteria for joint placement are combined via 'and' instead of 'or'. See section [3.4.2](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.4-joint/3.3.5-beam-joint-agent).
* **"LineToBeam"**-component: it is now possible to input poly-lines and splines and derive the buckling length from these; multiple names can be given to beams. See section [3.1.6](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.1-model/3.1.6-line-to-beam).
* Import and export of models via Json or Bson (see section [3.8.2](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.7-export/3.8.2-json-bson-export-and-import))
* The **"Element Query"**-component can now be used to get the mass, surface, volume or meshes of specified elements (see section [3.7.3](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.7.3-element-query)).
* **"Node Forces"**-component: Retrieves the truss or beam elements, their cross section forces and directions around a node (see section [3.7.11](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.10-resultant-section-forces)).
* In all result-components where formerly only element-identifiers could be input to specify elements for which to get results, the elements themselves can now be used.
* **"Nodal Displacements"**- and **"Support"**-component: node-index or position can now be used to specify the node where to get results. See sections [3.7.4](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.3-nodal-displacements) and [3.7.6](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.5-reaction-forces).
* **"Beam Displacements"**- and **"Beam Forces"**-component: The position of results along the beam can now be selected via parameter values. See sections [3.7.9](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.8-beam-displacements) and [3.7.10](https://manual-2.karamba3d.com/3-in-depth-component-reference/3.6-results/3.6.9-beam-forces).
* Scripting: It is now possible to attach user-data to all Karamba3D objects. See the example 'Karamba\Examples\TestExamples\Scripts\UserData.gh' in the Karamba3D installation folder.
* Point-masses: The point-masses no longer enter the total mass as output by the **"Assemble"**-component. In this way it is easier to assess the mass of the structure.
