Panel - Storage nodes

Panel - Storage nodes

polylouis
Enthusiast Enthusiast
747 Views
6 Replies
Message 1 of 7

Panel - Storage nodes

polylouis
Enthusiast
Enthusiast

Hi everyone,

 

I would like to storage nodes of panel in a list with python.

The aim is to browse the list to get FEdetail.MXX for exemple.

 

Actually I do like this : 

for j in range(58,61😞
    FEParams.Case=j
    for i in range(0,41😞
        FEParams.Node = i
        FEdetail=structure.Results.FiniteElems.Detailed(FEParams)
        mxx_ELSF=(FEdetail.MXX)*0.001
        myy_ELSF=(FEdetail.MYY)*0.001
        mxy_ELSF=(FEdetail.MXY)*0.001

 

Could you help me to find the solution ? 

 

Thank you in advance,

Regards

 

Louis

0 Likes
Accepted solutions (2)
748 Views
6 Replies
Replies (6)
Message 2 of 7

Stephane.kapetanovic
Mentor
Mentor

HI @polylouis 

to extract the list of nodes from a panel

Dim Obj As RobotObjObject, ObjNo As Long, NodesLst As String
ObjNo = xxx ' < Panel Number
Set Obj = RobApp.Project.Structure.Objects.Get(ObjNo)
NodesLst = Obj.Nodes

Best regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
Message 3 of 7

polylouis
Enthusiast
Enthusiast

Thakn you for your answer @Stephane.kapetanovic .

 

I don't succeed this proposal. List returns none elements

 

I thought the following test : 

objects = structure.Objects
object_number = objects.FreeNumber
objects.CreateContour(object_number, points)

contour = IRobotObjObject(objects.Get(object_number))
contour.Main.Attribs.Meshed = True
contour.Initialize()
contour.SetLabel(IRobotLabelType.I_LT_PANEL_THICKNESS, "Massif")
contour.SetLabel(IRobotLabelType.I_LT_PANEL_REINFORCEMENT, "REINF_massif2")
contour.SetLabel(IRobotLabelType.I_LT_SUPPORT, "Fix")
contour.Update()
 
NodesLst = contour.Nodes
 No=[]
No.append(NodesLst)
 
But it desn't work...
0 Likes
Message 4 of 7

polylouis
Enthusiast
Enthusiast

Thank you for your answer @Stephane.kapetanovic .

 

I don't succeed this proposal. List returns none elements

 

I thought the following test : 

objects = structure.Objects
object_number = objects.FreeNumber
objects.CreateContour(object_numberpoints)

contour = IRobotObjObject(objects.Get(object_number))
contour.Main.Attribs.Meshed = True
contour.Initialize()
contour.SetLabel(IRobotLabelType.I_LT_PANEL_THICKNESS, "Massif")
contour.SetLabel(IRobotLabelType.I_LT_PANEL_REINFORCEMENT, "REINF_massif2")
contour.SetLabel(IRobotLabelType.I_LT_SUPPORT, "Fix")
contour.Update()
 
NodesLst = contour.Nodes
 No=[]
No.append(NodesLst)
 
But it desn't work...
0 Likes
Message 5 of 7

Stephane.kapetanovic
Mentor
Mentor
Accepted solution

hi @polylouis 

you need to mesh first

Best regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
0 Likes
Message 6 of 7

polylouis
Enthusiast
Enthusiast

hi @Stephane.kapetanovic

 

the result is :

[" 1to152 154to166 168to170 172to175 177to185 187 189to195 197to206  "]
 
Do you know how should I obtain each node in the list ?
 
Thank you in advance
Louis,
0 Likes
Message 7 of 7

Stephane.kapetanovic
Mentor
Mentor
Accepted solution

hi @polylouis 

there are several ways to do this.
- create a function that returns an array from the text sequence. (it can be used in many places in your programs)
- create a virtual selection "Selections.Create(Type)", give it the text of the nodes with "Sel.FromText(List)" and iterate over a collection made of the selection.

Best regards

Stéphane Kapetanovic

Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
EESignature
0 Likes