Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Python Skripting: Beispiel aus Doku + eigener Teil aus Marco-Rec

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 Skripting: Beispiel aus Doku + eigener Teil aus Marco-Rec (1494 mal gelesen)
sakaguchinet
Mitglied



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

Beiträge: 31
Registriert: 18.05.2010

Abaqus 6.11, Python 3.1

erstellt am: 05. Jan. 2012 15:19    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

Hallo,

habe heute angefangen mich stärker mit dem Python Skripting zu befassen (mit MSC Marc ging das deutlich einfacher als mit Abaqus - dort sah man die Befehle direkt in der Befehlszeile beim Klicken in der GUI).

Im Folgenden habe ich einen Teil eines Skriptes aus der Abaqus Doku und einen Teil selbst hinzugefügt, den ich aus der Marco Record Funktion habe. Der erste Teil funktioniert wunderbar und ich sehe das A auf dem Bildschirm. Beim zweiten Teil (ab dem Comment) kommt in der GUI die Fehlermeldung:

IndentationError 'unexpected indent',('C:/TempAbaqus/20110105_test.py',62,4,' myModel.DatumCsysByDefault(CARTESIAN)\n'))

Was mir schon spanisch vorkommt sind die verschiedenen Bezeichnungen(z.B. myModel und a1 oder p). Kann ich nicht einfach den aufgenommenen Marco Code in ein weiter laufendes Skript übernehmen?

Zitat:

"""
modelAExample.py

A simple example: Creating a part.
"""

from abaqus import *
from abaqusConstants import *
backwardCompatibility.setValues(includeDeprecated=True, reportDeprecated=False)

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

myModel = mdb.Model(name='Model-1')

mySketch = myModel.ConstrainedSketch(name='Sketch A', sheetSize=200.0)

xyCoordsInner = ((-5 , 20), (5, 20), (15, 0),
    (-15, 0), (-5, 20))

xyCoordsOuter = ((-10, 30), (10, 30), (40, -30),
    (30, -30), (20, -10), (-20, -10),
    (-30, -30), (-40, -30), (-10, 30))

for i in range(len(xyCoordsInner)-1):
    mySketch.Line(point1=xyCoordsInner[i],
        point2=xyCoordsInner[i+1])

for i in range(len(xyCoordsOuter)-1):
    mySketch.Line(point1=xyCoordsOuter[i],
        point2=xyCoordsOuter[i+1])

myPart = myModel.Part(name='Part A', dimensionality=THREE_D,
    type=DEFORMABLE_BODY)

myPart.BaseSolidExtrude(sketch=mySketch, depth=20.0)

myViewport = session.Viewport(name='Viewport for Model A',
    origin=(10, 10), width=150, height=100)

myViewport.setValues(displayedObject=myPart)

myViewport.partDisplay.setValues(renderStyle=SHADED)

## Ab hier neuer Skriptteil aus Macro Recording (Instance in Assembly einfügen und Step erstellen)
a1 = mdb.Models['Model-1'].rootAssembly
    a1.DatumCsysByDefault(CARTESIAN)
    p = mdb.models['Model-1'].parts['Part A']
    a1.Instance(name='Part A-1', part=p, dependent=ON)
    a = mdb.models['Model-1'].rootAssembly
    session.viewports['Viewport for Model A'].setValues(displayedObject=a)
    session.viewports['Viewport for Model A'].assemblyDisplay.setValues(
        adaptiveMeshConstraints=ON, optimizationTasks=OFF,
        geometricRestrictions=OFF, stopConditions=OFF)
    mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial')
    session.viewports['Viewport for Model A'].assemblyDisplay.setValues(
        step='Step-1')


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

sakaguchinet
Mitglied



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

Beiträge: 31
Registriert: 18.05.2010

Abaqus 6.11, Python 3.1

erstellt am: 05. Jan. 2012 15:30    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

Nachdem ich die Einrückung passend gemacht habe sieht es so aus:
Zitat:

"""
modelAExample.py

A simple example: Creating a part.
"""

from abaqus import *
from abaqusConstants import *
backwardCompatibility.setValues(includeDeprecated=True, reportDeprecated=False)

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

myModel = mdb.Model(name='Model-1')

mySketch = myModel.ConstrainedSketch(name='Sketch A', sheetSize=200.0)

xyCoordsInner = ((-5 , 20), (5, 20), (15, 0),
    (-15, 0), (-5, 20))

xyCoordsOuter = ((-10, 30), (10, 30), (40, -30),
    (30, -30), (20, -10), (-20, -10),
    (-30, -30), (-40, -30), (-10, 30))

for i in range(len(xyCoordsInner)-1):
    mySketch.Line(point1=xyCoordsInner[i],
        point2=xyCoordsInner[i+1])

for i in range(len(xyCoordsOuter)-1):
    mySketch.Line(point1=xyCoordsOuter[i],
        point2=xyCoordsOuter[i+1])

myPart = myModel.Part(name='Part A', dimensionality=THREE_D,
    type=DEFORMABLE_BODY)

myPart.BaseSolidExtrude(sketch=mySketch, depth=20.0)

myViewport = session.Viewport(name='Viewport for Model A',
    origin=(10, 10), width=150, height=100)

myViewport.setValues(displayedObject=myPart)

myViewport.partDisplay.setValues(renderStyle=SHADED)

## Ab hier neuer Skriptteil aus Macro Recording (Instance in Assembly einfuegen und Step erstellen)
a1 = mdb.Model['Model-1'].rootAssembly
a1.DatumCsysByDefault(CARTESIAN)
p = mdb.model['Model-1'].parts['Part A']
a1.Instance(name='Part A-1', part=p, dependent=ON)
a = mdb.model['Model-1'].rootAssembly
session.viewports['Viewport for Model A'].setValues(displayedObject=a)
session.viewports['Viewport for Model A'].assemblyDisplay.setValues(
    adaptiveMeshConstraints=ON, optimizationTasks=OFF,
    geometricRestrictions=OFF, stopConditions=OFF)
mdb.model['Model-1'].StaticStep(name='Step-1', previous='Initial')
session.viewports['Viewport for Model A'].assemblyDisplay.setValues(
    step='Step-1')



Nun habe ich folgenden Fehler:
line 61 in <module> a1 = mdb.Model['Model-1'].rootAssembly TypeError: 'AbaqusMethod' object is unsubscriptable

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