Civil3D二次开发常见问题总结
- AutoCAD命令提示"未知命令**……"的原因:在Initialize方法内报出异常就会导致这种情况。O__O"…(或是少加了dll引用)还有一种情况就是CommandClass特性位置写错了,它必须放在命名空间上面,否则在CAD 2010中就会出现"未知命令"的情况,CAD 2014没有这种情况
- Civil 3D 工具空间(Toolspace)不见了怎么办?在命令行上输入ShowTS。
- 、使用netload命令加载程序集抛出"System.BadImageFormatException"异常解决方案。http://www.cnblogs.com/sly-tongtong/p/3569321.html
- ObjectARX的SDK里的acdbmgd.dll、acmgd.dll与安装目录下的acdbmgd.dll、acmgd.dll这两组对应的dll是有区别的,一般调试时候用第一组,开发时候用第二组
- 中描述的情况。还有调试时有可能和Visual Studio版本号有关,我就遇到过这种情况,用VS 2012+AutoCAD 2010开发时加入断点没有反应,但VS换成2010的话就有反应了。╮(╯_╰)╭
- 关于VS 2012+AutoCAD 2010开发时加入断点没有反应的问题已经解决了,原来从VS 2010开始默认的调试器类型为托管4.0,而AutoCAD是用.net framework 3.5开发的。它默认的调试器类型为托管2.0。这就造成了加入断点没有反应的情况。解决方法:http://www.cnblogs.com/junqilian/archive/2011/03/18/1988327.htmlhttp://www.cnblogs.com/junqilian/archive/2011/03/18/1988327.html
- 位,但自定义实体项目的生成方式默认是32位,我也没改所以在netload的时候就会报出那个提示框,只要把自定义实体项目的生成方式改成64位即可。
- 在使用netload加载dll时,命令行输出一行异常的信息-"在………………"而且还没完整输出O__O"…。造成这个原因有可能是命令的名称重复
- 用Editor捕获到的东东不一定是你想要的,再操作之前一定要进行判断。比如Armadillo项目的CheckConnectivity命令
- 不要太过于相信CAD事件,开发文档上说它不靠谱。
- 自定义AutoCAD实体出现下面错误的原因是ObjectArx安装目录改变或者不存在导致的。

