当前位置: 首页 > news >正文

排版套料—判断矩形能否放入多边形内——cad c# 二次开发实现

 效果如下:

逻辑过程如下:对多段线内部布点阵,将矩形移动到点阵中旋转,直到跟多边形无交点为止。 

主函数代码 如下:

   public void 多段线容纳矩形(){int 点阵密度 = 50; // 点阵密度,多段线包围盒最小边长的倒数 可调整Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;ed.WriteMessage("\n选择多段线(大)");var pl = db.SelectEntity2<Polyline>(true);if (pl is null) return;ed.WriteMessage("\n选择矩形");var rectOrigon = db.SelectEntity2<Polyline>(true);if (rectOrigon is null) return;//求出矩形的中心点坐标var zxd = rectOrigon.GeometricExtents.CenterPoint2();//指定点阵间距var space = Math.Min( pl.GeometricExtents.Height2(), pl.GeometricExtents.Width2()) / 点阵密度; // 取多段线的最大边长的1/20作为点阵间距//生成点阵var dianzhens = pl.GenerateInnerPoints(space);if (dianzhens == null || dianzhens.Count <= 0) { ed.WriteMessage("\n没有生成点阵"); return; }var dbpoints = new List<DBPoint>();foreach (var point in dianzhens){dbpoints.Add(point.toDBPoint2());}//画出点阵if (dbpoints.Count <= 0) return;//db.AddEntityToModeSpace(dbpoints.ToArray());//// 设置点样式为“正方形内有个圆”(PDMODE = 35)//Application.SetSystemVariable("PDMODE", 66);//97//// 设置点大小为1,相对单位(PDSIZE 为负值)//Application.SetSystemVariable("PDSIZE", -0.3);//遍历点阵foreach (var point in dianzhens){var(isok, resultjuxing) = 矩形绕点旋转( pl, rectOrigon, zxd, point,db, ed);if (isok) return;}ed.WriteMessage("\n没有找到合适的矩形位置。");}

CAD二次开发插件定制↓↓↓

http://www.xdnf.cn/news/1175635.html

相关文章:

  • 以 “有机” 重构增长:云集从电商平台到健康生活社区的跃迁
  • MySQL深度理解-深入理解MySQL索引底层数据结构与算法
  • Android用户鉴权实现方案深度分析
  • C# 值类型与引用类型的储存方式_堆栈_
  • 【网络工程师软考版】网络互联设备、网络层协议IP和ICMP
  • Windows 编程辅助技能:速览定义
  • 基于Springboot的中药商城管理系统/基于javaweb的中药材销售系统
  • mac测试ollama llamaindex
  • Ubuntu22.04.5 LTS安装与使用Docker
  • 最长递增子序列(LIS)问题详解
  • dev软件开发阶段的环境代号
  • 9、STM32的启动过程
  • 【STM32】FreeRTOS的移植(一)(详细流程)
  • ​​SBOM 软件供应链安全(转)
  • pandas库
  • 基于YOLOv5+pyQT6的目标检测系统通用项目模板
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(8):自動詞 & 他動詞 「~ている」「~ておく」「~てある」
  • 系统学习算法:专题十四 链表
  • 华为7月23日机考真题
  • 关于在VS2022配置启动项目的问题
  • 表征工程中哪里用到内积 :内积vs余弦相似度--谁更胜一筹?
  • 力扣面试150题--搜索旋转排序数组
  • 开源 Arkts 鸿蒙应用 开发(九)通讯--tcp客户端
  • C#知识点表格大全
  • HDFS写性能优化技巧详解:从理论到实践
  • CSS 基础
  • 【科研绘图系列】R语言绘制黑白填充等显著性标记条形图
  • 网安-SQL注入-sqli-labs
  • 内积(Inner Product)和余弦相似度区别
  • LeetCode热题100--205