在 UG 后处理中,我们习惯用 mom_logname获取当前系统的电脑用户名,以此来控制哪些人有权限使用后处理,哪些人不行。其实在 Mastercam 后处理里,也能实现同样的权限管理,只是逻辑完全不同。
Mastercam 并不通过 Windows 登录用户名来判断权限,而是根据 License(授权码) 来识别用户身份。
这一点非常重要:
很多大公司会把标准后处理放在服务器上,只允许经过授权的编程员调用。
通过在后处理中写入 License 校验逻辑,可以实现:
以下代码基于 Mastercam X5 开发,X7 及以上版本可直接使用。
V9 版用户可参考本站提供的“Mastercam 后处理降级方法”进行适配。
# 允许的 HASP 序列号
sallowed_hasp : "XXXXX"
# 获取当前 License
shasp_id = getenv("MC_HASP_SERIAL")
psof$
if shasp_id != sallowed_hasp,
[
"ERROR: Unauthorized user!", e$
exitpost$
]
"(PROGRAM BY: ", *shasp_id, " )", e$
👉 只需把代码中的 XXXXX替换为你的单机 HASP 号码,即可完成基础权限控制。虽然上面是基础版本,但在此基础上可以继续扩展:

此图片来自若枫后处理论坛
sim_no$:0 #http://postp.net
s_user:"" #http://postp.net
lic_no : 0 #http://postp.net
p_check_license #http://postp.net
if sim_no$ = xxxxxx, lic_no = 1, s_user = "Jim", e$ #http://postp.net
if sim_no$ = xxxxxx, lic_no = 1, s_user = "Ken", e$ #http://postp.net
if sim_no$ = xxxxxx, lic_no = 1, s_user = "Test", e$ #http://postp.net
if lic_no = 0 , exitpost$, e$ #http://postp.net
pheader$ #Call before start of file #http://postp.net
p_check_license
s_user = ucase(s_user)
sopen_prn, "Programer: ", s_user, sclose_prn, e$ #http://postp.net武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。