Autor
|
Thema: Macro mit Bezug auf das aktuelle Modell (388 mal gelesen)
|
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Mrz. 2008 09:52 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe Makros zur Erstellung von Material-properties geschrieben. Leider beziehen sich die Makros immer auf das Modell in dem das Makro erstellt wurde. Wie kann ich auf das aktive Modell zugreifen? Danke schon mal vorab!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 26. Mrz. 2008 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
|
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Mrz. 2008 13:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Mustaine, vielen Dank schon mal. Leider bin noch absoluter Script Neuling. Leider habe ich trotz langer Suche den Fehler nicht gefunden. Ich habe das Script mal eingefügt. from abaqus import * from abaqusConstants import * import regionToolset import material # strmodelName = session.sessionState[session.currentViewportName]['modelName'] mdb.models['strmodelName'].Material(name='C30_37_Verf_smeared', description='Mittelwerte_fuer_Verformung') mdb.models['strmodelName'].materials['C30_37_Verf_smeared'].Density(table=(( 2.4e-09, ), )) mdb.models['strmodelName'].materials['C30_37_Verf_smeared'].Elastic(table=((31900.0, 0.18), )) mdb.models['strmodelName'].materials['C30_37_Verf_smeared'].Concrete(table=(( 12.7492, 0.0), (23.0188, 0.0004375), (30.7071, 0.000875), (35.7062, 0.0013125), (37.9027, 0.00175), (37.1762, 0.0021875), (33.3996, 0.002625), (26.4383, 0.0030625))) mdb.models['strmodelName'].materials['C30_37_Verf_smeared'].concrete.FailureRatios( table=((1.16, 0.076, 0.0, 0.0), )) mdb.models['strmodelName'].materials['C30_37_Verf_smeared'].concrete.TensionStiffening( type=DISPLACEMENT, table=((0.185, ), )) # print '\n==================' print 'Model: '+strmodelName print '------------------' # Bin für jeden Tipp dankbar! Gruß Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 26. Mrz. 2008 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
Dein Modelname ist schon ein String. Du darfst ihn dann bei sowas mdb.models['strmodelName'] nicht nochmal in Hochkommata setzen. Ansonsten kannst du die immer wiederkehrenden Teile der Objektkette in Variablen legen und damit arbeiten. Das macht es etwas übersichtlicher. Hier ein Beispiel: Code:
from abaqus import * from abaqusConstants import * import regionToolset import material # strmodelName = session.sessionState[session.currentViewportName]['modelName']a = mdb.models[strmodelName] a.Material(name='C30_37_Verf_smeared',description='Mittelwerte_fuer_Verformung') b = a.materials['C30_37_Verf_smeared'] b.Density(table=((2.4e-09, ), )) b.Elastic(table=((31900.0,0.18), )) b.Concrete(table=(( 12.7492, 0.0), (23.0188, 0.0004375), (30.7071, 0.000875), (35.7062, 0.0013125), (37.9027, 0.00175), (37.1762, 0.0021875), (33.3996, 0.002625), (26.4383, 0.0030625))) b.concrete.FailureRatios(table=((1.16, 0.076, 0.0, 0.0), )) b.concrete.TensionStiffening(type=DISPLACEMENT, table=((0.185, ), )) # print '\n==================' print 'Model: '+strmodelName print '------------------'
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Mrz. 2008 14:30 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|