I would like to see the implementation of the two types of *TRANSFORM (R and C). It would help the user to set up frictionless supports or the 3D solid axisymmetric slice between others, extending considerably the Prepomax BC options.


Indeed, it would be very useful. Other applications of user-defined coordinate systems (*ORIENTATION and transforming the results) are also important but would require separate implementation (only the tool to define a new CSYS could be the same).

As a side note, CalculiX supports only rectangular and cylindrical coordinate systems while Abaqus supports also spherical ones but they are uncommon.


It is possible to use *TRANSFORM by using the “Calculix keyword editor” that is accessed by right clicking on the top level model in the PrePoMax FE Model tree. The following screenshots show how I used *TRANSFORM to restrict motion of a cylinder in the tangential and axial directions while allowing expansion in the radial direction. Inputs for the *TRANSFORM keyword are in the Calculix manual.

Node Set definition


Thank you very much GB61 :ok_hand:

Proposal regarding Calculix keywords: on the keyword tree, user added keywords are in red colours, which make me confusing in the beginning because I thought that there is something wrong/missing on the keyword itself. I propose to make text in different colour, not linked classically with an “Error” colour.
Hope my proposal is clear.


I agree. I will think about other default colours. The coloured text editor is very solid at the moment and I already found a better solution. When I will find time to replace it I will think about the colours.


displaying node and element local axes also common in many FEA software, it can be useful to visualize for some assignment it was properly defined or not.



This is an example on how to prepare a frictionless support on a face with arbitrary orientation.
I think it complements the cylindrical example from GB61 with the TYPE=R option.

Frictionless suport on an arbitrary oriented flat face.

1- Select three points on the face of interest A, B and C as separated as possible (for better accuracy).
2- Compute the cross product of AB x AC = v1i + v2j + v3k
3- Normalize the resultant vector . n1
i + n2j + n3k. (Not imperative but more clean and readable)
4- Create a node set of the nodes on that Face and name it. For example : NFace
5- Write a custom Transform card like:


6- Constrain the first degree of freedom of NFace as usual on the BC GUI.

NOTE: Be sure your numbers do not exceed 20 characters long.

Example included.
Frictionless support.pmx (411.1 KB)

1 Like

Probably a ‘Frictionless Support’ names for sliding along normal planes may lead to confusion for many user. It s not really clear since frictionless contact also available, however the behaviour and workflow is different.

It seems a general and common "Transform Nodes’ names still prefer. When both are still interested to implement, maybe "Sliding Planes’ is more appropriate for these support boundary condition types.

1 Like

Or even sliding
support?¿?. I don’t really mind.
You have forgot your beginnings synt. :slightly_smiling_face: Some people are struggling and asking for it so it might not be so trivial for some users.
The cross product could be in fact be substituted by the normal to the surface if available.
This Sliding Planes is not so easy when combined with Rigid Body and shells.

1 Like

The workflow may separated, for solid element the plane can be selecting based on surface. It may group of face on flat or curved position. Rigidbody constraint, reference nodes and transform function can be generated automatically.

When at work in shell models, predefined three point of node groups selected can be use as plane definition, an option of curved or flat movement also possible to implement. Centér point as reference node is requires to be precalculate in special case of sliding along curves.

I’m only giving a personal opinions regarding to the names. Still thinking a ‘Frictionless’ word or names is commonly elated to contact and may lead to confusion. Prefer the names to be ‘Sliding Plane’ or ‘Sliding Support’ or any appropriated names e g ‘Sliding Constraint’

1 Like

This was very helpful to get me going. Thanks for posting!