Civil3D二次开发常见问题总结

Civil3D二次开发常见问题总结

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

    解决方案:找到自定实体项目的目录下的Autodesk.arx-2014.props文件,打开并编辑ArxSdkDir节点的值,改为安装ObjectArx的路径。就OK了。

  12. 操蛋的弧线点 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

    可以看到有时候一致,有时候相反,这是非常操蛋的地方,用时谨记。

    更新:貌似是起始角和终止角的问题,转的圈圈太多。

  13. 外部程序启动AutoCAD程序各种异常的错误

    错误1-http://www.cnblogs.com/junqilian/archive/2011/08/21/2148630.html

    如果按上面改正后还有错误那么原因有两个:1是ProgID值与当前CAD系统版本号不一样,2是打开多个CAD导致的

  14. 坑爹的SendCommand方法

    用.net访问com的SendCommand并用它发送命令,如果命令行中已经有文字的话,cad会一直等待直到命令行中的文字清空或命令执行,完成前面操作后才执行我们的SendCommand方法。坑爹啊,尤其是在外部启动cad的时候,如果已经打开cad并且命令行有文字,那启动程序会一直等待造成假死现象

  15. 安装多款Autodesk产品注册码失败的问题

    平常我们都是用AutoCAD注册机来激活Autodesk产品,但是如果操作不当就会出现激活不成功的显现。出现这种现象的原因有:1、序列号重复,即两款产品用的是同一个序列号。2、没有断网。

    以上只是简单的列举了注册失败的原因。我们真正要解决的是激活失败了怎么办?有许多人卸载了再安装试了好多次都不行最后重装系统再安装才好,这样的话代价太大还浪费时间。本人亲身经历过这种情况,最后在网上找解决方法再结合实际操作找到了解决方案。下面就详细道来:

  • 打开"我的电脑"进入C盘找到\ProgramData\FLEXnet文件夹,把它删除
  • 卸载之前安装过的Autodesk产品(这个比较费时间,但木办法╮(╯_╰)╭)
  • 清理注册表(可以用360)
  • 最好重启电脑
  • 开始重新安装Autodesk产品(注意序列号不能再重复了),再用注册机激活就可以了
  1. 有些功能.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。

原文地址:https://www.cnblogs.com/civil/p/10192765.html

时间: 2024-10-25 14:29:21

Civil3D二次开发常见问题总结的相关文章

【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦

SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 13.0的版本,一路下来,在Qsys系统中搭建NIOS II片上系统,在Quartus II中建立工程文件等等过程,没有太多的问题,这里暂且不表.只是在NIOS II Software build tools for Eclipse中进行软件开发时,一个非常让人不解的问题就是:我在工程向导中创建一个H

Zookeeper开发常见问题

背景与目的 Zookeeper开发过程中遇到一些常见问题,为了后续开发不犯同样的错误,总结一下此类问题,并进行分析和解决. 适合人员 主要适合zookeeper开发.测试及运维相关人员. 问题与解决 一. 关于zookeeper_init函数的使用 问题描述: 开发人员在调用zookeeper_init函数时,若返回一个非空句柄zhandle_t  *zh,则认为初始化成功,这样可能会导致后续操作失败. 问题分析: zhandle_t  *zookeeper_init(const char *h

微控工具xp模块-开发版[微信(wechat)二次开发模块]

http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方便开发者用微信做一些扩展功能(如微信群发.多群直播等...) 目前支持功能: 发文本消息 发图片消息 发语音消息 发视频消息 获取微信好友列表 群列表 支持群发消息 支持消息转发(目前支持文本.图片.语音.视频.图文消息转发) 群管理功能(建群.加人.踢人.设置公告.改群名.退群.解散群) [注:本模块

浅析PHP的开源产品二次开发的基本要求

浅析PHP的开源产品二次开发的基本要求 第一, 基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的) 第二, 熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能 第三, 要熟悉这个开源产品的数据库结构,还要理解里面核心文

通达OA 二次开发培训第二讲

本次是通达OA二次开发第二讲,主要介绍了如何在通达OA中进行程序开发,并将开发程序挂接到OA系统中.

xshell远程终端操作Ubuntu server安装LAMP环境之最详细笔记之二PHP开发环境配置

前言: 昨天学会了安装server,今天试着通过远程终端xshell来安装LAMP,搭配一下开发环境,也有集成环境可以一键安装使用,还是瞎折腾一下,手动一步一步搭建一下这个开发环境. 接上一篇:ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com) 准备: 在windows系统上首先需要安装xhsell,具体下载地址可以搜一下,安

微信公众平台搭建与开发(二)开发模式的搭建和关键词回复

在第一部分介绍了编辑模式,但是编辑模式有较大局限性,下面主要开始介绍开发模式,这一部门先简单介绍下开发模式的环境搭建和关键词回复. 开发模式首先要有一个虚拟主机,本人使用的是新浪开发者平台的虚拟主机,使用云豆计算流量,若成为新浪开发者用户基本上就可以免费使用了,本人注册用户所赠送的云豆不知道能用多久.当然国内比较大还有就是百度开发者平台,注册后发现部署还没有新浪的方便,并且在BAE3.0以后好像也是要收费的.有兴趣的朋友可以研究下google的开发者平台,不知道是否要收费. 在注册新浪开发者平台

结合Django+celery二次开发定时周期任务

需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还能满足他们,优化脚本之后只要开发提供查询数据的SQL.收件人.执行时间等等参数就可以几分钟写完一个定时任务脚本 ,到后面不知道是不是吃药了一天三四个定时任务,不到半个月手里一下就20多个定时任务了,渐渐感到力不从心了,而且天天还要给他们修改定时任务的SQL.收件人.执 行时间等等,天天写定时任务脚本

Arcengine 二次开发添加右键菜单

最近在搞arcengine 二次开发,遇到了好多问题,也通过网上查资料试着慢慢解决了,把解决的步骤记录下来,有需要帮助的可以看一下,也欢迎各位来批评指正. 想给自己的map application在图层上添加右键菜单,谷歌了一下,找到了解决的方法,原文的地址edndoc.esri.com/arcobjects/9.2/NET/1ED14BF2-A0E3-4e56-A70D-B9A7F7EC7880.htm.然后我根据这个添加了自己的右键菜单,又有一些改动. 效果如图所示(有点简陋),仅仅是简单的