当前位置:网站首页>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);
}
}
}
边栏推荐
- sqli-labs通关汇总-page4
- (the 100th blog) written at the end of the second year of doctor's degree -20200818
- Warp shuffle in CUDA
- Anti shake and throttling of JS
- Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
- 20201025 visual studio2019 qt5.14 use of signal and slot functions
- js删除字符串的最后一个字符
- CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
- 由于不正常断电导致的unexpected inconsistency;RUN fsck MANUALLY问题已解决
- Common function writing method and set get writing method for calculating attributes
猜你喜欢
Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *
由于不正常断电导致的unexpected inconsistency;RUN fsck MANUALLY问题已解决
Implement strstr() II
[literature reading and thought notes 13] unprocessing images for learned raw denoising
Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决
Sentry construction and use
A preliminary study on ant group G6
如何调试微信内置浏览器应用(企业号、公众号、订阅号)
Sqli labs customs clearance summary-page3
Unexpected inconsistency caused by abnormal power failure; Run fsck manually problem resolved
随机推荐
AWD learning
Self cultivation of programmers - Reflection on job hunting
selenium+msedgedriver+edge浏览器安装驱动的坑
Tool grass welfare post
sprintf_ How to use s
Win电脑截图黑屏解决办法
Uniapp introduces local fonts
SQLI-LABS通关(less18-less20)
Log - 7 - record a major error in missing documents (A4 paper)
20201025 visual studio2019 qt5.14 use of signal and slot functions
Stress test modification solution
js中map和forEach的用法
工具种草福利帖
Dynamic global memory allocation and operation in CUDA
SQLI-LABS通关(less15-less17)
Latex compilation error I found no \bibstyle &\bibdata &\citation command
unittest.TextTestRunner不生成txt测试报告
Error "list" object is not callable in Web automatic switching window
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
Fe - use of weex development weex UI components and configuration use