随笔分类 - Civil3D .net 二次开发
摘要:// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; struct DMS { DMS(double value) { degrees = floor(value); doub...
阅读全文
摘要:程序完成后,如何让使用者方便的使用是个问题,不能让用户每次都输入netload命令来加载dll文件,之后再输入相应的命令……要达到与内建功能一致的使用效果,就必须同构程序部署来实现,在此过程中,需要考虑程序的自动加载、CUIX文件制作、安装程序制作等问题。 1.1 自动加载简介 从AutoCAD 2
阅读全文
摘要:在C#中,所有类型都可划分为值类型和引用类型。值类型包括简单类型、结构体类型和枚举类型;引用类型包括自定义类、数组、接口、委托等。 值类型直接存储其值,变量本身就包含了其实例数据,而引用类型保存的只是实例数据的内存引用。因此,一个值类型变量就永远不会影响到其他的值类型变量,而两个引用类型变量则很有可能指向同一地址,从而发生相互影响。 从内存分配上来看,值类型通常分配在线程的堆栈上,作用域结束时,所...
阅读全文
摘要:事务,一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 对于初学者来说,从字面上难以理解什么是事务。下面我试着通过讲述事务的作用及特性来帮助您初步了解事务。 事务将多个数据库操作"合并"为一个; 事务开启后,可以通过GetObject方法来打开一个对象; 事务可以提交(commit),也可以回滚(abort); 事务也可以嵌套; 通过事...
阅读全文
摘要:不解释,直接上代码及截图。 翻转后:
阅读全文
摘要:using Autodesk.AECC.Interop.Land; using Autodesk.AECC.Interop.UiLand; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Au...
阅读全文
摘要:这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点。 首先在项目资源管理器中向本项目中添加类,名称为CivilCreateCogoPoint,转到文本编辑器,先为类添加几个字段: 01 static int PointNu
阅读全文
摘要:本节中我们通过创建几何空间点、曲面和采样线了解Civil 3D对象的创建方法。因Civil 3D对象的创建方法相比AutoCAD对象创建要简单的多,比如创建一个几何空间点,最简单的情况采用一行代码(没写错,就是一行)就能实现,类似的操作,您完全可以去Developer’s Guide中查看,因此在本
阅读全文
摘要:在方法CreateLine内完成以下代码: 01 声明方法CreateLine() 02 { 03 定义ppo变量,“拾取直线起点:”将出现在命令行向用户发出提示 04 从editor获取点 05 判断输入结果,如果结果不ok,退出 06 直线起点 07 修改ppo提示文本,为获取终点做准备 08
阅读全文
摘要:新建CLR项目出现错误C2143 按照Objectarx Training创建.net混合项目,编译时出现一下错误: 原因不明; 解决方法: 在Stdafx.h文件中添加: #define WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料 // Windows
阅读全文
摘要:不积跬步无以至千里,不积小流无以成江海。虽然创建一条直线、添加一个图层这样的小程序没有什么实际意义(内部命令很简单就可以完成),但对于初学二次开发的您来说,这可是一大步,这一步跨出去,您就跨进了二次开发的大门。 闲话少说,言归正传。这一节我们通过两个简单和一个相对复杂的例子来了解创建AutoCAD对
阅读全文
摘要:块表记录是包裹实体对象的最后一层包装了,接下来让我们继续利用MgdDbg工具查看上一小节创建的块定义内的对象有哪些。 操作步骤如下:选择块表记录TestBlock,在右侧列表中找到“Entities within block”,选中该行并单击鼠标左键,弹出Snoop Objects对话框,列表中显示
阅读全文
摘要:为了清楚的了解块表的组成内容,让我们利用MgdDbg工具查看一下块表中的块表记录。在开始页面,以无样板模式新建一个.dwg文件(图 4‑7(1)),这样的话,默认的块表记录只有3条(图 4‑7(2)),分别是模型空间和两个布局(这3条特殊的块表记录我们暂且不去研究,等把普通的块表记录弄明白之后,再研
阅读全文
摘要:上一小节我们看到了符号表包含了一系列的表(共9个),这些表数量是固定的,用户不能增加新的表,也不能删除现有的表。 符号表名称 符号表功能 Block Table 块表 存储图形数据库中定义的块。此表中含有两个非常重要的记录:模型空间和图纸空间。 Dimension Style Table 尺寸标注样
阅读全文
摘要:数据库的结构是什么样的?对象是如何存储在数据库中的?这些问题我们需要搞明白。在此我们可以借助工具ArxDbg或MgdDbg来查看数据库结构及其内容。下图就是利用MgdDbg工具查看到的内容,我们可以看到数据库主要由符号表(Symbol Tables)及命名对象字典(Dictionaries)组成。符
阅读全文
摘要:再次想象另外一个场景:启动AutoCAD程序后,您新建了两个.dwg文件,也就是说创建了两个文档(Document)对象。将窗口进行层叠,您看到的窗口应该与下图类似: 图 4‑3 如何访问这些文档呢?还是让我们通过简单的代码来了解一下吧: 利用向导创建项目,在MyCommands类中添加以下代码,之
阅读全文
摘要:想象这样一个场景:当您开始一天的工作,坐到电脑前面,用鼠标双击桌面上的AutoCAD Civil 3D图标,这时一个AutoCAD Civil 3D应用程序将运行起来。打开Windows任务管理器,我们可以看到类似窗口: 图 4‑1 应用程序 本书中所涉及的二次开发程序,都是在这个AutoCAD C
阅读全文
摘要:1.1 从哪儿开始 对于多数的工程设计人员,不完全具备上节所述的各种条件。对于Civil 3D的应用可能比较熟悉;但对于计算机语言,只限于上学时所学的一点基础知识,步入工作岗位后与计算机语言基本无缘;对于C#、VB.net可能根本就没有接触过。 只要你有一颗坚定的心,坚持学习,就一定能进入Civil
阅读全文