Civil 3D CustomDraw .NET混合项目设置
样例文件中的CustomDraw项目使用的是COM API,
但COM API不完整,
某些时候需要使用.NET API,
此时需要将C++项目设置成"公共语言运行时支持(/clr)"
但简单的设置并不能实现项目的顺利编译,
因此我试着使用ObjectARX Wizard向导创建.NET COM混合项目,
之后把C3DCustomDarw样例中的代码移植到新建项目中。
创建ObjectARX项目:
我自己汉化过的截面:
选择ObjectARX(AutoCAD扩展)
可能要用到MFC,所以选择共享MFC扩展DLL
我自己修改过的界面,
如果使用原生的向导,
这里可以选择"导入AutoCAD COM接口",
之后在StdAfx.h文件中添加需要引用的Civil 3D相关的.tlb文件。
例如:
选择.NET混合托管代码支持,
下面的AutoCAD Civil 3D也是我自己的向导中,
后续可以手工添加引用的Dll文件。
项目向导完成后,
首先编译一下,
看是否能成功编译,
因为导入tlb文件的原因,
第一次生成旺旺不能成功,
需要编译第二次。
我刚还原的系统,
VS安装有问题,
就遇到了缺少windows sdk 8.1之类的问题。
确保项目能顺利编译后再进行下一步的设置,
以免众多问题交织到一起,
导致问题难以解决。
增加引用路径:
样例文件夹中的Inc文件夹:
C:\Program Files\Autodesk\Autodesk AutoCAD Civil 3D 2014\Sample\Civil 3D API\COM\VC++\CustomDraw\Inc
添加库目录
C:\Program Files\Autodesk\Autodesk AutoCAD Civil 3D 2014\Sample\Civil 3D API\COM\VC++\CustomDraw\Lib
这个目录2014版中是缺失的,需要自行下载,
下载地址:
http://adndevblog.typepad.com/infrastructure/2013/08/autocad-civil-3d-2014-and-custom-draw-api.html
2016版之后是正常的,
不需单独下载。
添加附件依赖项
从样例文件的acrxEntryPoint.h文件中复制内容到项目的acrxEntryPoint.h。
上面截图中的代码有问题,过会儿再修改!
为了代码更清晰,
新建一个类,
在头文件中添加方法如下:
注意这里我使用了static字段。
方法如何实现,
过会儿再看!
添加另一个类,
注意这个类是托管类,
这个类中将使用.NET API操作Civil 3D对象。
添加简单的代码,
用.NET方法输出对象(这里的对象指的是路线)的句柄。
回过头完善C3DCustomDraw.cpp的代码:
修改acrxEntryPoint.cpp中的错误:
记住需要引用头文件
#include "AeccCustomDraw.h"
#include "C3DCustomDraw.h"
编译,加载,创建一条路线,程序将自动输出路线的句柄。
这是一个简单的测试,
其中项目设置的步骤很容易出错,
一不小心就可能掉进坑里,
造成程序无法编译。
转载于:https://www.cnblogs.com/myzw/p/8403936.html
Civil 3D CustomDraw .NET混合项目设置相关推荐
- Civil 3D 二次开发 新建CLR项目出现错误C2143
新建CLR项目出现错误C2143 按照Objectarx Training创建.net混合项目,编译时出现一下错误: 原因不明: 解决方法: 在Stdafx.h文件中添加: #define WIN32 ...
- Civil 3d设置横断面图样式
一位网友提出这样一个问题: 在使用SectionView.StyleName属性时, 会抛出异常:need to override property StyleName. 我测试的结果一样, 同时测试 ...
- AutoCAD/Civil 3D 学习笔记
Civil学习笔记 1.环境配置 1.添加引用: Civil二次开发需要5个基本的AutoCAD的dll引用-acdbmgd.dll, acmgd.dll, accoremgd.dll, AecBas ...
- FME对Autodesk AutoCAD Civil 3D的支持
原文发布时间:2013-06-18 翻译文章链接:http://fmepedia.safe.com/articles/FAQ/Autodesk-AutoCAD-Civil-3D 翻译:毛毛虫 目前FM ...
- 初级php工程师考试,Autodesk AutoCAD Civil 3D初级工程师
试题说明: 考题数量:共 50 道,考试通过答对题目数:30 题 考试时间:180 分钟 试题种类:单选题和多选题 考试内容: [考试知识点] (10%)概述 (5 题) (20%)基本操作 (10 ...
- .NET项目开发的几个非常重要的项目设置
在开发.NET项目的时候,包括Winform项目和Web方面的项目,编译和部署的时候,都需要考虑到是32位的X86方式,还是64位的方式,有时候还需要进行调试,如果没有合理设置好这些关系,还可能出现无 ...
- AutoCAD.net/Map 3D/AIMS/MapGuide/Civil 3D二次开发学习指南
作者:杜长宇 Autodesk Infrastructure Map Server(AIMS)/MapGuide API二次开发学习指南 Autodesk Infrastructure Map Ser ...
- System.Diagnostics.Process启动Civil 3D及AutoCAD
QQ群友提出问题, 如何启动Civil 3D或者AutoCAD, Kean的博客里有相关的文章 http://through-the-interface.typepad.com/through_the ...
- 支持Windows 7的CAD—AutoCAD Civil 3D 2010
Windows 7终于千呼万唤的出来后,紧跟着的就是应用软件了.有没有支持Windows 7的 CAD软件呢?好消息,现在已经有了,AutoCAD Civil 3D 2010!峻祁连在前面的文章中介绍 ...
最新文章
- elasticsearch mapping之dynamic
- html中隐藏内容蜘蛛会抓取吗,蜘蛛会抓取识别JS、CSS、JSON,对SEO有什么影响
- qtvs添加qchart_如何使用Qt Designer在窗体中插入QChartView?
- 算法:单词匹配290. Word Pattern
- 基于JSP和sql server小区物业管理系统毕业论文
- HTML5期末大作业:绿色特产商城网站设计——绿色特产商城购物网(11页) HTML+CSS+JavaScript 网页设计作业,网页制作作业, 学生网页作业, 网页作业成品, 网页作业模板
- 【Android】mina框架使用详情
- 前车之鉴:从被回绝的系列原因出发,解读应聘阿里的注意事项
- mysql密码过期批处理_批处理脚本一键重置mysql的root密码
- java计算机毕业设计青岛地区常见昆虫图鉴与论坛源码+数据库+lw文档+系统
- Word控件Spire.Doc 【文本】教程(14) ;如何用图片替换Word中的文字
- java连接twitter登录,twitter应用程序只认证java android与twitter4j
- h5难做吗_欢庆网:对于H5,可能没你想的那么难!
- Mac重装系统失败-没有符合安装资格的软件包
- 生活总是麻烦不断,我还不习惯
- Javascript 技法100第一篇
- ARM 指令 LDR
- C++设计模式 - 代理模式详解一
- mysql聚合函数求数据总和的语句_以下聚合函数求数据总和的是( )_学小易找答案...
- echarts 柱状图形状修改成等腰三角形
热门文章
- 一个非常标准的Java连接Oracle数据库的示例代码
- ASP.NET GridView中使用搜索框(SearchableGridView)
- FFmpeg AVFMT_NOFILE宏定义剖析
- C#设计模式(13)——代理模式(Proxy Pattern)
- 重识JavaScript 之 数据类型的相互转换
- 【通过操作指针,与指针做函数參数#39;实现字串在主串中出现的次数,然后将出现的部分依照要求进行替换 
】...
- 使用ubuntu 10.04中的中文乱码问题解决
- 桌面虚拟化之盗梦空间
- VISTA中注册表项LEGACY_****的删除--另一种方法:使用psExec
- Go 编码建议——功能篇