Preserving CAD model meta data after tessellation

Answered

Comments

8 comments

  • Official comment
    Support
    Hello Saketh,
     
    InstaLOD can import CAD files including their metadata without issues. Our CAD Live Link technology enables users to selectively change the tessellation per part without losing information, even after the initial import of the file. After the tessellation is complete, the metadata is still retained and stored in the individual mesh.
     
    Please refer to this Knowledgebase article for more information on selective CAD tessellation: https://instalod.zendesk.com/hc/en-us/articles/360014637393-How-to-selectively-tessellate-CAD-data 
     
    After processing files with e.g. the remesher, InstaLOD is capable of transferring these attributes onto the newly created mesh. This allows you to use InstaLOD without needing to worry about losing metadata from the input CAD file. 
    Please note that when remeshing multiple parts together which have the same attribute with different values, only one of the values can be stored for the attribute in the final remesh result. 
     
    Thanks,
    Calvin
    Comment actions Permalink
  • Saketh Ram

    Hello Calvin,

    Thank you responding, It is interesting to know that InstaLOD is capable of preserving the metadata.from a CAD model and mapping it back to the mesh. I would like to ask more into our use case and what metadata I mean.

    Once we import a CAD model which is tessellated by using some setting, the new MESH model will have the function tree or the hierarchy in a submesh level (like face id, edges, coordinates etc.) and not just part level ?

    Also, the metadata I mean is mostly about parametric data. If you mean by preserve all types of metadata, then can I change the size or shape of maybe one particular dimension by accessing these parameters? For eg: if there is a cylinder, can I access its radius parameter and change it in the tessellated domain and the mesh updates in real time? 

    From my research, the above functionality is not easy because of various reasons, but interesting to know your answer if its possible atleast?

    In this case, when you say InstaLOD is capable of transferring these metadata to the mesh or triangles in particular. So, it means, there is mapping between the B-rep and the Mesh model? Like for example, in the tessellation it remember the info. of the triangles parent like in, these set of triangles are formed from tessellating this face of a CAD model ( may be with face_id). Is there some link like that ?

    Last but another type of metadata I am interested is in the assembly relationship data. for eg. importing an assembly file and preserving the type of assembly constraint between two parts like mate, axial align etc.. Are these types of data restored? and making a change for a part( like stretching a face) of the assembly mesh model, will it automatically update the assembly mesh with the stretched face remembering the relationship(  the connecting part will change its position?)

    Just a general question, does all this metadata can be extracted to FBX and imported in 3ds or Maya?

    I am sorry for a long framing, but I want it be clear and specific of the needs. Just let me know if you are not clear on anything.

    Thank you

     

     

    0
    Comment actions Permalink
  • Support
    Hello Saketh,
     
    It would be easier to answer your questions if you could provide us with some examples that demonstrate what exactly you want to achieve. Please feel free to post screenshots here, and if you want to share CAD data with us, please upload them to InstaLOD Cloud (simply login and select Share Files).
     
    For eg: if there is a cylinder, can I access its radius parameter and change it in the tessellated domain and the mesh updates in real time?
    Once the CAD file is tessellated, you do have control over changing the size, position and orientation of the object using either the gizmo or the transform parameters in the "Object Inspector" Tab. Furthermore, you can also set up scene rules that allow automatically modifying or retessellating the tessellated CAD object based on custom attributes. 
     
    In this case, when you say InstaLOD is capable of transferring these metadata to the mesh or triangles in particular. So, it means, there is mapping between the B-rep and the Mesh model? Like for example, in the tessellation it remember the info. of the triangles parent like in, these set of triangles are formed from tessellating this face of a CAD model ( may be with face_id). Is there some link like that ?
    I'm not sure if I fully understand the question, could you please elaborate? The CAD Live Link indeed maps the BREP to the tessellated meshes which allows readjusting the tessellation settings after the initial tessellation.
     
    Last but another type of metadata I am interested is in the assembly relationship data. for eg. importing an assembly file and preserving the type of assembly constraint between two parts like mate, axial align etc.. Are these types of data restored? and making a change for a part( like stretching a face) of the assembly mesh model, will it automatically update the assembly mesh with the stretched face remembering the relationship(  the connecting part will change its position?)
    I am not entirely sure what you mean by this either. If you edit the input CAD file and import it into InstaLOD, the changed file will be imported and tessellated into polygons. Position, rotation and scale of the objects are saved in the objects, so if you export the file, edit the mesh and re-import it into InstaLOD, the world-space position will be maintained. 
     
    Please let me know if I was able to answer your questions. 
     
    Thanks, 
     
    Calvin
    0
    Comment actions Permalink
  • Saketh Ram

    Hello Calvin,

    Sorry for the late response. I also think its better to share pics to explain what I mean. The major questions are regarding restoring metadata : one of which is about the topological data in a B-Rep model and the other data is the parametric data which is the ability of the function to update the model according to the input parameter(like length, height etc.) The metadata is about the assembly constraints. 

    The below picture summarizes the workflow and requirement in our case.

    Drawing at the bottom of the picture show the 2 different variances of a model with change in a parameter called length (L1 to L2) Usually when its stretched in 3d max or any such, the length of that part gets changed along with the hole inside. The shape of the hole changed once the model is stretched and we want the holes position and shape to be the same even after stretching. And so, my question is regarding restoring the parametric data from the Brep model ( in brep, you can access the dimension of that part and change its value from L! to L2 and the model gets updated without any other changes than the length of the part). So the question is if these data are lost in tessellation and can Instalod recover such data and reuse the same functionality of calling a parameter? (In this case, the model is cut at the section which is uniform and they are attached docking points and the middle section is expanded and then assembled back getting a 2nd variance of the model with increased length. This is a very simple example and things get complicated with complex surfaces and parts.)

    My second question is about the topological metadata. Every part has a id in the CAD system. each part is made of faces with faceids, and they are formed from edges with edge ids and so on to vertex coordinates. So if this information is restored while tessellating? I am sharing a pic of a product tree of a model imported in 3ds max after tessellating using 3ds. Its actually two files: one with only brep model and the other file has both brep and tessellated file( named as tesseloid).

    So, when you look at the structure, I could only access to part level in an assembly file.( this is a part file).SO in case of an assembly, I could only access the parts level of that model. The interesting thing is if I can access the submesh level like the faces, edges, vertex in 3ds ? But for that you need to restore that data from a brep model. So, in InstaLOD tessellation, can these data be restored in the tessellation step? May be the current tessellator doesn't have such functionality but is it possible to add in a feature which can extract such sub-mesh data which can be used in a mesh model. 

    The CAD Live Link indeed maps the BREP to the tessellated meshes which allows readjusting the tessellation settings after the initial tessellation.
    If this does the functionality that I asked above? There is a mapping between BREP and mesh in that case? when you readjusting the setting, the newly created mesh is an re-tessellated model from scratch or does it update just the domain of the mesh which is changed? ( here change means, consider the length of the part changed but not the settings like resolution or max, chordal length or so.) When you change a size of a particular part in an assembly and does it updates the mesh or retessellates the model from scratch?
    I also wanted to know if the tessellator has a history of the patches or meshes where they are created from?
    Like here, where the set of meshes  from the blue box on the left are formed from tessellating the face-id-3 of the brep model (right). Is it possible to have such information where the triangles remember their parent edge_id, face_id etc. from the brep model? Because, it is interesting to know if we can extract useful data using XML scripts and map them back to the triangles using this information( triangles parent history). I would like to know if this is possible in Instalod or atleast can such a functionality can be developed? Impossible or possible? 
     
    If you edit the input CAD file and import it into InstaLOD, the changed file will be imported and tessellated into polygons. Position, rotation and scale of the objects are saved in the objects, so if you export the file, edit the mesh and re-import it into InstaLOD, the world-space position will be maintained. 
    Lastly, when I asked about assembly constraint, I meant, when I import a CAD file and tessellate it, and I want to stretch the part just like in 1st picture for achieving a new variance of the model(length changed), So, consider this length is changed to a particular part of the assembly, will the other parts which are constrained to the stretched end move along with the change in length of this part? Or will the other parts remain there and the stretched length just pierces through and extends?
    This is what I meant but assembly relation metadata. Can Assembly constraints between parts can be restored and used back while performing modifications to the mesh in a tessellation step? 
     
    I guess all of this needs to deal with Tessellator algorithm and how it is developed, does it have an feature which can extract these parametric data, topological data, assembly relationship data, and show the mapping between mesh and Brep model etc. I would like to know if it exists( or similar functionality can exist). If not, can such a thing be developed in future , if its atleast possible to develop ? if at all, you have any useful information why these data are missing, this can be developed with some conditions or limitations? It would be great for my research. 
     
    Finally, assuming all such data can be restored into triangles and utilised, can these data be exported to be useful in 3ds max or Maya any such? I am quite sure that FBX couldnt carry these information but could these mappings or metadata that is restored from brep model be exported from instalod and used in other system(3ds or Maya)
     
    I think I made it clear explicitly, but if you still have some difficulty to understand, you can ask or may be is better to have an short meeting? Hopefully, you get a big picture from my explanation.
     
    Thank you
    Have a nice day
    0
    Comment actions Permalink
  • Saketh Ram

    Hello Calvin,

    I know it is very difficult moments currently, but I am just following up my questions.Adding to the above , just a quick question on you tessellator. Please send in the answer along with previous one.

    Does InstaLOD has a feature of decimation or target polycount to control the desired polycount if a model? 

    if the above two models are tessellated separately, there is chance of having same polycount since it is just a linear transformation, but no guarantee (dependent on the shape and model build quality). In that, can we control the target polycount in InstaLOD. 

    Also, can InstaLOD have the vertex order for both these models since there is not extra edge or vertex added. theoritically, it should be possible, but I want to make sure if InstaLOD and control the polycount and vertex order for the same model with a linear part transformation(from the image).

    This is to understand if the model can be morphed by using InstaLOD( but the requirement of morphing is to have same polycount and vertex order for both the bigger model and the smaller model).

    Will be waiting for your answer.

    Thank you 

    0
    Comment actions Permalink
  • Support
    Hello Saketh,
     
    Please excuse the delayed response and thank you for your detailed description.
     
    And so, my question is regarding restoring the parametric data from the Brep model ( in brep, you can access the dimension of that part and change its value from L! to L2 and the model gets updated without any other changes than the length of the part)
    This is not possible with InstaLOD and changes to the underlying surface parameters are best done in a CAD application. 
     
     There is a mapping between BREP and mesh in that case? when you readjusting the setting, the newly created mesh is an re-tessellated model from scratch or does it update just the domain of the mesh which is changed?
    The mesh or the specific object is always retessellated from scratch. Changes to single surface patches are not mapped back in. Furthermore, changes in the underlying surface would need a new import process as the connection to the file will be terminated once the import process is finished.
     
    Can Assembly constraints between parts can be restored and used back while performing modifications to the mesh in a tessellation step?
    Constraints are not imported with the surface data, changes to objects individually will not have any influence to adjacent objects. 
     
    The best workflow when using InstaLOD for tessellation is using it at the end of the pipeline. If changes are common, many InstaLOD steps can be automated and targeted to specific objects when making use of InstaLOD Scene rules in Studio XL. You can find more about this topic here: https://instalod.zendesk.com/hc/en-us/articles/360014591354-Using-scene-rules-for-full-automation.
    Also our automation tool InstaLOD Pipeline can monitor specific files and folders and if changes in the file structures are present it will trigger the tessellation process with the specified rules, you can find more about the WatchDog functionality here: https://instalod.zendesk.com/hc/en-us/articles/360008637880-Getting-started-with-InstaLOD-WatchDog.
     
     
    Does InstaLOD has a feature of decimation or target polycount to control the desired polycount if a model?
    InstaLOD features a state-of-the-art polygon optimizer with various optimization settings to give users full control over the decimation process. The setting "Absolute Triangles" setting allows users to optimize to a specified target polygon count.
     
    Also, can InstaLOD have the vertex order for both these models since there is not extra edge or vertex added.
    When tessellating or optimizing models, InstaLOD does not use a specific order of polygon placement/removal. Therefore, InstaLOD will not guarantee the order of generated vertices and faces when the underlying topology is different.
     
    Please let me know if I was able to answer your questions. 
     
    Thanks, 
    Calvin
    0
    Comment actions Permalink
  • Saketh Ram

    Hello Calvin,

    Thank you for your reply and time for answering my questions. The information is greatly helpful for me.Since, you might have understood what I must have been expecting, I was hoping if you can conclude or give closure on this problem of restoring parameters and assembly constraints from CAD to mesh model. 

    Do you think it is impossible to do that or possible(if you can guide me how) ?

    Moreover, using instaLOD, can I get access to the submesh level of a CAD part of an assembly? If you remember the structure tree from above, Can I get access to the topology data like not part level  rather Submesh level like faces,edges, vertices etc. is this not possible irrespective of what tessellator we use?

    Also regarding the decimation and vertex reordering, do you think there can be a way in which the vertex reodering can be solved ? I have tried using morphix, Maya, mcg animator, etc and few more which are not effective for all the models. So, I am asking if you think there is any fix for this?

    Finally, I would like to know if atleast such functionality( parametric, assembly constraints, vertex reordering) can be offered by InstaLOD in the future maybe down the roadmap? 

    Thank you for your time once again. Can you give some closure regarding the problem, i just want to know where I am with respect to problem.

    Have  a nice day

    0
    Comment actions Permalink
  • Support
    Hello Saketh, 
     
    Can I get access to the topology data like not part level  rather Submesh level like faces,edges, vertices etc. is this not possible irrespective of what tessellator we use?
    InstaLOD does not offer mesh editing capabilities, therefore, users do not have control over individual vertices, polygons, or edges. This can be done externally in modeling applications. 
     
    Also regarding the decimation and vertex reordering, do you think there can be a way in which the vertex reodering can be solved ?
    We currently do not plan on implementing such a feature.
     
    Thanks, 
    Calvin
    0
    Comment actions Permalink

Please sign in to leave a comment.