主要代码: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using GrxCAD.Runtime;using GrxCAD.ApplicationServices;using GrxCAD.EditorInput;using GrxCAD.Geometry;using GrxCAD.DatabaseServices;us…
1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧.文字和标注等图形对象都是对象. 线型与标注样式等样式设置都是对象. 图层.编组和块等组织结构都是对象. 视图与视口等图形显示都是对象. 甚至图形和 AutoCAD 应用程序本身也是对象. 2.CAD中的容器:对于任何一个DWG文件,都会创建下列容器对像:九个固定的符号表(如下)和有名对像字典(包含…
基于浩辰CAD2019 需求: 开发线转圆简单命令.命令过程:1) 请选择图中直线(要求支持一次选多个):2) 弹出对话框,输入圆的图层名和半径3) 点对话框中确定按钮,结束命令.命令执行效果:所选每条直线的起点和终点处,自动生成两个圆:同时,所有直线自动整体平移MOVE一个向量AcGeVector3d(1000,1000,0). 代码如下 using System;using GrxCAD.Runtime;using GrxCAD.ApplicationServices;using GrxCA…
1.AutoCAD .NET API由不同的DLL文件组成,它们提供用于访问图形文件或AutoCAD应用程序的包含丰富的类.结构.方法和事件.每一个DLL文件都定义不同的使用基于功能的库组织组件的命名空间. 下面是你将频繁地要使用的AutoCAD .NET API 的三个主要的DLL文件: AcDbMgd.dll. 当使用图形文件中的对象时使用这个DLL文件. AcMgd.dll. 当使用AutoCAD应用程序时使用这个DLL文件. AcCui.dll. 当使用自定义文件时使用这个DLL文件.…
[CommandMethod("CBline")] //对称画线 public void CBline() { Document doc = Application.DocumentManager.MdiActiveDocument; Editor edit = doc.Editor; Database db = doc.Database; using(Transaction trans=doc.TransactionManager.StartTransaction()) { Prom…
用C#有一段时间了,由于单位需要,开始接触CAD二次开发,网上一搜,加入CAD开发的群,零零碎碎看了一些文章和博客,没有系统地的知识,能解决一些小问题.最近开始系统学习,再次推荐两本书,一本事纸质版的 <AutoCAd VBA &VB.NET 开发基础与实例教程>,大家不要给这个书名迷惑了,想用C#开发的同学注意了,此书完全是用C# 写的,系统,全面.我错过好久,后来受一位高手推荐.还有一个是电子办的<AutoCAD.NET 开发指南  2012 版  >里面的代码用3种语…
最近被公司分配到了做CAD二次开发.也是初次接触这方面的东西,其实是有些无从下手的感觉.因为公司这边也没有人有时间带我,只能是自己看书,然后再写一些Demo,再结合实际的应用来一点点的学习.废话不多说,推荐一本我入门的书籍,就是李冠亿先生的<深居浅出AutoCAD二次开发>,写的非常不错,把这本书中的Demo自己手写一遍大概就能知道CAD二次开发到底是个什么东西了. 开发环境配置 开发环境 Win10 x64 CAD 2010 Visual Studio 2012 环境配置 首先要安装CAD软…
1 环境搭建(VS 2017 + CAD 2019) CAD版本一般要比VS版本晚两年以上,比如我现在使用VS2017,则CAD要用2019版,至于CAD2018能不能用没试验过,有兴趣的小伙伴可以试试. (1)下载 以上两项都能在Autodesk网站下载: ObjectARX_2019.autoCADnetwizards. (2)安装ObjectARX类库 双击Autodesk_ObjectARX_2019_Win_64_and_32_Bit.sfx选个非中文路径解压,记住路径备用. (3)安…
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 或…
CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果,在操作前最好全屏缩放一下! 小测试: [CommandMethod("TestPromptSelectionResult")] public void TestPromptSelectionResult() { Point3dCollection pt3dCol = new Point3d…
推荐两个不错的CAD二次开发(.Net)手册 http://www.mjtd.com/helpcenter/netguide/index.html http://www.ceesky.com/book/cad2011/landing.html…
CAD二次开发可以采用写扩展DLL的方式实现.该DLL的函数可以被CAD调用. 但是调用前,必须用命令netload 将该dll加载到CAD. 其实可以修改注册表,当CAD软件启动后,自动加载扩展DLL. 为此,我写了一个函数,很方便的修改注册表,达到自动加载dll的目的! 该函数支持各个版本cad. //strCadRegKey = "HLD_CAD_Import"; //唯一注册标识 可用公司名称和程序名称 //strDll dll文件路径 private bool WriteRe…
CAD二次开发中创建了一个浮动面板,想让它创建出来后以浮动状态显示, 但是DockSides.None设置完后,面板还是不浮动.搞了很久,最后原来是 需要先设置Visible,再设置DockSides,这样就好了. ps = new PaletteSet("PSCollectPart"); ps.Style = PaletteSetStyles.NameEditable | PaletteSetStyles.ShowPropertiesMenu | PaletteSetStyles.S…
Spss .Net 二次开发的学习过程暂停了一段时间,今天开始重启. 之前脑残的不得了,本想从网上下载一个Spss的安装包,然后安装学习.于是百度搜索Spss,在百度搜索框的列表中看到Spss17.Spss19,于是选择高版本19下载.安装.练习. 在熟悉了Spss的基本操作后,开始学习Spss的二次开发.百度得到的知识是,有个Spss.Net的开源项目,可以执行基本的启动.关闭等操作.此外有篇文章介绍了Spss的COM架构,通过COM方式调用SPSS,操作输入.输出等. 然后问题是,Spss.…
由于项目的需要,使用Spss进行数据统计分析. Spss对于数据统计分析的功能有多强主要是客户关注的事情,我所主要关注的是,Spss的二次开发有多复杂. 学习的基本思路是: (1)首先了解统计基本知识,例如质控图.均值极差图等. (2)然后了解Spss的使用.(当然首先得去下载安装,然后就着手练习) (3)接着了解Spss提供的接口,并尝试使用C#去调用以实现步骤(2)中的统计分析操作. (4)将Spss与系统集成. (大致操作为,在系统按钮点击等事件触发统计分析时,将统计数据的查询语句,以及统…
梦想绘图插件5.2(MxDraw5.2) 是国内最强,最专业的CAD开发插件(控件),不需要AutoCAD就能独立运行. 控件使用VC 2010开发,具有30万行代码规模,最早从2007年第一个版本完成,经过多年的累积已经非常稳定可靠,功能完善.有关键的空间搜索算法,并使用汇编优化,可以处理50万级实体,图形的显示和处理效率比同类产品高出很多. 梦想绘图3d插件6.0(MxDraw6.03d),使用二维控件的显示核心,基于 OpenCASCADE 几何造型引擎, 创建锥.柱.环等基本几何体, 对…
ecshop二次开发学习方法 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的php开源产品.B2C方面有Ecshop,Zencart,Magento等国内外知名产品. 下面我们就来简单介绍一下学习Ecshop二次开发的过程和要注意的一些东西: Ecshop二次开发必备基础: · 非常熟悉HTML · 熟悉DIV+css的布局 · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用 · 熟悉Smarty模…
Spss的二次开发可以很简单,实例化一个对象,然后启用服务,接着提交命令,最后停止服务. 其中重点为提交命令,针对各种统计功能需求,以及被统计分析的数据内容等,命令的内容可以很复杂,但也可以简单的为一个字符串.命令的获取,可以类似于Office录制宏一样,操作的过程中,Spss输出应用程序会记录命令内容,然后可以参考命令语法手册,去完善命令内容. 而获取输出结果,即获取统计的图.表等内容,功能很强大,当然起初操作起来也有些不可思议.它不是常规的进行统计,然后执行输出命令获取输出结果.Spss的输…
Spss官方不支持Server2008R2等Server系列,但做Spss的二次开发,调用Spss的Web系统,一般部署在Server系列上,例如Server2008R2. 起初,在Server上安装Spss,总是安装不成功,或者貌似成功了,但是无法激活应用程序,后来咨询后得知,竟然是不支持.从这点来说,Spss的最初定位还是给最终用户操作的,后来增加了程序接口,以便其他系统与其集成. 鉴于此种情况,我需要一台安装有Windows7的机器,然后安装Spss应用程序和Spss.Net插件. 然后,…
Spss的授权方式有两种,单机版和网络版. Spss的激活,在联网的情况下,通过20位的激活码激活,在未联网的情况下,Spss根据机器获取一个类似4-XXXX的锁定码,然后由激活码和锁定码算出一个授权码,来激活程序. 整个激活过程,可以在IBM网站上处理,申请一个单号,然后注册,然后逐步操作,也可以直接打服务电话,由IBM相关人员帮助处理. 网络版的授权模式为,在证书服务器上安装证书授权管理程序,然后客户机通过证书服务器进行授权,允许在任意客户机上安装Spss并授权,但并发数目收到购买的数量的限…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodes…
什么是View and Data API? 使用View and Data API,你可以轻松的在网页上显示大型三维模型或者二维图纸而不需要安装任何插件.通过View and Data API,你可以对模型进行视点控制.选择控制.属性信息查询等等,而且还可以把这样无插件的模型浏览器和您自己的其他信息系统集成起来. 一些PPT: 基于Web的智能建筑BIM运维方案 View and Data API 分为两部分: REST API - 用于模型的上传和转换 Client JavaScript AP…
1 环境搭建:安装CAD 和objectArx库,这里安装的是cad2012和objectArx2010 ,vs是2010 2 新建一个类库项目,引用objectArx安装目录下inc文件夹下的AcDbMgd.dll和AcMgd.dll,这里注意X86和X64系统的区别 3 添加两个类,一个继承IExtensionApplication接口,这个是dll的入口,cad会从这个类加载程序做一些初始化的操作:另外一个可以写自定义的一些cad命令 cad的引用: using Autodesk.Auto…
Autodesk官方网站 官方帮助文档:AutoCAD 2016 帮助: Managed .NET Developer's Guide (.NET) (autodesk.com) DXF帮助手册:DXF 参考手册: DXF 格式 (autodesk.com) AUTODESK UNIVERSITY:Homepage | Autodesk University 官方博客:AutoCAD DevBlog (typepad.com) Kean Walmsley:Through the Interfac…
思路: 1)首先要定义一个数据库对象来表示包含块的文件,改数据库对象会被加载到内存中,但不会被显示在CAD窗口中. 2)调用Database类的ReadDwgFile函数将外部文件DWG文件读入到新创建的数据库对象中. 3)最后调用Database类的WblockCloneObjects函数将外部的DWG文件中块对象复制到当前数据库中. /// <summary> /// 外部文件导入块, /// </summary> /// <param name="desdb&…
1.块定义与块参照两个概念 块定义类似于模具,而块参照类似于模具浇筑出来的模型,在图形中只需用块定义来保存块的实际几何组成,而仅用插入点和比例因子来存储块定义,因为块参照的几何形状与快参照完全一样,仅大小不同, 好处有: 不需要存储款块参照中的实体,减小了图形文件: 只需要修改块定义,块参照会自动更新,减轻了修改和维护工作. 2 .实例代码 创建一个块并添加到数据库中 /// <summary> /// 插入一个块参照到CAD图形中 /// </summary> /// <p…
在CAD中经常用到停靠或浮动的PaletteSet,比如:特性.图层特性管理器.工具选项板等(以下截图来自AutoCAD2010界面). 特性PaletteSet(停靠) 图层特性管理器PaletteSet(浮动) 工具选项板PaletteSet(浮动.多个Palette) 这些Palette给设计带来了极大方便,灵活的展现形式(浮动和停靠)不禁让人也想给自己定制一个Palette ,下面就开始动手吧! 在CAD的acmgd.dll中我们可以找到名称空间Autodesk.AutoCAD. Win…
前面开了一个头,这里添加几个功能的实现, //添加图层 private void LoadLayer() { Document acDoc = Application.DocumentManager.MdiActiveDocument; using (Transaction tr = acDoc.TransactionManager.StartTransaction()) { //指定点图层 LayerTable lt = (LayerTable)tr.GetObject(acDoc.Datab…
/// <summary> /// 插入一个块参照到CAD图形中 /// </summary> /// <param name="spaceId">模型空间Id</param> /// <param name="layer">要插入的图层名</param> /// <param name="blockName">块名</param> /// <p…
本项目使用手动创建,意为不使用SDK模板. 从Visual Studio的“文件”下拉菜单中,选择“新建”->“项目...”. 在出现的“新建项目”对话框的“项目类型:”树中,单击“ Visual C ++”节点. 在模板列表中选择“ Windows桌面向导”. 在项目名称编辑框中输入所需的项目名称,例如“ Step01”. 将位置设置为要存储项目的文件夹,然后单击“确定”.这将调用“ Windows桌面项目”对话框. 确定后弹出对话框,从应用程序类型下拉选项中选择动态链接库. 项目创建成功之后…