【发布时间】:2021-10-21 20:21:33
【问题描述】:
有没有办法编写一个脚本来提示在 Abaqus CAE 中单击? 我知道函数 getInput 但它只适用于字符串。
【问题讨论】:
有没有办法编写一个脚本来提示在 Abaqus CAE 中单击? 我知道函数 getInput 但它只适用于字符串。
【问题讨论】:
有办法,但没那么容易。您需要创建自定义 GUI 过程。使用简单的内核脚本将无法完成这项工作。
您应该实现一个自定义的AFXPickStep 过程。有关该过程本身的更多信息,请参见 Abaqus 文档:Abaqus GUI Toolkit Reference Guide > All Classes > AFXPickStep。
这是一个类似程序的小示例,用于在 Abaqus Viewer 中选择节点。根据您自己的需要进行调整。
import abaqusConstants
import abaqusGui
class PickNodesProcedure(abaqusGui.AFXProcedure):
def __init__(self, owner):
abaqusGui.AFXProcedure.__init__(self, owner)
self.cmd = abaqusGui.AFXGuiCommand(
mode=self,
method='pick',
objectName='node_set',
registerQuery=abaqusGui.FALSE
)
self.nodesKw = abaqusGui.AFXObjectKeyword(
command=self.cmd,
name='node',
isRequired=abaqusGui.TRUE
)
def activate(self):
return abaqusGui.AFXProcedure.activate(self)
def getFirstStep(self):
self.pickStep = abaqusGui.AFXPickStep(
owner=self,
keyword=self.nodesKw,
prompt="Pick nodes",
entitiesToPick=abaqusGui.NODES,
numberToPick=abaqusGui.ONE,
sequenceStyle=abaqusGui.TUPLE
)
return self.pickStep
def getLoopStep(self):
return self.pickStep
toolset = abaqusGui.getAFXApp().getAFXMainWindow().getPluginToolset()
toolset.registerGuiMenuButton(
buttonText='Pick Nodes',
object=PickNodesProcedure(toolset),
kernelInitString='import kernel_module',
applicableModules=abaqusConstants.ALL,
)
请注意,这不包括处理所选实体所需的内核脚本。
【讨论】:
这里面怎么称呼?使用 RSG,您只需执行以下操作,就会出现选择按钮:
RsgPickButton(p='DialogBox', text='Select a face:', keyword='myFace', prompt='Pick a face', entitiesToPick='MDB_GEOMETRY|FACES', numberToPick='ONE')
【讨论】: