0
Abaqus CAEのポイントクリックを促すスクリプトを書く方法はありますか? 私は関数getInputを知っていますが、文字列に対してのみ機能します。Abaqusスクリプト:取得ポイント
Abaqus CAEのポイントクリックを促すスクリプトを書く方法はありますか? 私は関数getInputを知っていますが、文字列に対してのみ機能します。Abaqusスクリプト:取得ポイント
方法はありますが、それほど簡単ではありません。カスタム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,
)
これには、選択したエンティティを処理するために必要なカーネルスクリプトは含まれていません。
ありがとうございます。私が試してみます – janekpel