VS建立控制台应用(.NET FrameWork)
文件initClass.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
//定义InitClass类为程序的入口点
[assembly:ExtensionApplication(typeof(InitAndOpt.InitClass))]
//让AutoCAD只会执行OptimizeClass类中定义的命令
[assembly:CommandClass(typeof(InitAndOpt.OptimizeClass))]
namespace InitAndOpt
{public class InitClass : IExtensionApplication{public void Initialize(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;//在autoCAD命令行上显示一些信息,他会在程序载入时被显示ed.WriteMessage("程序开始初始化");}public void Terminate(){System.Diagnostics.Debug.WriteLine("程序结束,你可以在内做一些程序的清理工作,如关闭AutoCAD文档");}//程序并没有设定InitClass类为CommandClass类,因此AutoCAD不会执行该类中的命令[CommandMethod("InitCommand")]public void InitCommand(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("test");}}
}

文件OptimizeClass.cs
载入dll文件,可以由其他.NET开发AutoCAD的过程生成得到。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;namespace InitAndOpt
{public class OptimizeClass{[CommandMethod("OptCommand")]public void OptCommand(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;string fileName1 = "C:\\Users\\XXX\\XXX.dll";ExtensionLoader.Load(fileName1);ed.WriteMessage("\n"+ fileName1 +"被载入,请输入Hello进行测试!!!!!!");}}
}

在AutoCAD中cmd里输入netload–>optcommand–>(CommandMethod)

        [CommandMethod("drawCircle")]public void drawCircle(){//获取当前活动图形数据库Database db = HostApplicationServices.WorkingDatabase;//获取命令行对象Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;//整圆double radius = (7.0 / 10.0 * L)  + (FW + BW) / 2 / Math.PI;Point3d O = new Point3d(0, 200, 0);double OA = (FW + BW) / 2 / Math.PI;Arc Circle1 = new Arc(O, OA, 0, Math.PI * 2 - 0.0001);Arc Circle0 = new Arc(O, radius, 0, Math.PI * 2 - 0.0001);//半圆double radius1 = (7.0 / 10.0 * L) + (FW + BW) / Math.PI;Point3d O1 = new Point3d(150, 200, 0);double O1A1 = (FW + BW) / Math.PI;Arc Circle11 = new Arc(O1, O1A1, Math.PI, Math.PI * 2);Arc Circle01 = new Arc(O1, radius1, Math.PI, Math.PI * 2);//Ellipse ellipse = new Ellipse(new Point3d(0, 0, 0), new Vector3d(0, 0, 1), new Vector3d(100, 0, 0), 0.6,0,Math.PI*2);//定义一个指向当前数据库的事物处理using (Transaction trans = db.TransactionManager.StartTransaction()){BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);db.AddToModelSpace(Circle1, Circle0, Circle01, Circle11);trans.Commit();}}

.NET开发AutoCAD相关推荐

  1. C++ Builder开发AutoCAD应用程序的方法

    ※ 编程技巧 应用实践 ※ C++ Builder开发AutoCAD应用程序的方法 周永军(水利部山西水利水电勘测设计研究院  030024) [摘要]进行AutoCAD二次开发的程序设计方法为数众多 ...

  2. Tekla二次开发——AutoCAD导入Tekla

    第四篇:Tekla二次开发--AutoCAD导入Tekla 关于极简工具 AutoCAD导入Tekla功能介绍 C# Tekla二次开发开发教学视频 关于极简工具 Tekla和AutoCAD二次开发插 ...

  3. 使用.NET开发AutoCAD——设计师不做画图匠(一)

    (一)前言--如何避免加班那些事 我是谁?我是一名工程设计师,有点"不务正业",在工作之余长期从事软件开发工作,开发了公路铁路行业广泛应用的设计软件.说正题之前,聊聊加班那些事.话 ...

  4. .NET开发AutoCAD指南

    时下流行的开发AutoCAD的工具,一个是ObjectARX,另一个是AutoCAD自带的VBA(AutoCAD内置的Visual lisp本来也算一个,但它只能开发一些小型的程序,因此不能和前面的两 ...

  5. .NET开发AutoCAD指南(一)

    时下流行的开发AutoCAD的工具,一个是ObjectARX,另一个是AutoCAD自带的VBA(AutoCAD内置的Visual lisp本来也算一个,但它只能开发一些小型的程序,因此不能和前面的两 ...

  6. Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用

    AutoCAD 2012系列产品很快就要正式发布了,对于.net 开发者来说,VS2010无疑是最好用的工具,所以也有好多人在VS2010和AutoCAD 2012 beta版上做开发测试.你在开发时 ...

  7. python开发autocad插件_Pycad: Python Extension for AutoCad

    Pycad Python Extension for AutoCad Editor/Debuger 使用方法: 1.程序支持AutoCad2013-2020(2014版本以下需安装.Net4.5),将 ...

  8. C#开发 AutoCAD二次开发 自动创建显示Ribbon界面(带图片),打开AutoCAD自动显示,执行响应程序

    先看效果图 1.类结构层次 2.新建含图片RibbonButton按钮 RibbonButton button = new RibbonButton();             button.Tex ...

  9. vbnet 二次开发AutoCAD立体图

    ''三维 固体 圆环体Dim T As Solid3d = New Solid3d()T.CreateTorus(200, 30)Dim mt As Matrix3d = Matrix3d.Displ ...

最新文章

  1. php扩展模块安装-lamp
  2. 11. Django 引入富文本编辑器KindEditor
  3. shell获取指定程序的pid号
  4. 不能在 UTF8 和 UCS2 之间转换: failUTF8Conv
  5. 深度学习笔记第三门课 结构化机器学习项目 第一周 机器学习(ML)策略(1)...
  6. java小编程---生成不重复的随机数列
  7. inlfuxdb版本_InfluxDB和MySQL的读写对比测试
  8. Nuget多项目批量打包上传服务器的简明教程
  9. Bumblebee微服务网关之请求统一验证
  10. DDNS-动态域名解析服务
  11. PAT A1045 动态规划
  12. Tensorflow精进之路(二):两层卷积神经网络模型训练MNIST
  13. 关于协方差矩阵的理解
  14. 大数据分析对物联网发展有什么影响
  15. 超高频RFID智慧酒店管理系统解决方案
  16. 《237 Gbit ps unrolled hardware polar decoder》237 Gbit / s展开的硬件极化解码器
  17. 一个SAP开发人员的双截棍之路
  18. Stream流中常用的方法
  19. Vue和layUI的区别何在?
  20. 派森学python_2019 年 1月 26 日 随笔档案 - 派森学python - 博客园

热门文章

  1. python-区间划分,统计年龄段性别占比
  2. 将汉字转为阿拉伯数字(oracle函数方式)
  3. java正则匹配单引号_正则多行文本匹配(包含单引号的处理)
  4. .NET框架 Dapper ORM 用法
  5. Coremail保障企业邮箱安全!《数安法》《关基保护条例》正式施行!
  6. 罗永浩新公司准备招人,AI写一篇代码文档只需2步,如何优雅地乱搞Python代码、一大波数学资料来袭!AI前沿论文 | ShowMeAI资讯日报
  7. vue springboot 会员收银系统 (1)
  8. 【机器学习】Feature selection – Part I: univariate selection
  9. 【大麦网抢票】演唱会门票还能这样抢?看这里!我用Python实现了大麦网原价秒杀门票功能
  10. html 色值转换器,颜色转换工具