PowerMill后处理'UserError'全局函数详解


serError(error_string)
此函数在 CLDATA 文件发生错误时中断后处理(例如,如果条件不满足)。在命令执行过程中,当 Autodesk Manufacturing Post-Processor Utility遇到此函数时,它在函数调用位置停止,在 输出 窗口中显示用户定义消息。

参数
error_string - 用户定义的错误消息
这是在 UserError()函数执行时显示的错误消息。它可以包含文本和其他信息,如当前参数值。

示例 1 (JScript)
如果你有一个只能处理连续 5 轴刀具路径的选项文件,通过将下面的函数与 线性移动 和其他相关的命令相关联,当在刀具路径中遇到另一种模式时,您可以强制它中断后处理:

function Process_with_axis_mode_check()

{
// Interrupt processing if toolpath is not in 5-axis mode
if (GetParam("%p(Toolpath Axis Mode)%") != "5AXIS")
{
UserError("Toolpath cannot be processed as it contains 3-axis or 3+2 parts");
}
returnStandardResponse();
}

对任何非连续 5 轴模式,Autodesk Manufacturing Post Processor Utility 停止处理 CLDATA 文件并在相关命令运行时显示以下消息:

·在 UserError()函数可能执行后,必须调用 StandardResponse()函数。否则,在错误消息之前,不管轴模式如何,都可能生成错误的 NC 代码。

·与命名的命令相关联的超链接允许用户跳转到该命令程序段。

示例 2 (JScript)
此示例演示在生成 UserError时,如何将参数值添加到输出字符串中。

function On_move()
{
// Negative X values not allowed.
if (GetParam("%p(X)%") < 0)
{
// Write down error and stop processing.
UserError("X is negative: " + GetParam("%p(X)%"));
}
return StandardResponse();
}

如果从一个命令的后处理中生成了一个负的 X值,并且该命令调用 on_move函数,那么,如果,例如,这个命令是一个 线性移动,并且 X是返回 - 40Autodesk Manufacturing Post Processor Utility会停止后处理并输出以下消息:

- - - - - - - - - - - - - - - - - - - - -

用户错误!!X 是负数: - 40
命令:线性移动
脚本位置:行 20,位置 4

- - - - - - - - - - - - - - - - - - - - -

请注意,参数X的当前值是目前在输出中。

  • 示例 3 (JScript)
  • UserError()函数可以允许各种要返回的数据类型:
  • function Error_message_test()
  • {
  • SetParam("%p(Delay)%", 123.456);
  • SetParam("%p(Comment)%", "my comment.");
  • UserError(" Test. String: " + GetParam("%p(Comment)") + " Real: " + GetParam("%p(Delay)%") + " Number: " + 987.654 + " End Test.");
  • return "";
  • }
  • 如果这个函数已链接到 程序开始 命令,Autodesk Manufacturing Post Processor Utility停止处理并在 输出 窗口中输出下列错误:
  • - - - - - - - - - - - - - - - - - - - - -
  • 用户错误!!测试。字符串:我的注释。实数:123.456数字: 987.654 结束测试。
  • 启动程序的命令:
  • 脚本位置:行 20,位置 4
  • - - - - - - - - - - - - - - - - - - - - -
  • 示例 4 (JScript)

此示例演示如何使用 UserError()函数来处理孔加工循环设置。条件是:
· 不支持多轴孔加工循环。
· 不支持 螺旋 和 反螺旋 循环。
· 如果循环设置程序段不会产生任何输出,会停止处理并出现错误信息显示。
· 断屑循环有附加的设置,以写进数控加工程序。由断屑安装命令程序段已经生成输出的这些设置。

下面的函数必须链接到所有钻孔安装命令,所有的一切都必须处于当前状态:

function On_cycle_setup()
{
  var out_str = "";
  // 1. 如果 CLDATA 包含多轴孔加工循环,则弹出错误并停止后处理。
  if (GetParam("%p(Toolpath Axis Mode)%") == "5axis")
  {
    UserError(Multi-axis Drilling Cycle not allowed!!);
  }
  // 2. 如果处理不支持的循环,则弹出错误
  if (GetParam("%p(Drilling Cycle Type)%") == "HELICAL" ||
      GetParam("%p(Drilling Cycle Type)%") == "REVERSED_HELICAL")
  {
    UserError("Unsupported drilling cycle!");
  }
  // 3. 生成循环设置输出。如果它是空的,则弹出错误。
  var out_str = StandardResponse();
  if(out_str = = """)
  {
    UserError(""孔加工循环设置程序段是空的 !"");
  }
  // 4。添加特殊代码到循环设置,如果使用"断屑"
  if (GetParam("%p(Drilling Cycle Type)%") == "BREAK_CHIP")
  {
    // generate output for user-defined block
    out_str += StandardResponse("%b(Break Chip Setup)%");
  }
  return out_str;

}

在每种情况下会发生什么:

1、2,在前两种情况下,如果任何一个条件不满足,就会出现相应的错误消息。发生错误的命令的名称是与前面示例消息中包含的。

3. StandardResponse() 调用初始化当前循环设置程序段的处理并生成数控加工程序的输出。如果从程序段输出的字符串为空,则生成错误。

·如果已生成错误1或错误2,则函数的这一部分不处理并且没有case3输出)。

4.这个附加的程序段被解析,如果断屑设置命令已处理。

·"+=" 运算符号用于插入额外的输出到 out_str . 如果它没有使用,则丢失自初始程序段的输出。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空