4.6.3节中代码: 原代码: 06 pdo.Keywords.Add("Pi", "Pi", "派<Pi>"); 07 pdo.Keywords.Add("Two-pi", "Two-pi", "二派<Two-pi>"); 需要修改显示字符串中的尖括号为圆括号: 修改后的代码: 06 pdo.Keywords.Add("Pi", "…
第十三章atc文件中Displayname应为DisplayName,注意Name的N为大写,否则参数名称无法正常显示. 给您带来的不便深表歉意!…
Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开发学习指南.另外,如果你用到Map 3D相关的功能,你还可能需要Map 3D的开发知识,看Map 3D API二次开发学习指南. 软件准备及开发环境 AutoCAD Civil 3D 软件,推荐2014以上版本,你可以从Autodesk 官方网站下载试用版, Visual Studio 2012 或…
原来涉及2017的,均需要改为2018 原来的21改为22 代码中AeccXUiLand.AeccApplication.11.0"改为AeccXUiLand.AeccApplication.12.0" Stdafx文件作如下修改: acrxEntryPoint.cpp里要改的地方 Lib文件要改为2018版的…
Civil学习笔记 1.环境配置 1.添加引用: Civil二次开发需要5个基本的AutoCAD的dll引用-acdbmgd.dll, acmgd.dll, accoremgd.dll, AecBaseMgd.dll, AeccDbMgd.dll.以后的开发的话可以根据需求来添加dll(需要下载Autodesk ObjectARX开发包,dll都在inc文件夹中). 2.调试配置: 项目->属性->调试 启动操作->启动外部程序->选择Civil安装路径(包含acad.exe) 启…
本文对AutoCAD Civil 3D中缓和曲线的定义进行了整理. 原英文网页如下: https://knowledge.autodesk.com/support/autocad-civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Civil3D-UserGuide/files/GUID-DD7C0EA1-8465-45BA-9A39-FC05106FD822-htm.html 原中文网页如下: http://docs.autodes…
  程序的主要界面如下: 图1 图2 图3 图4   安装包使用Installshield 2016完成.   其中图3是重点,可以选择需要安装的版本,此功能的实现,主要是依靠Installshield的Features及Components来实现的. 每一版本的插件,作为一个Feature,同时可以根据注册表搜索结果控制Feature是否安装. 如果目标计算机中未安装Civil3D2016,则图3中CustomDraw For AutoCAD Civil 3D 2016直接就不显示在对话框中,…
一位网友提出这样一个问题: 在使用SectionView.StyleName属性时, 会抛出异常:need to override property StyleName. 我测试的结果一样, 同时测试了StyleId 结果是类似的:need to override property StyleId(). 于是我想通过COM方式来实现, 经过测试, 能够达到目的, 虽然绕了一些, 但总比不能实现要强一点点. 测试的代码如下: [CommandMethod("MyGroup", "…
中国本地化包简直就是一块鸡肋, 但对于某些朋友来说还真离不了: 可惜中国本地化包的推出一直滞后, 在最新版软件出来后1年多, 本地化还不一定能够出来, 即使出来了, 也只能是购买了速博服务的用户才能得到. 在2017版的本地化包中, 包含了一些2009版的VBA源代码, 虽然不全, 没有包含本地化包的所有功能, 但对于想学习使用VBA进行Civil 3D二次开发的朋友来说, 作为样例文件,还是不错的选择. 下面就以AlignSectionDataPortTool.dvb为例, 演示一下如何让这些…
样例文件中的CustomDraw项目使用的是COM API,但COM API不完整,某些时候需要使用.NET API,此时需要将C++项目设置成"公共语言运行时支持(/clr)"但简单的设置并不能实现项目的顺利编译,因此我试着使用ObjectARX Wizard向导创建.NET COM混合项目,之后把C3DCustomDarw样例中的代码移植到新建项目中. 创建ObjectARX项目: 我自己汉化过的截面: 选择ObjectARX(AutoCAD扩展) 可能要用到MFC,所以选择共享M…
Civil 3D 2018百度云地址 https://pan.baidu.com/s/1edeVhG Civil 3D 2019注册机百度云地址 链接: https://pan.baidu.com/s/1KR6R43TXHzQ8tvmNFHWyrg 提取码: gg9w 输入序列号:666-69696969,产品密钥:237J1 依次输入序列号066-066666666和密钥237I1, 666-6969696969    001J1 Autodesk2018产品序列号及秘钥 666-696969…
不积跬步无以至千里,不积小流无以成江海.虽然创建一条直线.添加一个图层这样的小程序没有什么实际意义(内部命令很简单就可以完成),但对于初学二次开发的您来说,这可是一大步,这一步跨出去,您就跨进了二次开发的大门. 闲话少说,言归正传.这一节我们通过两个简单和一个相对复杂的例子来了解创建AutoCAD对象的基本过程.为了增加面向对象程序设计的印象,本节实例的代码比AutoCAD managed .NET developer’s guide 中的例子稍微复杂一些,希望我能为您讲解明白. 首相利用向导创…
这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点. 1 创建类并添加字段及方法 首先在项目资源管理器中向本项目中添加类,名称为CivilCreateCogoPoint,转到文本编辑器,先为类添加几个字段: 01     static int PointNumber = 1; 02     static string PointName = "CogoPoint"; 03     static string…
1.1 从哪儿开始 对于多数的工程设计人员,不完全具备上节所述的各种条件.对于Civil 3D的应用可能比较熟悉:但对于计算机语言,只限于上学时所学的一点基础知识,步入工作岗位后与计算机语言基本无缘:对于C#.VB.net可能根本就没有接触过. 只要你有一颗坚定的心,坚持学习,就一定能进入Civil 3D二次开发的大门,写出自己的程序,从而节省自己的时间.调高工作效率. 如果您是一位熟悉Civil 3D软件应用的工程设计人员,那么您就要从学习计算机语言开始.如果您是一位精通计算机语言的专业程序设…
本节中我们通过创建几何空间点.曲面和采样线了解Civil 3D对象的创建方法.因Civil 3D对象的创建方法相比AutoCAD对象创建要简单的多,比如创建一个几何空间点,最简单的情况采用一行代码(没写错,就是一行)就能实现,类似的操作,您完全可以去Developer’s Guide中查看,因此在本节加入了类的继承及多态的一些知识,这是让程序更加高效.使代码更为简洁的有效方式.我自己在学习Civil 3D二次开发之初,按照Developer’s Guide中的样例去写,结果发现存在大量的重复代码…
原帖地址 http://379910987.blog.163.com/blog/static/33523797201011184552167/ 今天在改代码的时候,遇到了AddVertexAt方法的用法,不甚了解,遂转载 AddVertexAt方法的说明 2010-12-01 20:52:21|  分类: AutoCAD.NET二次 |  标签:bulge  addvertexat  |字号 订阅     用.NET对AutoCAD进行二次开发的时,会发现一个很奇观的现象,那就是居然没有矩形类,…
1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录(通常绘图都在模型空间中进行),所有模型空间的实体都存储在块表"模型空间"记录中:(6)将该对象添加到块表记录中:(7)把对象添加到事务处理中:(8)提交事务处理. 2.添加直线的例子 using System; using System.Collections; using System.…
1.添加删除实体 C# ObjectARX二次开发添加删除实体是非常容易主要代码如下: 添加实体: objId = btr.AppendEntity(entity); trans.AddNewlyCreatedDBObject(entity, true); 删除实体: entity.Erase(true); 2.基本过程 在代码YunyouXueYuan命名空间,新增Tools类.这个例子非常简单,想学习AutoCAD二次开发(c#.C++等语言).BIM软件二次开发.Java.python等在…
QQ群友提出问题, 如何启动Civil 3D或者AutoCAD, Kean的博客里有相关的文章 http://through-the-interface.typepad.com/through_the_interface/2007/12/launching-aut-1.html 但里面只介绍了如何加载不同的配置, 没有介绍其他的参数设置, 其实方法是一样的, 都是通过设置 Arguments来实现,     做了一个简单的窗体, 两个按钮分别启动Civil 3D和AutoCAD:   代码如下:…
众所周知,对AutoCAD进行二次开发用到的主要工具有:ObjectArx,VBA,VLisp.但它们的优缺点是显而易见的:ObjectArx功能强大,编程效率高,但它的缺点是编程者必须掌握VC++,而这门语言非常的难学;VBA和VLisp虽然简单易上手,但它们对于开发大型的程序好象无能为力.那究竟有没有一种语言能结合它们的优点而尽量避免它们的缺点呢? 回答是肯定的,那就是微软新推出的21世纪编程语言C#.关于C#的详细介绍,大家可以参考有关的文章. C#是通过AutoCAD ActiveX 这…
AutoCAD二次开发工具:1986年AutoLisp,1989年ADS,1990年DCL,1993年ADS-RX,1995年ObjectARX,1996年Active X Automation(COM),1997年VBA,1998年Visual Lisp,2006年.net API(DLL). 趋势和方向:AutoCAD.net API(AutoCAD2006出现,形式是用netload调用DLL插件) ACAD.ARX.VS..NetFramework版本对应关系. AutoCAD     …
C#/AutoCAD 2018/ObjectArx/二次开发添加圆对象的的例子(五) 1.创建一个图形对象的步骤如下见上一篇博客(三)2.添加删除实体的工具函数见上一篇博客(四) 3.添加圆的例子(完整源代码请加云幽学院免费课yunyun.ke.qq.com)   [CommandMethod("MKCircle")]        public void MKCircle()        {            //(1)获取当前活动图形数据库            Databa…
环境需求为: AutoCAD 2020版 ObjectARX SDK 下载地址:https://www.autodesk.com/developer-network/platform-technologies/autocad/objectarx-license-download 进入页面后需要填写资料再下载 此开发库有C++和.net两种框架,本教程为C++开发. ObjectARX向导        此程序由官方提供,可以在VS中添加AUTOCAD二次开发的编程模板,不是必备. 下载地址:ht…
AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把相同作用的功能聚集在一起,以便好选择.比如,把一副图块中的所有标注定义为一个图层,把编号定义为一个图层,把相同的块参照定义为一个图层.图层表的操作和块表的操作类似. 在这里我就分享一下自己从书<AUTOCAD VBA&VB.NET开发基础与实例教程(C#版) 第2版>学习到的关于图层的一些…
AutoCad 二次开发 文字镜像 参考:https://adndevblog.typepad.com/autocad/2013/10/mirroring-a-dbtext-entity.html 在autocad中如果使用Mirror命令把块参照给镜像了(最终得到一个对称的块),块里面的文字包括DBText和MText以及标注上面的文字都会被对称,变得不易阅读.而在单个字体实体和标注实体镜像的时候只要设置系统变量mirrtext为0镜像后的文字就不会与原文字对称变成我们未学习过的文字了.  …
AutoCad 二次开发 jig操作之标注跟随线移动 在autocad当中,我认为的jig操作的意思就是即时绘图的意思,它能够实时的显示出当前的操作,以便我们直观的感受到当前的绘图操作是什么样子会有什么样的结果.比如我们自己写命令话一条直线,不用jig操作,只提示输入两个端点,我们在绘制过程中无法预先的感受到这条直线是在哪个位置,有多长,与x轴成什么角度,而是直接输入两点后就得到一条直线的结果了.还有当有了jig操作后,我们确定了一个端点后,在未输入第二个端点的时候,可以拖动鼠标拉长或缩短这条直…
其他话不多说,直接进入主题,既然是二次开发,当然是用CAD平台已经封装好了很多类,我们需要熟悉和使用它们.常用的AutoCAD .NET API的四个主要DLL文件是: 名称 作用 备注 AcDbMgd.dll 处理图形文件中存储的对象   AcMgd.dll 处理AutoCAD应用程序和用户接口   AcCui.dll 处理自定义文件   AcCoreMgd.dll 处理编辑器.发布与打印.定义AutoLISP命令和函数 AutoCAD 2014版 我们现在不必去深究这些类库的构造,这四个引用…
AutoCAD2007+vs2005 首先自己去网上搜索下载AutoCAD2007的ARX开发包. 解压后如下 打开后如下 classmap文件夹为C++类和.net类的框架图,是一个DWG文件. docs帮助文件 inc引用的头文件 lib引用的库文件 redistrib其他引用的库文件 samples例子 utils其他东西 打开utils 上面几个是头文件和库文件 ObjARXWiz这个文件夹是向导(2012以后的版本就没有了,要去官网单独下载,不和开发包在一起) 打开后如下 直接双击安装…
在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能: 其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语句,然后就可以直接在Autocad命令行用命令直接调用python二次开发的程序了. 例子: (1)打包为exe (2)编写lsp文件: johnyang.Lsp (defun c:johnyang() (startapp "F:\\PycharmProject\\DesignWorkTask\\s…
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的话可以提供发票. 有需求的可以 qilongliao@qq.com 联系开发事宜.…