Segmentation of Woven Fibers via Match / Classify Functions

Steven Nigro_20851
Steven Nigro_20851 New Altair Community Member
edited June 2023 in Community Q&A

Hello all,

I'm currently exploring trial versions of both HyperWorks and HyperMesh in an attempt to solve a complex problem regarding the transfer of CT data to a finite element model for a woven 3D fabric.  I have CT data that I've been able to convert to an explicit mesh with orientation vectors in Abaqus that represents the fiber architecture successfully, however I'm trying to reverse-engineer this mesh to evaluate modifications to the weave architecture.  

I'm wondering if its possible to use HyperWorks / HyperMesh to segment either an STL file or an Abaqus part representing the woven structure into individual fibers to experiment with changes to their cross-sectional areas.  I was thinking of using the 'Match' or 'Classify' functions to group parts together based upon their orientation vectors. 

If this is possible or if anyone has been able to reverse-engineer CT data in this way, please let me know.  I have attached a picture of what I'm working with for reference.

Thanks,

Steve

Tagged:

Answers

  • Jason_Craanen
    Jason_Craanen
    Altair Employee
    edited May 28

    Hello Steve,

    I responded to you in the support, but wanted to paste my answer here as well if it could help others

    "I believe the user’s basic idea is valid, but it’s outside of the tech we have today with shapeAI.  My interpretation is that they want to use the orientation vector as a ML feature.  If it is shown to work and be valuable it could be added as an RFE.

     

    For now, the user can do the following:

     

    1. Export a csv (matrix browser) that contains columns of:
      1. ElementID
      2. Orientation vector x_comp
      3. Orientation vector y_comp
      4. Orientation vector z_comp
    2. Bring this csv file to one the RM products
      1. Cluster the data based on the vector comps
    3. Bring the elem_ids from each cluster back to HW as sets

     

    This may work, but I feel this would be much easier to do with a standard vanilla automation.  Just write a script to place each element into a set based on the components of the orientation vector.  Something like this pseudocode :

     

     

    Foreach iele in element_set

                   if orient_x > 0.5

                                  add to set A

                   elseif orient y > 0.5

                                  add to set B

                   elseif orient z > 0.5

                                  add to set C

                   else

                                  add to set D

     

    I’d try it with a standard automation before overcomplicating things."

     

    Another suggestion:

     

    How about MultiScale Designer?

     

    You can control the woven shape to develop various materials. And those developed materials can be used in Abaqus.

    image