' COPYRIGHT DASSAULT SYSTEMES 2000 ' *********************************************************************** ' Purpose: Select groups and mesh part for visualization of image ' Assumptions: Octree tetrahedron mesh part exists in the model ' Author: bmw ' Languages: VBScript ' Locales: English ' CATIA Level: V5R16 ' *********************************************************************** Sub CATMain() ' ----------------------------------------------------------- ' Optional: allows to find the sample wherever it's installed sDocPath=CATIA.SystemService.Environ("CATDocView") If (Not CATIA.FileSystem.FolderExists(sDocPath)) Then Err.Raise 9999,,"No Doc Path Defined" End If ' ----------------------------------------------------------- ' Open the CATAnalysis Document sFilePath = CATIA.FileSystem.ConcatenatePaths(sDocPath, "online\CAAScdAniUseCases\samples\Cube_R13_Freq.CATAnalysis") Set oAnalysisDocument = CATIA.Documents.Open(sFilePath) ' Retrieve the Analysis Manager Set oAnalysisManager = oAnalysisDocument.Analysis
' Retrieve the analysis model from the list of models Set oAnalysisModels = oAnalysisManager.AnalysisModels Set oAnalysisModel = oAnalysisModels.Item(1) ' Retrieve the analysis cases and the first analysis case Set oAnalysisCases = oAnalysisModel.AnalysisCases Set oAnalysisCase = oAnalysisCases.Item(1) ' Retrieve the analysis sets and analysis set by its name Set oAnalysisSets = oAnalysisCase.AnalysisSets Set oAnalysisSet = oAnalysisSets.Item("Restraints.1", catAnalysisSetSearchAll) Set analysisEntities1 = oAnalysisSet.AnalysisEntities Set analysisEntity1 = analysisEntities1.Item(1) 'add selection (specificationgroups) clamp on Image Von Mises Stress (nodal values) (no selection before ReplaceMode=True) '============================================================================ Set reference1 = oAnalysisManager.CreateReferenceFromObject(analysisEntity1) Set analysisSet2 = oAnalysisSets.Item("Frequency Case Solution.1", catAnalysisSetSearchAll) Set analysisImages1 = analysisSet2.AnalysisImages Set analysisImage1 = analysisImages1.Item("Von Mises Stress (nodal values).1") analysisImage1.SetSelection reference1, True analysisImage1.Update 'add selection (usergroups) SurfaceGroup.1 on Image Von Mises Stress (nodal values) (ReplaceMode=False) '===================================================================== ' Get the list of groups and create reference from first group Set analysisSets2 = oAnalysisModel.AnalysisSets Set analysisSet3 = analysisSets2.ItemByType("GroupSet") Set analysisEntities2 = analysisSet3.AnalysisEntities Set analysisEntity2 = analysisEntities2.Item(1) Set reference2 = oAnalysisManager.CreateReferenceFromObject(analysisEntity2)
' Set the created reference for Selection in Von Mises Stress Image analysisImage1.SetSelection reference2, False analysisImage1.Update 'remove all selections on Image Von Mises Stress (nodal values) '====================================== ' Remove all the selections and update analysisImage1.ResetSelection analysisImage1.Update 'add selection (meshparts) OctreeTetrahedronMesh.1:Part1 on Image Von Mises Stress (nodal values) (ReplaceMode=True) '========================================================================== ' Retrieve the mesh part OCTREE Tetrahedron Filler Set analysisSets3 = oAnalysisModel.AnalysisSets Set oAnalysisMeshManager = analysisSets3.ItemByType("MSHMeshSet") Set oAnalysisMeshParts = oAnalysisMeshManager.AnalysisMeshParts Set analysisMeshPart1 = oAnalysisMeshParts.Item("OCTREE Tetrahedron Mesh.1 : Part1")
'Create reference from the mesh part and set the selection Set reference3 = oAnalysisManager.CreateReferenceFromObject(analysisMeshPart1) analysisImage1.SetSelection reference3, True analysisImage1.Update End Sub