What is the context
With 3DEXPERIENCE Platform and its generative design capability, it is easy to generate detailed model of the components with rich semantic (type, attributes, quantities...). Being able to reuse this information outside of the design model is useful for instance to source supply for construction. Knowledge report is a flexible way to extract and post process information included in your model
- A Knowledge report lets you obtain the list of objects of predefined types and attributes as well as the values of the attributes for a given assembly. You can define reports, which allow you to get the values of properties of objects.
- Once a report is defined, you can insert it in a drawing and link it to a 3D Model. The knowledge report will be automatically modified when this 3D Model is updated.
- This is a way to automate the creation of Bill of Materials (BOM), keep it updated and export it as XLS file or in a PDF drawing, which is a crucial challenge in the digital transformation of the construction industry.
How is this covered by the existing portfolio
To create and use a knowledge report it requires Building Design Engineer role and following applications:
- Quality Rules Reuse App
- Drafting Template Design App
- Multi-Discipline Drafting App
The following video shows how to create and configure a knowledge report (Admin part from the beginning to 3min50) and how to use a knowledge report (User part from 3min50 to the end):
- How to configure a knowledge report (Admin part)
Admin part of the video shows how to create and configure a knowledge report. From a wall 3D model made of insulation panels, side panels, horizontal rails and vertical rails, a knowledge report is created. Attributes creation, attribute management, object filter expression creation are showed. A report preview is available. (Quality Rules Reuse App)
An ASD Drawing Template is created to allow computation of a knowledge report into a drawing. This step can be done only once. The ASD Drawing Template can be used for all your knowledge reports. (Drafting Template Design App)
Knowledge reports can be exported to XLS, PDF, HTML, XML, TXT formats
- How to use a knowledge report (User part)
User part of the video shows how to instantiate a knowledge report in a project where the initial wall has been instantiated in an entire model (e.g. exteriors walls of a building). A user wants to generate automatically the number of insulation panels, side panels, horizontal rails and vertical rails and the length of horizontal and vertical rails for each wall and for the entire model.
The knowledge report can be generated and exported as XLS file
- Select the arrow to the right of "Export" then Knowledge Report
- Search for the KP through the data base and select wanted object then "Generate Report"
The knowledge report can also be added to a drawing to be exported as PDF
- A drawing of the whole assembly is created and the knowledge report previously created by the admin is computed inside the drawing. (Multi-Discipline Drafting App)
- Each attribute has been computed automatically for each wall and a line displays the sum for each attribute. It will be updated if the model changes.
It was an instantiation of a knowledge report that can be used for others models without affecting this one.
Where can I find more information
- CATIA user assistance:
- Other examples of attribute and object filter expressions:
Attribute Nominal diameter :
If(ThisObject.Reference.IsSupporting("Piping_Rigid_Pipe"))
{
let tube (Piping_Rigid_Pipe)
set tube = ThisObject.Reference
Attribute=tube.V_NominalSize
}
If(ThisObject.Reference.IsSupporting("IfcMechanicalFastener"))
{
let threaded_rod (IfcMechanicalFastener)
let DN (length)
set threaded_rod = ThisObject.Reference
set DN = threaded_rod.IfcMechanicalFastener_NominalDiameter
Attribute = ToString(DN)
}
Custom attribute “Fournisseur” (Supplier):
let obj (XP_VPMReference_Ext)
set obj = ThisObject.Reference
Attribute = obj.Fournisseur
Object filter expression: exclude object named "Insulation_Wall" and "Side_Wall"
let ref (VPMReference)
ref=ThisObject.Reference
if ref.V_Name == "Insulation_Wall" or ref.V_Name == "Side_Wall" {
ReturnBool=false
}
else
{
ReturnBool=true
}
Object filter expression: filter on “IfcMember” and “IfcWall” objects with no children
If(ThisObject.Reference.IsSupporting("IfcMember")) or (ThisObject.Reference.IsSupporting("IfcWall"))
{
If ThisObject.Children.Filter("ProductOccurrence","").Size()==0
{
ReturnBool = True
}
}
Else
{
ReturnBool = False
}