# Copyright (c) 2026 JSOL CORPORATION # # This script is released under the MIT License. # See the full license text at: # https://www.jmag-international.com/scriptlibrary/jmag_script_library_mit/ app = designer.GetApplication() graphNm = u"targetSectionArc001" def createArcGraphForSection(study, params): """Create a new arc graph for the section.""" sectionGraph = study.CreateSectionGraph(graphNm) sectionGraph.SetResultType(params["resultType"], params["sourceTitle"]) sectionGraph.SetAbscissa(params["abscissa"]) sectionGraph.SetArcExpression(params["arcExpression"]["originX"], params["arcExpression"]["originY"], params["arcExpression"]["originZ"], params["arcExpression"]["axisX"], params["arcExpression"]["axisY"], params["arcExpression"]["axisZ"], params["arcExpression"]["startX"], params["arcExpression"]["startY"], params["arcExpression"]["startZ"], params["arcExpression"]["angle"], params["arcExpression"]["radius"]) sectionGraph.Build() return sectionGraph def outputResultSet(sectionGraph): """Log the section's dataset.""" dataSet = sectionGraph.GetDataSet() header = f"{dataSet.GetXAxisTitle()}, {dataSet.GetYAxisTitle()}" print(header) for i in range(dataSet.GetRows()): msg = f"{dataSet.GetValue(i, 0):13.10f}, {dataSet.GetValue(i, 1):13.10f}" print(msg) study = app.GetCurrentStudy() params = { "resultType" : u"MisesStress", "sourceTitle" : u"", "abscissa" : u"angle", "arcExpression" : { "originX" : u"0", "originY" : u"0", "originZ" : u"5", "axisX" : u"0", "axisY" : u"0", "axisZ" : u"1", "startX" : u"26", "startY" : u"0", "startZ" : u"5", "angle" : u"90", "radius" : u"26" }, } sectionGraph = createArcGraphForSection(study, params) if study.HasResult(): outputResultSet(sectionGraph)