11-04-2021, 02:34 PM
您好,我正在使用Mecademic Python后处理器导出RoboDK中设计的程序,在生成输出.py文件时,注意到程序的一些“set ref”和“set tool”命令被跳过。
举个简单的例子,假设我在RoboDK树中有一个主程序“MainProg”,它调用两个子程序“ProgA”和“ProgB”:
ProgA和ProgB包含设置参考框架和工具的命令,并将机器人移动到某个目标:
然后,当我为MainProg生成一个机器人程序时,输出的.py文件看起来像这样:
因此,“set ref”和“set tool”命令从ProgB中跳过。大概是因为它们已经在ProgA中设置了,而ProgA被称为ProgB之前。
如果我手动编辑输出的.py文件,这将导致麻烦,并希望在ProgA之前调用ProgB:没有参考系或工具尚未设置。当RoboDK树中的程序包含生成的.py文件中没有的命令时,这似乎也令人困惑。
你能否解释为什么“set ref”和“set tool”命令(或者其他命令?)被跳过,如果有可能避免这种情况?
亲切的问候,
Maarten
举个简单的例子,假设我在RoboDK树中有一个主程序“MainProg”,它调用两个子程序“ProgA”和“ProgB”:
代码:
MainProg
叫ProgA
叫ProgB
ProgA和ProgB包含设置参考框架和工具的命令,并将机器人移动到某个目标:
代码:
ProgA
设定编号:Meca
设置工具:Meca工具
MoveJ (target1)
ProgB
设定编号:Meca
设置工具:Meca工具
MoveJ (target2)
然后,当我为MainProg生成一个机器人程序时,输出的.py文件看起来像这样:
代码:
def MainProg ():
调用ProgA ()
调用ProgB ()
def ProgA ():
设定编号:Meca
设置工具:Meca工具
MoveJ (target1)
def ProgB ():
MoveJ (target2)
因此,“set ref”和“set tool”命令从ProgB中跳过。大概是因为它们已经在ProgA中设置了,而ProgA被称为ProgB之前。
如果我手动编辑输出的.py文件,这将导致麻烦,并希望在ProgA之前调用ProgB:没有参考系或工具尚未设置。当RoboDK树中的程序包含生成的.py文件中没有的命令时,这似乎也令人困惑。
你能否解释为什么“set ref”和“set tool”命令(或者其他命令?)被跳过,如果有可能避免这种情况?
亲切的问候,
Maarten