Hi,
ich habe momentan ein Problem. Ich habe ein Python Script zum Risswachstum und automatischen Vernetzung geschrieben. Dieser Script funktioniert jedoch nur teilweise. Folgende Meldung wird ausgegeben: "Feature Error: Regeneration failed".
Hier Mein Python Script:
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
maxRisslaenge = 10
Risslaenge = 0
while Risslaenge <= maxRisslaenge:
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
p = mdb.models['Model-1'].parts['Part-1']
s = p.features['Partition face-1'].sketch
mdb.models['Model-1'].ConstrainedSketch(name='__edit__', objectToCopy=s)
s2 = mdb.models['Model-1'].sketches['__edit__']
g, v, d, c = s2.geometry, s2.vertices, s2.dimensions, s2.constraints
s2.setPrimaryObject(option=SUPERIMPOSE)
p.projectReferencesOntoSketch(sketch=s2,
upToFeature=p.features['Partition face-1'], filter=COPLANAR_EDGES)
d[0].setValues(value=Risslaenge, )
s2.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['Part-1']
p.features['Partition face-1'].setValues(sketch=s2)
del mdb.models['Model-1'].sketches['__edit__']
p = mdb.models['Model-1'].parts['Part-1']
p.regenerate()
p = mdb.models['Model-1'].parts['Part-1']
p.regenerate()
session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
referenceRepresentation=OFF)
a = mdb.models['Model-1'].rootAssembly
a.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(interactions=OFF,
constraints=OFF, connectors=OFF, engineeringFeatures=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=ON)
a = mdb.models['Model-1'].rootAssembly
partInstances =(a.instances['Part-1-1'], )
a.seedPartInstance(regions=partInstances, size=6.0, deviationFactor=0.1)
a = mdb.models['Model-1'].rootAssembly
partInstances =(a.instances['Part-1-1'], )
a.generateMesh(regions=partInstances)
Risslaenge = Risslaenge + 1
Ich habe alles ausprobiert. Wenn ich nur bis "p.regenerate()" durchlaufen lasse, dann funktioniert alles. Wenn ich ab "p.regenerate()" durchlaufen lasse, funktioniert ebenfalls. Doch zusammen in einer Schleife funktionieren die beiden Teilscripte nicht. Wenn ich jedoch die beiden Teile des Scripts zusammen ohne Schleife ablaufen lasse, funktioniert alles sehr gut.
Doch ich brauche eine Schleife.
Ich weiß nicht weiter. Hoffe, Ihr könnt mir weiter helfen.
Gruß
[Diese Nachricht wurde von arti19 am 25. Mai. 2011 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP