Message 1 of 19
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
Is there a way to assign a linear load on a single edge (29_Edge(4) or a selection of slab edges with the API?
Thanks
Solved! Go to Solution.
Hi,
Is there a way to assign a linear load on a single edge (29_Edge(4) or a selection of slab edges with the API?
Thanks
Solved! Go to Solution.
As far as I know it is not possible to select a single edge like 29_Edge(4) via API.
Do you find the posts helpful? "LIKE" these posts!
Have your question been answered successfully? Click 'ACCEPT SOLUTION' button.
Roman Zhelezniak
Robot Evangelist & Passionate Civil Structural Engineer
Thanks
Initially, I thought it can be done like this
SDL = (RobotSimpleCase)Robapp.Project.Structure.Cases.Get(10); // int IL_B = CaseIL.Records.New(IRobotLoadRecordType.I_LRT_UNIFORM); LoadRecord = (RobotLoadRecord)SDL.Records.Get(1); LoadRecord.SetValue(System.Convert.ToInt16(IRobotLinearOnEdgesRecordValues.I_LOERV_PX), 0); LoadRecord.SetValue(System.Convert.ToInt16(IRobotLinearOnEdgesRecordValues.I_LOERV_PY), 0); LoadRecord.SetValue(System.Convert.ToInt16(IRobotLinearOnEdgesRecordValues.I_LOERV_PZ), -1500); LoadRecord.Objects.Add(EdgeSelection);
But I'm struggling to get the selection of edges.
I event tried
LoadRecord.Objects.AddText("29_(4)");But it's not working
Thanks Rafal.
So as an alternative I'm creating small edge panels around the slab with height similar to slab thickness and then I apply FE Uniform load to those (which can be done in API). Do you think that would yield similar results?
Exactly !
See example:
But you may encounter this:
Objects not assigned to record if macro used more than one time on opened Robot

Great. So far I haven't encountered any issues. I'm running it on a recursive algorithm in a case study with balcony loads. I run a test with more than 500 simulations and it was OK.
My only concern was the edge stiffness benefit due to the thickness of the panel but I reckon it would be minimal.
Hi @stathiseleftheriadis and @Rafal.Gaweda,
Nice work around to solve the problem. I can create these edge panels along the boundary of the slab, but shouldn't I keep the thickness of these edge panels as less as possible ? Why did you take their thicknesses as equal to the thickness of the base slab?
hi @stathiseleftheriadis and @Rafal.Gaweda, I am looking to apply my linear load on these edge panels.
str.Nodes.Create(1, 0, 0, BaseLevel + WallHeight);
str.Nodes.Create(2, 0, B, BaseLevel + WallHeight);
str.Nodes.Create(3, W, B, BaseLevel + WallHeight);
str.Nodes.Create(4, W, 0, BaseLevel + WallHeight);
str.Bars.Create(1, 1, 2);
str.Bars.Create(2, 2, 3);
str.Bars.Create(3, 3, 4);
str.Bars.Create(4, 4, 1);
/Apply dead load of roof slab
RobotSimpleCase deadweight_roof = str.Cases.CreateSimple(5, "Dead weight of roof", IRobotCaseNature.I_CN_PERMANENT, IRobotCaseAnalizeType.I_CAT_STATIC_LINEAR);
deadweight_roof.Records.New(IRobotLoadRecordType.I_LRT_UNIFORM);
IRobotLoadRecord2 LoadRec4 = deadweight_roof.Records.Get(1) as IRobotLoadRecord2;
LoadRec4.SetValue(2, -2000);
LoadRec4.SetValue(11, 1);
LoadRec4.Objects.FromText("1,2,3,4");
This doesn't throw an error. But it doesn't reflect the loading either. I am unable to figure out where I have gone wrong
Hi @Anonymous
Use :
LoadRec4.Objects.FromText("1 2 3 4");
instead of
LoadRec4.Objects.FromText("1,2,3,4");

Is it because I haven't initialised the bars?
Hi @Anonymous
Try :
RobotLoadRecord LoadRec4 =....

I found the bug. It should be I_LRT_BAR_UNIFORM and not I_LRT_UNIFORM.
Hi @Rafal.Gaweda and @Romanich,
How do I assign properties to the bars so that the overall effect on my calculations is minimum? (since the bars shouldn't technically be there in the first place). Any suggestions are welcome
Hello,
I am facing the same problem. Can you please share me how you added the edge in your code ..