# 2.3: Physical Units

On installing Karamba3D one can specify the family of physical units to be used for input and results. The default option is metric (e.g. meters, centimeters, degree Celsius, Newtons, …) but Karamba3D can also deal with Imperial units (e.g. feet, inch, degree Fahrenheit, kiloponds, …).

{% hint style="info" %}
The set of units to be used can be changed any time by editing the [“karamba.ini”](broken-reference) file.
{% endhint %}

Depending on the family of units Karamba3D interprets geometric input either as meters or feet by default. The kind of physical units that components expect to receive shows up in the tool-tip which appears when the mouse pointer hovers over an input-plug.

Changing the type of physical units during the creation of a GH definition may give rise to problems: The help text of Grasshopper components does not change dynamically. Switching from SI to Imperial Units leaves the help text of those components already placed on the canvas unaltered. The interpretation of the input values however changes. Opening a GH definition with a Karamba3D versions with differently set physical units entails the same problem.

Karamba3D comes with databases for predefined cross sections and materials. The properties there are given in SI units. The same applies to physical constants (e.g. “gravity”) defined in the **“karamba.ini”**-file.

Throughout the rest of this manual SI units will be used exclusively in order to ensure good readability. When specific differences exist between using Karamba3D with Imperial Units and SI units, this will be mentioned in the text.

## Non-default Physical Units

In case of very small or very large models the default physical units may become cumbersome to work with. The "karamba.ini"-file contains three parameter settings to change the basic physical units which Karamba3D uses for internal calculation and geometry input from Rhino: "**UnitLength**", "**UnitForce**" and "**UnitMass**" (see fig. 2.3.1). Possible values for the unit-identifiers are listed in the karamba.ini-file as comments. All input- and output values will be converted to and fro these units. The units can be arbitrarily mixed - make sure however not to use imperial- and SI-units at the same time.

As a short-cut for setting the unit for geometric input, the "Settings"-components provides a corresponding drop-down-list. In order that the settings-component gets executed before all others on loading the definition, one needs to select the settings-component and press Ctrl+B before saving.

![Fig. 2.3.1: snippet of the "karamba.ini"-file which sets the basic physical units.](https://442610158-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2F-MgycpBYv4AwMHskdb83%2F-MgyhAcEHJeLhMWgZxw_%2Fgrafik.png?alt=media\&token=6f1afe77-09ff-4f5c-872f-cbd8ca9152bb)

\
The basic physical units serve for internal book-keeping and geometry input from Rhino. In order to change the physical units for input and output use the "CustomUnits"-parameter in "karamba.ini" (see fig. 2.3.2). This parameter expects a list of comma-separated terms of the form "'original unit'>'custom unit'". If handed over an empty list the default units apply.

![Fig. 2.3.2: Definition of custom physical units for input and ouput.](https://442610158-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2F-MgykfLvPVlUUqlkxxvS%2F-MgyktT_2upx-vKWp_VX%2Fgrafik.png?alt=media\&token=d887e923-0b5c-40d1-aa5a-05f71db3d734)

The new units apply to all Karamba3D components. The help-text of input- and output-plugs of existing components will not change however - only that of newly added ones.
