如果您使用的是64位操作系统,安装了Civil 3D 64bit做开发时,可能会发现在Visual Studio的添加引用对话框中找不到Civil 3D的COM组件了。在64位操作系统下需要重新注册一下。在32位操作系统下没有这个问题。
我们知道Civil 3D开发中提供的基于COM的API,在我们基于COM API开发Civil 3D应用程序时可能会使用到下面几个引用:
Autodesk Civil Engineering 8.0 Land Object Library
Autodesk Civil Engineering 8.0 UI Land Object Library
Autodesk Civil Engineering 8.0 Corridor Object Library
Autodesk Civil Engineering 8.0 UI Corridor Object Library
Autodesk Civil Engineering 8.0 PipeObject Library
Autodesk Civil Engineering 8.0 UI Pipe Object Library
Autodesk Civil Engineering 8.0 Survey Object Library
Autodesk Civil Engineering 8.0 UI Survey Object Library
正常情况下,你可以在Visual Studio 2008的添加引用对话框中的COM选项卡中找到他们。但如果您使用的是64位操作系统,可能在COM选项卡中找不到这些库。他们对应的库文件保存在C:\Program Files\Common Files\Autodesk Shared\Civil Engineering 80
解决办法就是需要注册一下,你可以运行这个注册表文件(8.0_civil_engineering_x64_registration.reg),文件内容如下,你可以拷贝然后粘贴到记事本中,保存为*.reg文件,双击导入注册表:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TypeLib]
[HKEY_CLASSES_ROOT\TypeLib\{E932008F-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E932008F-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E932008F-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E932008F-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXLand.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9360002-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9360002-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9360002-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9360002-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXPipe.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9380001-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9380001-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9380001-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9380001-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXSurvey.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9350001-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9350001-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9350001-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9350001-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXUiRoadway.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9370001-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9370001-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9370001-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9370001-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXUiPipe.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9390001-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9390001-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9390001-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9390001-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXUiSurvey.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E9330001-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E9330001-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E9330001-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E9330001-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXUiLand.tlb"
[HKEY_CLASSES_ROOT\TypeLib\{E934002E-0050-4186-8DF9-3D5372B7DC57}]
[HKEY_CLASSES_ROOT\TypeLib\{E934002E-0050-4186-8DF9-3D5372B7DC57}\8.0]
[HKEY_CLASSES_ROOT\TypeLib\{E934002E-0050-4186-8DF9-3D5372B7DC57}\8.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{E934002E-0050-4186-8DF9-3D5372B7DC57}\8.0\0\win32]
@="C:\\Program Files\\Common Files\\Autodesk Shared\\Civil Engineering 80\\AeccXRoadway.tlb"
注册成功后你应该能在添加引用的COM选项卡中找到上述的几个库:
8.0_civil_engineering_x64_registration.reg.zip
Cheers!
本文介绍了在64位操作系统中使用Civil3D进行开发时,如何解决VisualStudio中找不到Civil3D COM组件的问题。通过注册表文件可以将必要的COM组件注册到系统中,使得开发者能够在VisualStudio中引用这些组件。



被折叠的 条评论
为什么被折叠?



