系统还原后,注册表里的COM组件信息全部失去,要想再使用catia的COM组件,就要手动重新注册.首先找到catia安装目录"...\Dassault Systemes\B20\intel_a\code\bin"可以发现COM组件的.tlb文件都在这里,由于数目众多,所以在该目录下创建一个python脚本实现批量注册,注册需要用到Microsoft.NET Framework的regtlibv12.exe文件.
# -*- coding: utf-8 -*-
#
# Copyright (C) 2014 csuodn
#
#
from subprocess import Popen, PIPE
import os
import fnmatch
def all_files(root=os.getcwd(), patterns='*', single_level=False, yield_folders=False):
# 将模式从字符串中取出放入列表中
patterns = patterns.split(';')
for path, subdirs, files in os.walk(root):
if yield_folders:
files.extend(subdirs)
files.sort()
for name in files:
for pattern in patterns:
if fnmatch.fnmatch(name, pattern):
yield os.path.join(path, name)
break
if single_level:
break
for f in all_files(patterns="*.t