I am trying to make a DeepLearning project that uses STEP files as input. However, I am not sure in which way should I give the contents of the files to the neural network as input. For now, I am creating a graph connecting all the entities to each other and for the adjacency matrix, I am making a one-hot encoded vector representation of the graph with each row corresponding to an entity. For example, consider this part of a STEP file:
#13 = PERSON_AND_ORGANIZATION ( #125, #159 ) ;
#14 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #117 ) ) ;
#15 = AXIS2_PLACEMENT_3D ( 'NONE', #99, #151, #27 ) ;
#16 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
#17 = ORIENTED_EDGE ( 'NONE', *, *, #167, .F. ) ;
#18 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 10.00000000000000000, 0.0000000000000000000 ) ) ;
#19 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#20 = EDGE_LOOP ( 'NONE', ( #57, #1 ) ) ;
#21 = APPROVAL_PERSON_ORGANIZATION ( #13, #121, #48 ) ;
#22 = ADVANCED_FACE ( 'NONE', ( #169 ), #119, .T. ) ;
#23 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 5, 30, .AHEAD. ) ;
#24 = PERSON_AND_ORGANIZATION ( #125, #159 ) ;
#25 = CC_DESIGN_APPROVAL ( #121, ( #46 ) ) ;
#26 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#27 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#28 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #62, #95, ( #107 ) ) ;
#29 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#30 = LINE ( 'NONE', #88, #42 ) ;
#31 = CC_DESIGN_APPROVAL ( #148, ( #77 ) ) ;
#32 = AXIS2_PLACEMENT_3D ( 'NONE', #26, #7, #168 ) ;
#33 = ORIENTED_EDGE ( 'NONE', *, *, #167, .T. ) ;
#34 = AXIS2_PLACEMENT_3D ( 'NONE', #18, #132, #152 ) ;
Say this file contains 83 entities in total (entities - the #following a number), then the adjacency matrix for a particular entity, say #27 will be a vector with only the indices corresponding to the entity 'DIRECTION' filled and the rest would be zero. However, this makes the adjacency matrix very sparse. I want to have a representation that is less sparse than the current strategy I am using. Can you please give me some other ideas on how should I represent/vectorize the step file? Thank you.