Click or drag to resize

Karamba Namespaces

Is used by the Grasshopper-components and provides access to the full range of features. However the interfaces of the classes there may change in the future.
Namespaces
NamespaceDescription
Karamba.Algorithms
Contains classes that perform operations on the model and retrieve response data.
Karamba.CrossSections
Classes for dealing with cross section definitions.
Karamba.Elements
Contains classes for creating finite elements like beams, trusses, shells and membranes. There are Builder-classes and Model-Classes. The former are used for building up a model. They are the type of objects which populate the Grasshopper definition and team up to assemble a model. The Model-classes are part of a K3D-model and keep a connection to their counterparts in the c++ model. They are also used to retrieve results.
Karamba.Exporters
Classes that implement the export of model data to other applications. They adhere to the builder-pattern.
Karamba.Geometry
Karamba3D implements its own set of geometric entities so that it can be run independently from RhinoCommon. This makes it e.g. easier to test via unit-tests and allows usage in environments like Dynamo or web-applicaitons. The namespace Karamba.GHopper.Geometry contains extension methods which provide conversion methods from and to RhinoCommon geometry objects via '.convert()'
Karamba.GHopper
Contains classes which live in the Grasshopper context and use the functionality provided by RhinoCommon. other than the rest of the classes of the Karamba and KarambaCommon namespace they depend on RhinoCommon. This means that Rhino needs to be started before they can do their work.
Karamba.Joints
Contains classes for specifying the hinges at elements. They are 'Joint'-builders since they do not have a direct connection to the C++ model.
Karamba.Licenses
Contains classes for managing the Karamba3D license and getting information about it.
Karamba.Loads
Classes that represent loads. They are 'builders' which create C++ load-objects but do not directly reference them.
Karamba.Materials
Classes that represent materials. They are 'builders' which get used for constructing C++ material objects.
Karamba.Models
Classes that represent finite element models. They can each reference a C++ model which they own. References to builder are stored in order to allow disassembling of models into their constituents.
Karamba.Nodes
Classes that implement nodes in finite element models
Karamba.Results
Contains classes for retrieve results from finite element models.
Karamba.Supports
Classes that implement supports and their creation
Karamba.Utilities
Classes that implement various utility functions.