0

私はしばらくの間 Abaqus を使用していますが、マクロと Python スクリプトは初めてです。この種の質問が既に行われている場合は申し訳ありません.Googleで検索して、同様の問題があるかどうかを確認しましたが、何も機能しません..

私の問題は次のとおりです。

Abaqus にモデルがあり、2 つのステップで解析を実行し、その中にパスを作成しました。各ステップの各フレームについて、このパスに沿ってフォン ミーゼス応力の値を抽出したいと考えています。理想的には、簡単にさらに分析できるように、Excel または .txt ファイルに保存したいと思います (Matlab など)。

編集 :問題の一部を解決しました。マクロが機能し、すべてのデータが XY データ マネージャーに正しく保存されました。

すべての「Y」データを Excel またはテキスト ファイルに保存したいのですが、その方法がわかりません。私は掘り続けますが、誰かがアイデアを持っているなら、私はそれを取ります!

abaqusMacros.py ファイルのコードは次のとおりです。

# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__



def VonMises():
    import section
    import regionToolset
    import displayGroupMdbToolset as dgm
    import part
    import material
    import assembly
    import step
    import interaction
    import load
    import mesh
    import optimization
    import job
    import sketch
    import visualization
    import xyPlot
    import displayGroupOdbToolset as dgo
    import connectorBehavior

    odbFile = session.openOdb(name='C:/Temp/Job-1.odb')
    stepsName = odbFile.steps.keys()
    for stepId in range(len(stepsName)):
            numberOfFrames = len(odbFile.steps.values()[stepId].frames)
            for frameId in range(numberOfFrames):
                    session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(
                        variableLabel='S', outputPosition=INTEGRATION_POINT, refinement=(
                            INVARIANT, 'Mises'))
                    session.viewports['Viewport: 1'].odbDisplay.setFrame(step=stepId, frame=frameId)
                    pth = session.paths['Path-1']
                    session.XYDataFromPath(name='Step_'+str(stepId)+'_'+str(frameId), path=pth, includeIntersections=False, 
                        projectOntoMesh=False, pathStyle=PATH_POINTS, numIntervals=10, 
                        projectionTolerance=0, shape=DEFORMED, labelType=TRUE_DISTANCE)
4

3 に答える 3