Hello,
While generating a panel, is there any way to add an elastic support to symbolize the ground.
I saw that a kz option is avaible in the thicknessData command but i'm not sure that it works.
You'll find enclosed a screenshot explaining my problem.
Thanks for answering,
VE
Hi,
Thanks for your answer.
So if i understand correctly, in the thicknessdata options, "ThickData.ElasticFoundation" commands allows me to introduce ground caracterisitic.
The value appears in Kz field while slectionning the panel.
Now, how can i fill the Kx and Ky values down to the Kz one?
Thanks for your help.
VE
Hi VE,
for the Kx and the Ky you can copy and paste the Kz value, or use a different one. It depend by your needed. Keep in mind that if you get Kx and Ky = 0, you need to fix your slab by additional restraints.
The flow of soil definition is showed in the following pic:
Cheers
Hi,
Thanks for your answer.
I'm trying to make parametrics structures like the one you'll see enclosed by VBA codes.
I make panels.
I'd like to know VBA commands to acces to kx and ky fields like "ThickData.ElasticFoundation" for kz.
Is i possible to have an example?
Thanks,
VE
I'd like to know VBA commands to acces to kx and ky fields like "ThickData.ElasticFoundation" for kz.
Is i possible to have an example?
Not possible by API. Only kz implemented.
Use supports : IRobotNodeSupportData.KX, IRobotNodeSupportData.KY
Hi Rafal,
I didn't understand your reply very well. I am trying to access kz, ky and kx through API? For a base slab panel, could you suggest a way I could enter values for kx and ky through API?
Regards,
Rahul
Hi @Anonymous
My answer means it is not possible to define kx and ky by API in the definition of panel thickness.
But you can do it by API in nodal supports definition
Hi @Anonymous
I am afraid I do not understand.
You can:
- create panel
- define support label
- apply support label to panel
or
- define support label
- create panel
- apply support label to panel
Example code how to apply support to whole panel
Dim panel As RobotObjObject Set panel = RobApp.Project.Structure.Objects.Get(panel_number) panel.SetLabel I_LT_SUPPORT, "Fixed"
Dim monobjet As RobotObjObject
Dim moncote As RobotObjEdge
Dim sup As IRobotLabel
Dim sup_data As IRobotNodeSupportData
Set sup = Robot.Project.Structure.labels.Create(I_LT_SUPPORT, "Fixed support")
Set sup_data = sup.Data
sup_data.SetFixed I_NSFD_UX, True
sup_data.SetFixed I_NSFD_UY, True
sup_data.SetFixed I_NSFD_UZ, True
sup_data.SetFixed I_NSFD_RX, True
sup_data.SetFixed I_NSFD_RY, True
sup_data.SetFixed I_NSFD_RZ, True
sup_data.KX = 500000
sup_data.KY = 500000
sup_data.KZ = 5000000
Robot.Project.Structure.labels.Store sup
Set monobjet = Robot.Project.Structure.Objects.Get(1)
Set moncote = monobjet.Main.Edges.Get(1)
moncote.SetLabel I_LT_SUPPORT, "Fixed support"
monobjet.Update
I do this for all the edges of base slab. Is this the right way to go? KX,KY,KZ values aren't updating in the model. They are shown as zero.
Hi @Anonymous
Almost perfect.
Corrected code:
Dim monobjet As RobotObjObject Dim moncote As RobotObjEdge Dim sup As IRobotLabel Dim sup_data As IRobotNodeSupportData Set sup = RobApp.Project.Structure.Labels.Create(I_LT_SUPPORT, "Fixed support") Set sup_data = sup.Data sup_data.SetFixed I_NSFD_UX, False sup_data.SetFixed I_NSFD_UY, False sup_data.SetFixed I_NSFD_UZ, False sup_data.SetFixed I_NSFD_RX, True sup_data.SetFixed I_NSFD_RY, True sup_data.SetFixed I_NSFD_RZ, True sup_data.KX = 500000 sup_data.KY = 500000 sup_data.KZ = 5000000 RobApp.Project.Structure.Labels.Store sup Set monobjet = RobApp.Project.Structure.Objects.Get(1) Set moncote = monobjet.Main.Edges.Get(1) moncote.SetLabel I_LT_SUPPORT, "Fixed support" monobjet.Update
Hi Rafal,
one last question. Can I not do this for the entire panel in one go? Or do I need to go edge by edge?
Thanks!
Hi @Anonymous
Your code is for linear support(s) (edges).
If you want to apply Planar support (for the whole panel) - take a look a few post above with my example code
Hi @Rafal.Gaweda,
We would like to apply the KX,KY,KZ value through API in a way that it will be visible in the "Foundation elasticity" window as follows,
If we do it in the way you suggested, it chances the support conditions which we do not want.
This is because, we want to fix the base slab of a chamber as a RAFT structure.
How to assign value to KX and KY, then?
We know KZ can be done as,
thickness.ElasticFoundation = 5000000
Thanks
@Anonymous
How to assign value to KX and KY, then?
We know KZ can be done as,
As it was said before it is not possible to be done by API
Hi @Rafal.Gaweda,
Sorry to be raising this topic again.
I understand that we can apply linear supports on edges and accordingly restrict UX,UY and so on. How do I do it for the entire panel? As in how do I apply planar support and define, KX,KY,KZ for the planar support? I don't wish to restrict rotations.
I want to achieve this through the API.
Best regards,
Rahul
Hi @Anonymous
See post 10 and 12 and this is the outcome:
Dim monobjet As RobotObjObject Dim moncote As RobotObjEdge Dim sup As IRobotLabel Dim sup_data As IRobotNodeSupportData Set sup = Robapp.Project.Structure.Labels.Create(I_LT_SUPPORT, "Fixed support") Set sup_data = sup.Data sup_data.SetFixed I_NSFD_UX, False sup_data.SetFixed I_NSFD_UY, False sup_data.SetFixed I_NSFD_UZ, False sup_data.SetFixed I_NSFD_RX, True sup_data.SetFixed I_NSFD_RY, True sup_data.SetFixed I_NSFD_RZ, True sup_data.KX = 500000 sup_data.KY = 500000 sup_data.KZ = 5000000 Robapp.Project.Structure.Labels.Store sup Set monobjet = Robapp.Project.Structure.Objects.Get(1) monobjet.SetLabel I_LT_SUPPORT, "Fixed support" monobjet.Update
How to add IRobotBarElasticGroundData with vba ?
FootName = "Foot"
Set Label = Labels.Create(IRobotBarElasticGroundData, FootName)
'Dim footData As RobotNodeSupportData
Set footData = Label.Data
footData.KZ = 80000000#
footData.KY = 1
footData.HX = 1
Labels.Store Label
'Dim SelectionNodes As RobotSelection
Set selectionBars = Robot.Project.Structure.Selections.Get(I_OT_BAR)
selectionBars.FromText "6 7 8 9"
Robot.Project.Structure.Bars.SetLabel selectionBars, IRobotBarElasticGroundData, FootName
and thank you ....
Can't find what you're looking for? Ask the community or share your knowledge.