2011-08-11 32 views
-1

我想生成一個腳本來自動化某些事情。 當我記錄我的行動,我得到Python:我們的ansys軟件使用循環的名稱變量

template1 = GetTemplate(
    TemplateName="Random Vibration", 
    Solver="ANSYS") 
system1 = GetSystem(Name="Modal (ANSYS)") 
component1 = system1.GetComponent(Name="Engineering Data") 
component2 = system1.GetComponent(Name="Geometry") 
component3 = system1.GetComponent(Name="Model") 
component4 = system1.GetComponent(Name="Solution") 
componentTemplate1 = GetComponentTemplate(Name="SimulationSetupCellTemplate_StructuralRandomVibrationANSYS") 
system2 = template1.CreateSystem(
    ComponentsToShare=[component1, component2, component3], 
    DataTransferFrom=[Set(FromComponent=component4, TransferName=None, ToComponentTemplate=componentTemplate1)], 
    Position="Right", 
    RelativeTo=system1) 

有需要創建72個sytems以下,所以我想用手動代替一個循環做到這一點複製粘貼這些。什麼是繼續

+1

請用數據和代碼的例子來更改您的問題。你試圖掃描的數據結構在哪裏? – Lorenzo

+0

該代碼是一個ansys數據集,但這不相關,因爲掃描本身沒有問題。它是複製系統的創建。每個新塊都是前一個的複製粘貼 - system2,system3,...,system72 – bram

+0

這是我迄今爲止對於複製循環或我在範圍內(2,38): \t \t \t \t B = i -1 \t \t \t 「系統」 + STR(ⅰ)= template1.CreateSystem( \t \t \t ComponentsToShare = [COMPONENT1,COMPONENT2,component3], \t \t \t DataTransferFrom = [集(FromComponent = component4,TransferName =無, ToComponentTemplate = componentTemplate1)], \t \t \t Position =「right」 , \t \t \t RelativeTo =「system」+ str(B)) – bram

回答

0

我不知道我完全undesrtood你的問題,但是從你的代碼命名,我認爲這是你想要什麼樣的最佳方式:

systems1 = [] 
systems2 = [] 
templates = [] 
components1 = [] 
components2 = [] 
components3 = [] 
components4 = [] 
for i in range(72):  
    template = GetTemplate(
     TemplateName="Random Vibration", 
     Solver="ANSYS") 
    system = GetSystem(Name="Modal (ANSYS)") 
    component = system.GetComponent(Name="Engineering Data") 
    component1 = system.GetComponent(Name="Geometry") 
    component2 = system.GetComponent(Name="Model") 
    component3 = system.GetComponent(Name="Solution") 
    componentTemplate = GetComponentTemplate(Name="SimulationSetupCellTemplate_StructuralRandomVibrationANSYS") 
    system = template.CreateSystem(
    ComponentsToShare=[component1, component2, component3], 
    DataTransferFrom=[Set(FromComponent=component4, TransferName=None, ToComponentTemplate=componentTemplate)], 
    Position="Right", 
    RelativeTo=system) 
    templates.append(template) 
    ... rest of appends... 

的追加是,如果你需要訪問這些後來,正如我猜你所做的那樣。如果你真的需要將它們命名爲system1,system2等,你可以使用exec並在循環中構建你的字符串。