解决方案:找到自定实体项目的目录下的Autodesk.arx-2014.props文件,打开并编辑ArxSdkDir节点的值,改为安装ObjectArx的路径。就OK了。
- 操蛋的弧线点 Polyline线用Explode方法打散后,子项弧线的起点和终点不一定和画线时的起终点一样,以下是测试数据:
–左到右
arc.StartPoint
{(7151.11257350689,2494.76600079297,200)}
X: 7151.1125735068927
Y: 2494.7660007929662
Z: 200.0
arc.EndPoint
{(5218.90934925515,2527.31643705483,200)}
X: 5218.9093492551474
Y: 2527.3164370548329
Z: 200.0
--下到上
arc.StartPoint
{(10482.6189523043,1834.73690787365,200)}
X: 10482.6189523043
Y: 1834.7369078736517
Z: 200.0
arc.EndPoint
{(10482.6189523043,4351.74259295576,200)}
X: 10482.6189523043
Y: 4351.7425929557648
Z: 200.0
--右到左
arc.StartPoint
{(16300.4106147591,1435.48772301059,600)}
X: 16300.410614759079
Y: 1435.4877230105917
Z: 600.0
arc.EndPoint
{(14285.8917180871,1435.48772301059,600)}
X: 14285.891718087136
Y: 1435.4877230105913
Z: 600.0
--上到下
arc.StartPoint
{(11770.9503677832,-1525.82060923224,400)}
X: 11770.950367783196
Y: -1525.8206092322357
Z: 400.0
arc.EndPoint
{(11794.1975746998,681.662180525194,400)}
X: 11794.197574699823
Y: 681.662180525194
Z: 400.0
可以看到有时候一致,有时候相反,这是非常操蛋的地方,用时谨记。
更新:貌似是起始角和终止角的问题,转的圈圈太多。
- 外部程序启动AutoCAD程序各种异常的错误
错误1-http://www.cnblogs.com/junqilian/archive/2011/08/21/2148630.html
是ProgID值与当前CAD系统版本号不一样,2是打开多个CAD导致的
- 坑爹的SendCommand方法
用.net访问com的SendCommand并用它发送命令,如果命令行中已经有文字的话,cad会一直等待直到命令行中的文字清空或命令执行,完成前面操作后才执行我们的SendCommand方法。坑爹啊,尤其是在外部启动cad的时候,如果已经打开cad并且命令行有文字,那启动程序会一直等待造成假死现象
- 安装多款Autodesk产品注册码失败的问题
、序列号重复,即两款产品用的是同一个序列号。2、没有断网。
以上只是简单的列举了注册失败的原因。我们真正要解决的是激活失败了怎么办?有许多人卸载了再安装试了好多次都不行最后重装系统再安装才好,这样的话代价太大还浪费时间。本人亲身经历过这种情况,最后在网上找解决方法再结合实际操作找到了解决方案。下面就详细道来:
- 打开"我的电脑"进入C盘找到\ProgramData\FLEXnet文件夹,把它删除
- 卸载之前安装过的Autodesk产品(这个比较费时间,但木办法╮(╯_╰)╭)
- )
- 最好重启电脑
- 开始重新安装Autodesk产品(注意序列号不能再重复了),再用注册机激活就可以了
- 有些功能.NET API还没有/完全实现,这时就需要用到COM API了
需要添加的引用
找到Civil 3D安装目录找到下面的dll。
Autodesk.AEC.Interop.Base
Autodesk.AEC.Interop.UiBase
Autodesk.AutoCAD.Interop
Autodesk.AutoCAD.Interop.Common
Autodesk.AECC.Interop.<Civil方面的对象>
Autodesk.AECC.Interop.Ui< Civil方面的对象>
选择上面的引用后,将引用的"复制本地(Copy Local)"属性设为true
最后在项目中使用using语句引用就可以了。
注:为什么要把"复制本地"属性设为true?因为引用的这些dll在运行的时候不需要的。还有Com的dll默认情况下"复制本地"属性是不可选的。要让它可选的话,修改"嵌入互操作类型"属性为False就可以了(默认为true)。如果默认"嵌入互操作类型"的值,有可能会引发-无法嵌入互操作类型"……"的异常。解决方法就是"嵌入互操作类型"属性设为False。
Civil3D二次开发常见问题总结的更多相关文章
- C#基于AE组件二次开发常见问题
由于本人从事的是在.net平台下进行GIS的二次开发,所以第一篇博文就说一下:我最近在项目中出现的常见的问题,如果能够给大家增加一点点便利,也是我的荣幸,如果大家对于这次博文有什么意见和建议,欢迎大家 ...
- Civil3D二次开发 启动Civil3D异常
用Com方式启动Civil3D时,经常会在第一次启动时出现各种异常. 1. RPC_E_CALL_REJECTED 0x80010001 被呼叫方拒绝接收呼叫 解决方案:外部程序通过COM启动Auto ...
- VS2019、Qt5.12及QGis3.16开发常见问题汇总
在C++.Qt软件开发过程中,常常遇到一些编译错误或警告:本文将VS2019.Qt5.12.10和QGis3.16.10的二次开发过程常见的问题做了整理,供大家参考,也便于日后查阅.该内容分为四部分: ...
- ecshop二次开发之购物车常见问题
1.ecshop二次开发中保存注册用户购物车数据解决方法:ecshop购物车是数据库中cart表来支持的,在ecshop表中rec_id是编号,user_id是注册用户的id,session_id表示 ...
- 【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦
SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 1 ...
- Zookeeper开发常见问题
背景与目的 Zookeeper开发过程中遇到一些常见问题,为了后续开发不犯同样的错误,总结一下此类问题,并进行分析和解决. 适合人员 主要适合zookeeper开发.测试及运维相关人员. 问题与解决 ...
- Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
- OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
随机推荐
- NPOI文件导入操作
using EntMSM.SmsDbContext; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserM ...
- python TypeError: 'builtin_function_or_method' object is not iterable keys
statinfo = os.stat( OneFilePath ) if AllFiles.has_key( statinfo.st_size ): OneKey = AllFiles[ statin ...
- CH Round #46A 磁力块
还是一道好题的 对于一个磁石是否被吸引,有两个关键字:距离和质量.(二维偏序??) 好像是很厉害的分块姿势,先按第一关键字排序,在块中按第二关键字排 进行bfs,对于当前磁石,有1~k-1个块是第一关 ...
- TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)
官网:https://developer.nvidia.com/tensorrt 作用:NVIDIA TensorRT™ is a high-performance deep learning inf ...
- hdu 1002(大数)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- sublime的一些快捷键
Sublime Text 3非常实用,但是想要用好,一些快捷键不可或缺,所以转了这个快捷键汇总. 用惯了vim,有些快捷键也懒得用了,尤其是在win下面,还有图形界面,所以个人觉得最有用的还是搜索类, ...
- Gym-100935I Farm 计算几何 圆和矩形面积交
题面 题意:就是给你一个圆,和你一个矩形,求面积并,且 保证是一种情况:三角剖分后 一个点在圆内 两个在圆外 题解:可以直接上圆与凸多边形交的板子,也可以由这题实际情况,面积等于扇形减两个三角形 #i ...
- vue项目中阻止浏览器返回上一页
vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面 来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...
- javascript中caller和callee call和apply
Arguments : 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n ...
- 树的问题小结(最小生成树、次小生成树、最小树形图、LCA、最小支配集、最小点覆盖、最大独立集)
树的定义:连通无回路的无向图是一棵树. 有关树的问题: 1.最小生成树. 2.次小生成树. 3.有向图的最小树形图. 4.LCA(树上两点的最近公共祖先). 5.树的最小支配集.最小点覆盖.最大独立集 ...