Autor
|
Thema: Abaqus Model name (548 / mal gelesen)
|
pinkey Mitglied student
Beiträge: 10 Registriert: 08.06.2021
|
erstellt am: 08. Jun. 2021 00:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, Dies ist mein Code für die parametrische Modellnamen in abaqus.ich möchte den Code mit len() ändern. Aber es funktioniert nicht. bitte helfen. #Codes Beam_h = [20, 30, 50] #Beam Height mm Beam_w = [10, 10, 10] #Beam width mm for x,y in zip(Beam_h,Beam_w): modelName = 'model%d-%d'%(x,y) BeamModel = mdb.Model(name=modelName) ##Ergebnis ist--model20-10,model30-10,model50-10 # Ich brauche Beam_h = [20, 30, 50] #Beam Height mm Beam_w = [10, 10, 10] #Beam width mm for x in range(len(Beam_h)): for y in range (len(Beam_w)): modelName = 'model%d-%d'%(x,y) BeamModel = mdb.Model(name=modelName) 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: 08. Jun. 2021 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für pinkey
|
pinkey Mitglied student
Beiträge: 10 Registriert: 08.06.2021
|
erstellt am: 08. Jun. 2021 12:16 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich versuche, Modellnamen in Abaqus in Bezug auf die Werte in zwei Array-Listen zu ändern. Zuerst habe ich zwei Array-Listen Beam_h,Beam_w erstellt. Was kann ich tun, wenn meine Modellnamen lauten sollen: model20-10, model30-10, model50-10? aber dieser Code gibt mir 9 Modelle nicht 3 Modelle. #Hier ist codes Beam_h = [20, 30, 50] #Beam height mm Beam_w = [10, 10, 10] #Beam width mm for i in range(len(Beam_h)): for j in range (len(Beam_w)): modelName = 'model%d-%d'%(Beam_h[i],Beam_w[j]) BeamModel = mdb. Model(name=modelName) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pinkey Mitglied student
Beiträge: 10 Registriert: 08.06.2021
|
erstellt am: 08. Jun. 2021 12:20 <-- editieren / zitieren --> Unities abgeben:
[QUOTE]Original erstellt von pinkey: [B] Hi, I'm trying to change model names in Abaqus with respect to the values in two array lists. First, I created two array lists Beam_h.Beam_w. What can I do if I want my model names to be: model20-10, model30-10, model50-10? but this code gives me 9 models not 3 models. #Hier is codes Beam_h = [20, 30, 50] #Beam height mm Beam_w = [10, 10, 10] #Beam width mm for i in range(len(Beam_h)): for j in range (len(Beam_w)): modelName = 'model%d-%d'%(Beam_h[i],Beam_w[j]) BeamModel = mdb. Model(name=modelName) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pinkey Mitglied student
Beiträge: 10 Registriert: 08.06.2021
|
erstellt am: 08. Jun. 2021 12:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von pinkey: Hallo, Ich versuche, Modellnamen in Abaqus in Bezug auf die Werte in zwei Array-Listen zu ändern. Zuerst habe ich zwei Array-Listen Beam_h,Beam_w erstellt. Was kann ich tun, wenn meine Modellnamen lauten sollen: model20-10, model30-10, model50-10? aber dieser Code gibt mir 9 Modelle nicht 3 Modelle.#Hier ist codes Beam_h = [20, 30, 50] #Beam heightmm Beam_w = [10, 10, 10] #Beam width mm for i in range(len(Beam_h)): for j in range (len(Beam_w)): modelName = 'model%d-%d'%(Beam_h[i],Beam_w[j]) BeamModel = mdb. Model(name=modelName)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Jun. 2021 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für pinkey
Servus Und warum dann zwei Schleifen verwenden? Eine sollte doch reichen Code: Beam_h = [20, 30, 50] #Beam height mm Beam_w = [10, 10, 10] #Beam width mmfor i in range(len(Beam_h)): modelName = 'model%d-%d'%(Beam_h[i],Beam_w[i]) print(modelName) BeamModel = mdb.Model(name=modelName)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. 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: 08. Jun. 2021 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für pinkey
Oder man lässt die zwei Schleifen (ggf. für zukünftige Flexibilität) und die Liste Beam_w hat nur einen Eintrag: Beam_w = [10] #Beam width mm Übrigens kann man direkt über Listen iterieren. Man muss nicht mit range() und len() arbeiten. Die Iterationsvariable hat dann immer den Wert des aktuellen Listeneintrags.
Beispiel: Code: my_list = ['abc', 15, 'xyz'] for i in my_list: print(str(i))
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pinkey Mitglied student
Beiträge: 10 Registriert: 08.06.2021
|
erstellt am: 08. Jun. 2021 18:08 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|