CAD二次开发中DoubleCollection用法详解
在 AutoCAD .NET API 中DoubleCollection是一个用于存储双精度浮点数集合的类常用于定义多段线Polyline的顶点坐标或样条曲线的拟合点等。核心用法DoubleCollection通常作为参数传递给需要一系列连续数值的构造函数或方法。其核心用法是按顺序存储坐标值例如(x1, y1, z1, x2, y2, z2, ...)。1. 创建与填充 DoubleCollection你可以通过多种方式创建并填充一个DoubleCollection对象。// 方法一使用构造函数并逐个添加 DoubleCollection vertices1 new DoubleCollection(); vertices1.Add(0.0); // X1 vertices1.Add(0.0); // Y1 vertices1.Add(0.0); // Z1 vertices1.Add(100.0); // X2 vertices1.Add(100.0); // Y2 vertices1.Add(0.0); // Z2 // 方法二使用集合初始化器更简洁 DoubleCollection vertices2 new DoubleCollection { 0.0, 0.0, 0.0, // 顶点1 (X, Y, Z) 100.0, 0.0, 0.0, // 顶点2 100.0, 100.0, 0.0, // 顶点3 0.0, 100.0, 0.0 // 顶点4 };2. 典型应用创建三维多段线 (Polyline3d)这是DoubleCollection最经典的应用场景之一用于传递多段线所有顶点的三维坐标。using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; public class DoubleCollectionExample { [CommandMethod(CreatePoly3d)] public void CreatePoly3d() { Document doc Application.DocumentManager.MdiActiveDocument; Database db doc.Database; using (Transaction tr db.TransactionManager.StartTransaction()) { // 打开块表记录模型空间以写入实体 BlockTable bt (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); // 1. 定义多段线的顶点坐标集合 DoubleCollection vertices new DoubleCollection { // 顶点1 0, 0, 0, // 顶点2 200, 0, 50, // 顶点3200, 150, 100, // 顶点4 0, 150, 0 }; // 2. 创建三维多段线对象 Polyline3d poly3d new Polyline3d(Poly3dType.SimplePoly, vertices, false); // 3. 将实体添加到模型空间并提交事务 btr.AppendEntity(poly3d); tr.AddNewlyCreatedDBObject(poly3d, true); tr.Commit(); } } }3. 与其他几何类型的转换有时需要将Point3dCollection等更结构化的数据转换为DoubleCollection。// 假设有一个 Point3dCollectionPoint3dCollection points new Point3dCollection { new Point3d(10, 20, 0), new Point3d(50, 60, 10), new Point3d(100, 30, 20) }; // 转换为 DoubleCollection DoubleCollection coordCollection new DoubleCollection(); foreach (Point3d pt in points) { coordCollection.Add(pt.X); coordCollection.Add(pt.Y); coordCollection.Add(pt.Z); } // 此时 coordCollection 包含:10, 20, 0, 50, 60, 10, 100, 30, 20关键注意事项事项说明数据顺序必须严格按照X, Y, Z, X, Y, Z...的顺序添加坐标值否则图形会错乱。元素数量DoubleCollection中元素的总数必须是 3 的倍数对于三维坐标因为每个顶点由三个double值 (X, Y, Z) 构成。性能考量对于大量顶点建议在创建集合时预估大小或使用更高效的填充方式如数组转换以减少内存重新分配。应用场景主要用于Polyline3d、某些Spline拟合数据的构造以及需要传递原始双精度数组的低层级 API。总结DoubleCollection在 AutoCAD 二次开发中是一个基础的、用于顺序存储双精度数值的数据容器尤其在构造基于顶点序列的图形对象如三维多段线时不可或缺。使用时需严格保证坐标数据的顺序和数量正确。参考来源AutoCAD二次开发基础

相关新闻

别再只看ROC了!用R语言rmda包实战临床影响曲线(CIC),手把手教你评估预测模型的真实临床价值

别再只看ROC了!用R语言rmda包实战临床影响曲线(CIC),手把手教你评估预测模型的真实临床价值

超越ROC:用R语言rmda包实战临床影响曲线(CIC)评估模型真实价值在医学研究和临床实践中,构建预测模型只是第一步。真正关键的问题是:这个模型在实际应用中会产生什么影响?传统的ROC曲线和AUC指标虽然能反映模…

