【问题标题】:Abaqus scripting: get pointAbaqus 脚本:获取要点
【发布时间】:2021-10-21 20:21:33
【问题描述】:

有没有办法编写一个脚本来提示在 Abaqus CAE 中单击? 我知道函数 getInput 但它只适用于字符串。

【问题讨论】:

    标签: python abaqus


    【解决方案1】:

    有办法,但没那么容易。您需要创建自定义 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,
    )
    

    请注意,这不包括处理所选实体所需的内核脚本。

    【讨论】:

    • 谢谢。我试试
    【解决方案2】:

    这里面怎么称呼?使用 RSG,您只需执行以下操作,就会出现选择按钮:

    RsgPickButton(p='DialogBox', text='Select a face:', keyword='myFace', prompt='Pick a face', entitiesToPick='MDB_GEOMETRY|FACES', numberToPick='ONE')
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到更多关于如何写出好答案的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多