CATIA二次开发 “无效的类字符串” 错误解决办法

前言

CATIA二次开发请参考:CATIA二次开发简介注意:引用Catia COM组件的时候勾选所有的CATIA开头的组件即可
在这里插入图片描述

一、场景描述

获取已经打开的catia,并调用其保存命令打开保存窗口:

public void OpenCommand()
{
      INFITF.Application catiaApp = (INFITF.Application)Marshal.GetActiveObject("CATIA.Application");
      catiaApp.StartCommand("保存");
}

报错如下:
在这里插入图片描述
若报如下错误则是因为catia未被打开,先手动打开catia即可
在这里插入图片描述

二、过程分析

1、通过调试发现执行Marshal.GetActiveObject("CATIA.Application")报错,那么先排查注册表中有没有名为CATIA.Application的项,win+R输入regedit打开注册表编辑器,在HKEY_CLASSES_ROOT项按下键盘字母“C”查找
在这里插入图片描述
2、上图所示,注册表没有找到CATIA.Application项,所以调用com组件的时候找不到命令值,因此需要修复注册表。

三、解决过程

1、在catia安装目录的bin目录下以管理员权限打开cmd,执行cnext /regserver命令,若安装有多个版本的catia则任选一个版本,这里以catia V5 R18 64位为例:(先关闭所有打开的catia)
在这里插入图片描述
2、再重复步骤1查看注册表,已经可以看到CATIA.Application
在这里插入图片描述
3、打开Catia 新建一个装配,启动二次开发测试程序,弹出保存窗口即运行成功。
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值