Surface loads 3p

Is it possible to assign a non uniform surface load (3p for instance) to an area, other than spliting the area in several parts and asigning a uniform load to each (as shown the Reservoir with rings and loads sample)?
Thanks in advance,

that should be possible.
but from the information you give now i can’t help you.

Within the Structural Analysis Add-on in Dynamo, it is only possible to define a UniformSurfaceLoad. As far as I know, there are not other types of surface load definition (e.g. surface load 3p, temperature or hydrostatic pressure).
For instance, how would you define a surface load with different values? What further information would you need?
Thanks for the response!


the way i know that it’s possible is by using python scripts.
but i don’t know if you are familiar with python?
one side note by this, 'a python script is faster than the built in node to run RSA, so you will have to rebuild your full script with all RSA functions as python scripts.

Hope this will help you a little bit.
Search for my username here and on the RSA forum, than you will find some python script and what they look like.

I’m relatively new to dynamo, therefore I’m not familiar yet with python. Thanks for point out a starting point and for the advice.
Kind regards

it’s possible you need to use python or c# to do it
and the the Robot API SDK as reference (it s a PDF book you find it in the Robot install folder)

using C#

        static void CreateVarLoadByContour(RobotSimpleCase Cas, double v1, double v2, 
                                           Point p1, Point p2, Point p3, Point p4,
                                           string Description, params int[] ObjNos) {
            RobotLoadRecordInContour Rec = (RobotLoadRecordInContour)Cas.Records.Create(I_LRT_IN_CONTOUR);
            Rec.SetValue((short)I_ICRV_PZ1, v1); Rec.SetValue((short)I_ICRV_PZ2, v1); Rec.SetValue((short)I_ICRV_PZ3, v2);
            Rec.SetValue((short)I_ICRV_NPOINTS, 4);
            int i = 0; foreach (Point p in new Point[] { p1, p2, p3, p4 }) Rec.SetContourPoint(++i, p.X, p.Y, p.Z);
                i = 0; foreach (Point p in new Point[] { p1, p2, p4 }) Rec.SetPoint(++i, p.X, p.Y, p.Z);
            Rec.Objects.FromText(string.Join(" ", ObjNos)); Rec.Description = Description;

Thanks very much for the responses, as soos as I get the opportunity to get more familiar with python I’ll try the code.