Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Python-Script / Schleife

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Python-Script / Schleife (2509 mal gelesen)
arti19
Mitglied
Wirtsch.-Ing.


Sehen Sie sich das Profil von arti19 an!   Senden Sie eine Private Message an arti19  Schreiben Sie einen Gästebucheintrag für arti19

Beiträge: 37
Registriert: 27.04.2011

erstellt am: 25. Mai. 2011 15:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

Mr.Inventor
Mitglied
Dipl.-Ing. (FH)


Sehen Sie sich das Profil von Mr.Inventor an!   Senden Sie eine Private Message an Mr.Inventor  Schreiben Sie einen Gästebucheintrag für Mr.Inventor

Beiträge: 21
Registriert: 28.06.2009

erstellt am: 26. Mai. 2011 12:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für arti19 10 Unities + Antwort hilfreich

Hallo arti19,

das Script bricht an der Stelle ab weil die Partition keinen Geometrie findet welche die Fläche schneidet. Das liegt an der Anfangsrisslänge von 0. Ändere die Anfangsrisslänge dann läuft das Script durch.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

arti19
Mitglied
Wirtsch.-Ing.


Sehen Sie sich das Profil von arti19 an!   Senden Sie eine Private Message an arti19  Schreiben Sie einen Gästebucheintrag für arti19

Beiträge: 37
Registriert: 27.04.2011

erstellt am: 27. Mai. 2011 17:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke dir! Es läuft jetzt.

Ich habe da noch eine Frage. Wie kann ich aus .odb Datei bestimmte Werte abfragen und diese in Python-Script einbetten?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz