Is there any method in hypermesh to find the difference between the 2 surface elements fetched from a 3D setsegment?

Ajay Prabhakaran
Ajay Prabhakaran Altair Community Member
edited August 6 in Community Q&A

Does any one have any idea, how to get the difference between 2 surface elements fetched from a 3D setsegment segment and store the difference in a new setsegment.

The method I used seems not working because, what I done was,

1. Add elements of the 2 setsegments in 2 marks

2. Used the api *markdifferance elements.

3. Then store those marked elements to another set segment.

The issue here is that createmark elems will fetch all elements and not surface elements. 

Does any one have any other methods to suggests?

Thanks for your help in advance

Answers

  • Ben Buchanan
    Ben Buchanan
    Altair Employee
    edited August 5

    You could select by config and then do a mark intersection between that and the set segment.

  • Ajay Prabhakaran
    Ajay Prabhakaran Altair Community Member
    edited August 6

    You could select by config and then do a mark intersection between that and the set segment.

    Hello Ben, thanks for your reply. I have one doubt here, if we do mark intersection between the set segment, how can we create a new set segment with the intersection or difference. Could you please guide me with a sample code? Also, can you please mention the config id for surface elements?

  • Ben Buchanan
    Ben Buchanan
    Altair Employee
    edited August 6

    Hello Ben, thanks for your reply. I have one doubt here, if we do mark intersection between the set segment, how can we create a new set segment with the intersection or difference. Could you please guide me with a sample code? Also, can you please mention the config id for surface elements?

    hm_createmark elems 1 "by config" "tria3 quad4 tria6 quad8" hm_createmark elem 2 "by set" 1 *markintersection elmes 1 elems 2 set surfSet1 [hm_getmark elems 1]  hm_createmark elems 1 "by config" "tria3 quad4 tria6 quad8" hm_createmark elem 2 "by set" 2 *markintersection elems 1 elems 2  hm_createmark elems 2 $surfSet1 *markdifference elems 1 elems 2 *segmentsetcreatewithshells "test" 5 1 0

    Something like this?