许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  AutoCAD2019+vs2019+C# 二次开发学习笔记day04(持续更新)

AutoCAD2019+vs2019+C# 二次开发学习笔记day04(持续更新)

阅读数 10
点赞 0
article_banner

目录

一、 创建圆弧  类 Arc

1、代码记录

2、封装函数

二、 三点画圆弧   CircularArc3d

1、代码记录

2、封装函数

三、起点、圆心、角度 绘圆弧

1、代码记录

2、封装函数


今天学习如何创建圆弧并创建封装函数

一、 创建圆弧  Arc

1、代码记录

Arc 对应构造函数有三种

//空的

public Arc();

//给定一个中心点、一个半径、一个起始角度、一个终止角度
public Arc(Point3d center, double radius, double startAngle, double endAngle);

//给定一个中心点、一个平面向量、一个半径、一个起始角度、一个终止角度
public Arc(Point3d center, Vector3d normal, double radius, double startAngle, double endAngle);

新建一个类 ArcTest.cs

输入代码,写在 ArcTest.cs里

  1. using Autodesk.AutoCAD.DatabaseServices;
  2. using Autodesk.AutoCAD.Geometry;
  3. using Autodesk.AutoCAD.Runtime;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Yztest4
  10. {
  11. public class ArcTest
  12. {
  13. [CommandMethod("Arctest")]
  14. public void Arctest()
  15. {
  16. Arc arc1 = new Arc();
  17. Arc arc2 = new Arc(new Point3d(50, 50, 0), 20, Math.PI / 4, Math.PI / 2);
  18. Arc arc3 = new Arc(new Point3d(100, 100, 0), new Vector3d(0, 0, 1), 20, Math.PI / 4, Math.PI / 2);
  19. }
  20. }
  21. }
cs

可以设置断点调试,能够看到第二和第三函数运行后点坐标和角度都发生变化。

Vector3d normal 二维平面的话,指定为(0,0,1)

 如果使用空的构造函数,就需要指定一些参数,代码如下,写在 ArcTest.cs里

  1. Arc arc1 = new Arc();
  2. arc1.Center = new Point3d(0, 0, 0);
  3. arc1.StartAngle = -Math.PI / 4;
  4. arc1.EndAngle = Math.PI / 4;
  5. arc1.Radius = 100;
  6. double startAngle = 45;
  7. //这里声明一个角度,通过之前写的角度弧度互换的函数,将角度换成弧度
  8. Arc arc2 = new Arc(new Point3d(50, 50, 0), 20, startAngle.DegreeToAngle(), 90);
  9. Arc arc3 = new Arc(new Point3d(100, 100, 0), new Vector3d(0, 0, 1), 20, Math.PI / 4, Math.PI / 2);
  10. Database db = HostApplicationServices.WorkingDatabase;
  11. db.AddEntityToModelSpace(arc1, arc2, arc3);
cs

2、封装函数

写在 AddEntityTool.cs 里  

  1. /// <summary>
  2. /// 绘制圆弧
  3. /// </summary>
  4. /// <param name="db">图形数据库</param>
  5. /// <param name="center">圆弧所在圆的圆心点</param>
  6. /// <param name="radius">圆弧的半径</param>
  7. /// <param name="startDegree">圆弧的起始角度</param>
  8. /// <param name="endDegree">圆弧的终止角度</param>
  9. /// <returns></returns>
  10. public static ObjectId AddArcToModelSpace(this
cs

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空