当前位置:网站首页>2021-07-17C#/CAD二次开发创建圆(5)
2021-07-17C#/CAD二次开发创建圆(5)
2022-07-02 06:23:00 【徐记荣】
Circle c1 = new Circle();
c1.Center = new Point3d(50, 50, 0);
c1.Radius = 50;
Circle c2 = new Circle(new Point3d(100, 100, 0), new Vector3d(0, 0, 1), 50);
创建圆的类Circle有如上两种方法:
先通过Circle创建一个对象,然后再给他的圆心、半径赋值
或者直接创建时赋值。
绘制圆和圆弧一样,封装到AddEnityTool.ca代码如下
/// <summary>
/// 绘制圆
/// </summary>
/// <param name="db">图形数据库</param>
/// <param name="center">圆心</param>
/// <param name="radius">半径</param>
/// <returns></returns>
public static ObjectId AddCircleModelSpace(Database db, Point3d center, double radius)
{
return AddEnityTool.AddEnityToModelSpace(db, new Circle(center, new Vector3d(0, 0, 1), radius));
}
/// <summary>
/// 两点绘制圆
/// </summary>
/// <param name="db">图形数据库</param>
/// <param name="point1">第一个点</param>
/// <param name="point2">第二个点</param>
/// <returns>ObjectId</returns>
public static ObjectId AddCircleModelSpace(Database db, Point3d point1, Point3d point2)
{
//获取中心点
Point3d center = BaseTool.GetCenterPointBetweenTwoPoint(point1, point2);
//获取半径
double radius = BaseTool.GetDistanceBetweenTwoPoint(point1, center);
return AddEnityTool.AddCircleModelSpace(db, center, radius);
}
/// <summary>
/// 三点绘制圆
/// </summary>
/// <param name="db">图形数据库</param>
/// <param name="point1">第一个点</param>
/// <param name="point2">第二个点</param>
/// <param name="point3">第三个点</param>
/// <returns>ObjectId</returns>
public static ObjectId AddCircleModelSpace(Database db, Point3d point1, Point3d point2, Point3d point3)
{
//先判断三点是否在同一直线上
if (BaseTool.IsOnOneLine(point1, point2, point3))
{
return ObjectId.Null;
}
//声明几何类的CircularArc3d对象
CircularArc3d cArc = new CircularArc3d(point1, point2, point3);
return AddEnityTool.AddCircleModelSpace(db, cArc.Center, cArc.Radius);
}
}
}
边栏推荐
- Latex 报错 LaTeX Error: The font size command \normalsize is not defined问题解决
- 如何调试微信内置浏览器应用(企业号、公众号、订阅号)
- Fe - wechat applet - Bluetooth ble development research and use
- ts和js区别
- CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
- (第一百篇BLOG)写于博士二年级结束-20200818
- After reading useful blogs
- Flex Jiugongge layout
- Latex compiles Chinese in vscode and solves the problem of using Chinese path
- Implement strstr() II
猜你喜欢

Sentry搭建和使用

由于不正常断电导致的unexpected inconsistency;RUN fsck MANUALLY问题已解决

Présence d'une panne de courant anormale; Problème de gestion de la fsck d'exécution résolu

Queue (linear structure)

Redis -- cache breakdown, penetration, avalanche

No process runs when querying GPU, but the video memory is occupied

A preliminary study on ant group G6

PHP Session原理简析

flex九宫格布局

CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
随机推荐
PHP Session原理简析
Vscode installation, latex environment, parameter configuration, common problem solving
QQ email cannot receive the email sent by Jenkins using email extension after construction (timestamp or auth...)
Review of reflection topics
Latest CUDA environment configuration (win10 + CUDA 11.6 + vs2019)
Cve - 2015 - 1635 (ms15 - 034) réplication de la vulnérabilité d'exécution de code à distance
CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
Flask migrate cannot detect db String() equal length change
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
Flex Jiugongge layout
Vector types and variables built in CUDA
解决微信小程序swiper组件bindchange事件抖动问题
web自动中利用win32上传附件
Win10: add or delete boot items, and add user-defined boot files to boot items
Unexpected inconsistency caused by abnormal power failure; Run fsck manually problem resolved
Common prototype methods of JS array
Latex error: the font size command \normalsize is not defined problem solved
js数组的常用的原型方法
Storage space modifier in CUDA
Linux MySQL 5.6.51 community generic installation tutorial