2026/7/1 5:12:22阅读更多 →
Storprototrace安全最佳实践:eBPF程序的安全配置与权限管理

Storprototrace安全最佳实践:eBPF程序的安全配置与权限管理

Storprototrace安全最佳实践:eBPF程序的安全配置与权限管理 【免费下载链接】storprototrace Storprototrace (storage protocol trace) is a tracing function for IO events entering the iscsi protocol driver layer based on libbpf. 项目地址: https://gitc…

2026/7/1 5:12:22阅读更多 →
一文讲透 RAG 核心术语:Embedding、Chunk、Vector DB、BM25、Reranker 到底是什么

一文讲透 RAG 核心术语:Embedding、Chunk、Vector DB、BM25、Reranker 到底是什么

上一篇我写 RAG,不想把它讲成“给 AI 接一个知识库”。 因为知识库只是资料放在哪里,RAG 真正要解决的是:当 AI 给出一个答案时,我们能不能知道它依据了哪段材料、有没有遗漏限制条件、能不能在证据不足时拒答。 但如果继续往下…

2026/7/1 5:12:22阅读更多 →
基于FFmpeg与Python的自动化音视频处理技术实践

基于FFmpeg与Python的自动化音视频处理技术实践

这次我们来看一个名为“【TXT|崔然竣】Y2,Let‘s go!!!(cr.古罗马混凝土)”的项目。从标题看,这很可能是一个围绕韩国男子团体TXT成员崔然竣(Choi Yeonjun)的粉丝创作内容,具体形式可能是视频剪…

2026/7/1 6:22:26阅读更多 →
POD卖家实测:一张马克杯商品图,3秒提取高清印花(附完整操作)

POD卖家实测:一张马克杯商品图,3秒提取高清印花(附完整操作)

先上结论:左边这张马克杯商品图,右边是它被提取出来的透明底印花。整个提取过程3秒,不用PS,不用钢笔抠图。这是做POD(按需打印)时最实用的技能之一:把竞品商品图上的印花提取出来,变…

2026/7/1 6:22:26阅读更多 →
给嵌入式工程师的AutoSAR-CP入门指南:从STM32库到汽车软件架构的思维转变

给嵌入式工程师的AutoSAR-CP入门指南:从STM32库到汽车软件架构的思维转变

给嵌入式工程师的AutoSAR-CP入门指南:从STM32库到汽车软件架构的思维转变作为一名习惯了直接操作寄存器的嵌入式开发者,当你第一次接触汽车电子项目时,可能会被AutoSAR复杂的层级关系搞得晕头转向。这就像让一个习惯用螺丝刀修手表的匠人&…

2026/7/1 6:22:26阅读更多 →
告别真机调试!用Unidbg在Windows/Mac上模拟运行Android SO文件(保姆级环境搭建)

告别真机调试!用Unidbg在Windows/Mac上模拟运行Android SO文件(保姆级环境搭建)

告别真机调试:Unidbg跨平台模拟Android SO文件实战指南逆向分析Android应用时,SO文件往往是最大的技术障碍之一。传统方式需要反复连接真机、配置adb环境、处理兼容性问题,效率低下且容易受设备限制。Unidbg的出现彻底改变了这一局面——这个…

2026/7/1 6:22:26阅读更多 →
终极自动化革命:AutoTask如何彻底改变你的手机使用习惯

终极自动化革命:AutoTask如何彻底改变你的手机使用习惯

终极自动化革命:AutoTask如何彻底改变你的手机使用习惯 【免费下载链接】AutoTask An automation assistant app supporting both Shizuku and AccessibilityService. 项目地址: https://gitcode.com/gh_mirrors/au/AutoTask 在数字时代的今天,我…

2026/7/1 6:22:26阅读更多 →
DETR目标检测实战:从原理到代码实现,手把手教你训练自定义模型

DETR目标检测实战:从原理到代码实现,手把手教你训练自定义模型

还在为选择 YOLO 还是 DETR 来“水”你的目标检测论文而纠结吗?随着 Transformer 在视觉领域的强势崛起,DETR 系列模型以其简洁优雅的端到端架构和强大的性能,已经成为学术研究和工业落地的新宠。但网上教程要么原理晦涩,要么代码…

2026/7/1 6:17:26阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/1 5:19:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →