--- title: "Nodes Spline" url: "https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NEUTRON_GROUP_PRIMITIVE_SPLINE_BASE.html" element_id: "NET_MAXON_NEUTRON_GROUP_PRIMITIVE_SPLINE_BASE" description: "This page covers the Nodes Spline primitive group of the Scene Nodes system in Cinema 4D. It is the prepared group shell for building spline primitives — …" --- # Nodes Spline > **Note:** **What is it about?** > > This page covers the **Nodes Spline primitive group** of the Scene Nodes system in **Cinema 4D**. It is the prepared group shell for building spline primitives — custom parametric curves usable wherever splines are expected. ## Topic overview of this page - The working principle - The processing of Child object splines in the Object Manager This group is comparable to a standard Node group, which can be used to combine any Nodes. The only difference is that a *Geometry output* is already available, e.g., to lead a newly-created spline geometry out of the group. Above all, however, the Nodes Spline is designed to serve as a basis for the creation of asset capsules. Spline geometries created within a Nodes Spline can therefore also be used directly in the *Object Manager*. To do this, drag the *Nodes Spline* directly from the *Asset Browser* into the *Object Manager*. Double-clicking on the *Nodes Spline* icon in the *Object Manager* automatically opens the *Node Editor* in *capsule mode*.\ You can find more information on the use of this Node type in the following section, and on the subject of asset construction in general [on this page](https://help.maxon.net/c4d/en-us/Content/html/80721.html.md).\ If you want to process or create classic point or polygon geometry instead, select [Node Mesh](https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NEUTRON_GROUP_PRIMITIVE_GEOMETRY_BASE.html.md). Additional inputs required for the group can be added via the *Resource Editor* or, for example, by right-clicking on the group and selecting *Add input*. Further information on adding and managing these individual parameters to assets can be found on this [page on the user interface](https://help.maxon.net/c4d/en-us/Content/html/NodeAsset_User_Interface.html.md).\ These inputs are already available and are mainly useful if the *Nodes Spline* is used directly in the *Object Manager*: ### Local Capsule Matrix Parameter ID: `LOCALMATIN` This is the matrix of the capsule in the *Object Manager*, which is calculated in relation to any existing parent object. However, if the capsule is not in a hierarchy, this matrix corresponds to the **global capsule matrix**. ### Global Capsule Matrix Parameter ID: `GLOBALMATIN` This matrix shows the position, size and rotational position of the capsule in relation to the global axis system. ## The working principle The Node automatically forwards all settings typical for splines to the *Attribute Manager*. So if you use the Node as a capsule directly in the *Object Manager*, a user can set the open/close status of the generated spline, its interpolation and also the generation of intermediate points directly in the *Attribute Manager* - without having to open the *Node Editor*. The settings configured within the asset are made available directly in the *Attribute Manager* as **auto settings**, but can also be overwritten there individually if, for example, a spline that is actually closed is to be opened manually. The following illustration demonstrates the principle. There, the *Nodes Spline Capsule* was first dragged from the *Asset Browser* into the *Object Manager* (shown in the illustration on the right). The content of the asset is then displayed in the *Capsule mode* of the *Node Editor* and can be filled with any number of Nodes. In the example shown, two parametric splines are connected and opened at the end using the *Set Closed Status Node* before they are sent to the output of the Node as *geometry*. Exactly this shape is generated in the *Attribute Manager* and also displayed in the views, provided that the *Auto settings* for **Type** and **Close spline** are active there (see middle part of the following illustration). The **Close Spline Status** and also the **Type** of spline can also be overwritten there in a different way to the configuration within the *Node Editor*. ![Image: 2025-0_Nodes_Spline_01.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-0_Nodes_Spline_01.png)\ The spline created in the Spline Node asset is used in the Auto setting for **Type**and the **Spline Close** status as created in the Object Manager. However, these properties can also be overwritten individually in the subdivision settings. ## Processing Child object splines in the Object Manager In the example above, spline basic objects based on Nodes were used directly within the Node circuit of the *Nodes Spline*. This has the advantage that you can work directly with the available spline functions of the Node environment. However, situations are also conceivable in which, for example, you want to leave it up to the user to decide which splines should be processed by the asset. You can use user data to access Child objects of the asset. [This page](https://help.maxon.net/c4d/en-us/Content/html/NodeAsset_User_Interface.html.md) informs you about all the options for using user data on an asset. Let's look at another simple example. To do this, call up the **Nodes** category via the *Asset Browser* and open the entry for **Nodes** > **Asset Construction** in the left-hand category list. You will find the entry for the *Nodes Spline* there, which you can drag directly into the *Object Manager* with the mouse. This asset should work with two splines that a user has to subordinate there. The following illustration shows this on the left-hand side. ![Image: 2025-1_Nodes_Spline_02.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-1_Nodes_Spline_02.png)\ Spline objects subordinate to the Nodes Spline can be called up via manually created object Child object inputs in the Node Editor. So that we can now access these two splines under the *Nodes Spline* in the [Node Editor](https://help.maxon.net/c4d/en-us/Content/html/60626.html.md), two corresponding inputs must also be created there. To do this, double-click on the icon of the *Nodes Spline object* in the *Object Manager* to open the *Node Editor* in *Capsule mode*. This lets you see the currently empty content of the *Nodes Spline*. Now right-click in the *Node Editor* and select**Add input** > **Object - Sub-object**. This will give you a new input on the left-hand side of the *Node Editor*, which you can use to access the topmost object under the *Nodes Spline* in the *Object Manager* (see middle illustration in the figure above). Double-click on this input to rename it individually in the *Node Editor*.\ Repeat this to add a second input in the Node Editor. As can also be seen on the right-hand side of the figure above, these inputs can also be expanded in order to directly access all important properties of the two Child objects, such as their **geometry** or **matrix**. Please note that the information at the **Geometry ports** for splines is generally only provided as line geometry. It is also possible that the user accidentally subordinates polygon objects instead of splines. You should therefore carry out a few checks so that you can be sure you are working with the correct object types. ![Image: 2025-1_Nodes_Spline_03.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-1_Nodes_Spline_03.png)\ Convert line geometry to spline geometry with a **Connect Node**. Shown on the left for a single geometry, demonstrated on the right for combining several line geometries into a spline geometry with several segments. As can be seen in the figure above, a [Connect Node](https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NEUTRON_GEOMETRY_CONNECT_GEOMETRIES.html.md) can be used to convert the line geometry into a spline geometry (see **output mode setting** for this Node). If you require all Child objects as separate geometry within the circuit, simply route each **Geometry input** to a separate *Connect Node*, as shown in the example on the left-hand side of the illustration for the first Child object.\ Alternatively, several **Geometry inputs** can also be configured on the *Connect Node*, as shown in the illustration on the right. In this case, all connected line geometries become individual segments on a spline geometry. The first Child object therefore becomes segment 0 and the second becomes segment 1 on the connected spline. When processing geometry, it should generally be noted that its points and tangents, for example, are only ever passed on in local coordinates. If you are planning a spline output based on the subordinate splines in the *Object Manager*, for example, which also moves accordingly when the spline objects are moved or rotated, the line geometries in the circuit must be converted globally. To do this, we use [Transform Geometry Nodes](https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NEUTRON_GEOMETRY_TRANSFORM_ELEMENT.html.md), as shown in the following illustration. ![Image: 2025-1_Nodes_Spline_04.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-1_Nodes_Spline_04.png)\ Global conversion of geometry If you combine these Nodes with the **matrix** of the introduced geometry, you will receive a globally converted geometry at the **Geometry outputs** of the Transform Nodes. Just make sure that the **Type setting** on the *Transform Geometry Node* is set to *points*, as we are dealing with a line geometry that does not contain any edges or polygons. But stop ... How do we actually know that the user has done everything correctly and that two spline objects, as required by our asset, have actually been subordinated in the *Object Manager*? Well, of course we can't know that and should therefore check it in the circuit before we work with these geometries. ### Check Child objects A *Geometry Info Node* can be used to check whether an object required in the circuit is actually available and also has the required type. This provides various outputs with bool signals, which can be used to query whether a geometry exists at all**(Has value**) and whether the geometry is of type line**(Is line**), for example. In our example, we compare the two outputs mentioned with a [Boolean operator](https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NODE_BOOLEANOPERATOR.html.md) in *AND mode*. This Node then only supplies a positive bool signal if both inputs are also positive, i.e., both a geometry is present and the *line* type is positive. As two line geometries are required in the circuit, we carry out the same check for the second **Geometry input**. The results of both checks can be summarized again with an *AND check*, which then only returns a positive result (or TRUE or 1) if all criteria apply to both Child objects. As can be seen in the following illustration, this could be used, for example, as an **index** for a [Switch Node](https://help.maxon.net/c4d/en-us/Content/html/NET_MAXON_NODE_SWITCH.html.md) to provide either the geometry of the two inputs or, for example, a standard geometry (here a *circle* with the **Ring option** activated to obtain two segments) for further geometry calculations or the output. ![Image: 2025-1_Nodes_Spline_05.png](https://help.maxon.net/c4d/en-us/Content/Resources/Images/2025-1_Nodes_Spline_05.png)\ Check the assigned objects and output an alternative geometry in the event that no compatible geometry is available.