Language="VBSCRIPT" ' COPYRIGTH DASSAULT SYSTEMES 2000 ' *********************************************************************** ' Purpose: Create a New Analysis document. ' Import on a CATPart document with some publication defined ' Define all pre-processing data based on publications ' Launch the Computation. ' Create a AnalysisSensor and display its values ' Create an Image and export data, then deactivate and update it ' Assumptions: Looks for AnalysisMechfeat.CATPart stored in the DocView ' Author: ' Languages: VBScript ' Locales: English ' CATIA Level: V5R10 ' *********************************************************************** Sub CATMain() ' ----------------------------------------------------------- ' Optional: allows to find the sample wherever it's installed DocPath=CATIA.SystemService.Environ("CATDocView") If(Not CATIA.FileSystem.FolderExists(sDocPath)) Then Err.Raise 9999,,"No Doc Path Defined" End If ' ----------------------------------------------------------- ' Get the collection of documents in session Set documents1 = CATIA.Documents ' Create the CATAnalysis Document Set TheAnalysisDocument = documents1.Add("Analysis") ' Only one Analysis Document is required ' if WB name already is "GPSCfg", not to use StartWorkbench WBName = CATIA.GetWorkbenchId if (WBName <> "GPSCfg") Then CATIA.StartWorkbench("GPSCfg") End If '_____________________________________________________________________________________ ' Start to scan the existing structure of analysis document: Retrieve the AnalysisManager ' We call the Import on CATAnalysisImport which implements CATISamImportDefine
Set analysisManager1 = TheAnalysisDocument.Analysis
Dim arrayOfVariantOfShort1(0) analysisManager1.ImportDefineFile (sDocPath & sSep & "online" & sSep & "CAAScdAniUseCases" & sSep & "samples" & sSep & "AnalysisMechfeat.CATPart"),
"CATAnalysisImport", arrayOfVariantOfShort1 ' _____________________________________________________________________________________ ' Reframe All. Set specsAndGeomWindow1 = CATIA.ActiveWindow Set viewer3D1 = specsAndGeomWindow1.ActiveViewer viewer3D1.Reframe ' _____________________________________________________________________________________ ' Scan the analysis document: Retrieve the Pointed documents to extract the reference for pre-processing Set analysisLinkedDocuments1 = analysisManager1.LinkedDocuments CATIA.SystemService.Print analysisLinkedDocuments1.Name If (analysisLinkedDocuments1.Count <> 1 ) Then Err.Raise 9999,,"NbDoc Lié NE 1" End If ' _____________________________________________________________________________________ ' Retrieve the CATPart Document and associated publications for pre-processing. Set TheDoc = analysisLinkedDocuments1.Item(1) CATIA.SystemService.Print TheDoc.FullName Set product1 = TheDoc.Product Set publications1 = product1.Publications Set publication1 = publications1.Item("Bottomface") Set publication2 = publications1.Item("Sliding1") Set publication3 = publications1.Item("Sliding2") Set publication4 = publications1.Item("ResizeBody") ' _____________________________________________________________________________________ ' Create a Static Case in the current analysis model. Set analysisModels1 = analysisManager1.AnalysisModels Set analysisModel1 = analysisModels1.Item(1) Set analysisCases1 = analysisModel1.AnalysisCases Set analysisCase1 = analysisCases1.Add() Set analysisSets1 = analysisCase1.AnalysisSets Set analysisSet1 = analysisSets1.Add("RestraintSet", catAnalysisSetIn) Set analysisSet2 = analysisSets1.Add("LoadSet", catAnalysisSetIn) Set analysisSet3 = analysisCase1.AddSolution("StaticSet") ' _____________________________________________________________________________________ ' Create clamp boundary. Set analysisEntities1 = analysisSet1.AnalysisEntities Set analysisEntity1 = analysisEntities1.Add("SAMClamp") analysisEntity1.AddSupportFromPublication product1, publication1 ' _____________________________________________________________________________________ ' Create Slider boundary. Set analysisEntity2 = analysisEntities1.Add("SAMSurfaceSlider") analysisEntity2.AddSupportFromPublication product1, publication2 analysisEntity2.AddSupportFromPublication product1, publication3 ' _____________________________________________________________________________________ ' Create Pressure. Set analysisEntities2 = analysisSet2.AnalysisEntities Set analysisEntity3 = analysisEntities2.Add("SAMPressure") analysisEntity3.AddSupportFromPublication product1, publication4 analysisEntity3.SetValue "SAMPressureMag","", 0, 0, 0, 500. ' _____________________________________________________________________________________ ' Define a global sensor measuring the maximum value of VonMises criterion. Set dimension1 = analysisManager1.Parameters.CreateDimension("Maximum value of VonMises criterion", "PRESSURE", 0.000000) Set formula1 = analysisManager1.Relations.CreateFormula("Maximum value of VonMises criterion","",dimension1,"misesmax(`Finite Element Model.1\Static Case Solution.1` ) ") ' _____________________________________________________________________________________ ' Launch Computation. analysisCase1.Compute CATIA.SystemService.Print " Mises Max Computed " & dimension1.ValueAsString ' _____________________________________________________________________________________ ' Create corresponding image. Set analysisImages1 = analysisSet3.AnalysisImages Set analysisImage1 = analysisImages1.Add("StressVonMises_Iso_Smooth", False, False, True) ' _____________________________________________________________________________________ ' Export data from image. outputPath=CATIA.SystemService.Environ("CATTemp") If(Not CATIA.FileSystem.FolderExists(outputPath)) Then Err.Raise 9999,,"No Output Path Defined" End If Set fileSystem1 = CATIA.FileSystem Set folder1 = fileSystem1.GetFolder(outputPath) analysisImage1.ExportData folder1, "VonMises", "txt" ' _____________________________________________________________________________________ ' Reframe All. viewer3D1.Reframe ' _____________________________________________________________________________________ ' Deactivate and Update image. analysisImage1.SetActivationStatus false analysisImage1.Update '------------------------------- END END END ---------------------------- CATIA.DisplayFileAlerts = False End Sub