Getting the body ID from a node ID in Mechanical scripting

Jimmy He
Jimmy He Member, Employee Posts: 4
First Comment Photogenic

Just wanted to share a quick snippet that allows one to get the body ID (and potentially select the body and get information about the body) from a node ID using Mechanical scripting:

Happy scripting!


  • Pernelle Marone-Hitz
    Pernelle Marone-Hitz Member, Moderator, Employee Posts: 596
    100 Answers 250 Likes 100 Comments First Anniversary

    Code in attachement:

    my_node = meshData.NodeById( node_ID )
    Find out which body the node belongs to
    body_ID = my_node.BodyIds[0]
    body = DataModel.GetObjectById( body_ID )

  • Kev
    Kev Member Posts: 41
    10 Comments 5 Likes Name Dropper
    edited August 21

    Hi @Pernelle Marone-Hitz
    Hope you've been well.
    Is this only available in 2023 version?
    when I attempted to use the BodyIds attribute in Ansys 2022r2, i get an error message saying: 'Node' object has no attribute 'BodyIds'.
    I defined the mash as follows:

    analysis = ExtAPI.DataModel.Project.Model.Analyses[0]
    dataSource = dpf.DataSources(analysis.ResultFileName)

    Node was defined as so:


    and here's the prompt:


    'Node' object has no attribute 'BodyIds'

    Just checking to see if I've missed a step.
    Is there another way to achieve this?

  • Kev
    Kev Member Posts: 41
    10 Comments 5 Likes Name Dropper
    edited August 21

    My appologies, just found your other post on this and saw my mistake.
    mesh needs to be defined like this:

    Thanks for this useful post Pernelle.
    Cheers :)