对于我们的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个系统,所以我想用循环代替手动复制粘贴这些。什么是最好的继续方式
答案 0 :(得分:0)
我不确定我是否完全不喜欢你的问题,但是根据你的代码命名,我认为这就是你想要的:
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
并在循环中构建字符串。