私はしばらくの間 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)