CAD二次开发 根据多段线Polyline产生的线段Line需要做进一步处理才可以使用
项目场景:
我根据一条多段线Polyline产生了由它顶点集合连接生成的线段Line列表,并且我想在多段线的“坡点”(即相邻攀升Line和下降Line的交点)处,做一条垂线。
问题描述
运行的结果:发现一些明显不是坡点的位置也产生了垂线。如下图所示:
原因分析:
再检查了算法无误的情况下,我发现,产生这种bug的原因在于没有对Polyline产生的线段Line做处理,一些长度极小的线段Line(肉眼在CAD中看不出来,除非你放大n倍)的首尾两点也被程序算进去了
解决方案:
对产生的Line列表做处理,将长度过小的Line剔除。
//自建方法LinesOfAPolyLine()是根据指定的Polyline产生相应的线段Line的列表,这里将线段Line列表中长度大于等于1mm的线段Line保留了,剔除了长度小于1mm的线段Line
List<Line> lines = LinesOfAPolyLine(targetPl).Where(x => x.Length >= 1).ToList();
再次运行程序,得到了想要的运行结果。只在“坡点”画了垂线。
CAD二次开发 根据多段线Polyline产生的线段Line需要做进一步处理才可以使用相关推荐
- CAD二次开发--三维多段线偏移(Polyline3d offset)实现方法【GetOffsetCurves附带原代码】
你如果有在做CAD开发,并且你也有自定义的个性化的偏移需求,那么你会发现CAD目前只能进行2D线偏移:而3D线分为两种,第一种为"假三维"(z为0),这种虽然不会报错,也能看见他的 ...
- CAD二次开发--三维多段线(Polyline3d)删除再绘制不能同步刷新的问题(格式刷变更实体属性踩坑总结)
大家是否遇到过这个问题呢?变更一条三维多段线的属性(类似于格式刷),当删除再绘制的时候,会出现明显的卡顿现象,就是命令输入完毕后,必须鼠标再点一下才能成功!很明显这个和"格式刷"那 ...
- c# cad二次开发 通过选择txt文件将自动转换成多段线
c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.T ...
- c# CAD二次开发 类库 创建各种图形、直线、圆、多段线、正方形、点等
c# CAD二次开发 类库 创建各种图形.直线.圆.多段线.正方形.点等 using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD ...
- intersect 相交 范围_关于CAD二次开发中(范围线自相交)相交线的问题
CAD二次开发对于毕业没多久,又是半路出家的我来说,是一个很大的挑战,遇到过很多难以解决的问题,这次在CAD二次开发遇到一个很苦恼的问题:判断 一个由线段组成的闭合区域中,是否存在着相互之间相交的线段 ...
- lisp CAD二次开发 宗地线自动编号
lisp CAD二次开发 宗地线自动编号 (defun c:ZZ () (setvar "osmode" 0) (princ "\n选取宗地线-") (setq ...
- CAD二次开发(C#)第三节
前言 这是最后一部分代码,往后若有时间,对其中的代码详细讲解.初心不变,以便日后查看.特别感谢作者孙成波译作<AutoCAD .NET 开发指南 2012 版>.三部分代码里面有些许失误, ...
- c#CAD二次开发全套视频目录
本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...
- CAD二次开发(C#) 第一节
前言 由于工作需要,最近在学习二次开发,将其记录于此,以便日后查看. 语法 涉及"特性","进程"知识点,需要有所了解 #region CAD二次开发--第一节 ...
最新文章
- 非结构化信息-》半结构化-》结构化-》关联数据体系-》数据挖掘-》故事化呈现-》决策导向
- Informatica:当好大数据的清道夫
- 十个隐藏_LOL手游:新版增加42个英雄,大白兔:10个隐藏T0角色
- 损失函数|交叉熵损失函数
- 微课视频小学用计算机画画,初识电脑绘画
- Java黑皮书课后题第7章:7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值
- DROP TABLE、TRUNCATE TABLE和DELETE的区别
- 最近阅读20171106
- 防止properties乱码配置---SpringBoot
- 【软件工程】业务过程与解决方案
- mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
- java对象序列化为字符串
- pyTorch api
- python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统
- EXCEL生成SQL脚本
- 阿铭Linux_网站维护学习笔记20190410
- 巧做“士兵突击”的个性日历
- 时空数据生成对抗网络研究综述(上)
- 计算机中时序信号的作用是什么,时序信号
- 3w 字长文爆肝 Java 基础面试题!太顶了!!!
热门文章
- 七个习惯让你免费学好英语
- 刹车刹不住,太危险?我在绿源杭州电动车店提的新车超稳哒~
- 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)...
- 解决Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx' to ALLOWED_HOSTS问题
- android7.0模拟器pc版,安卓9.0模拟器电脑版
- 如何实现跨行跨地区转账实时到帐而且免手续费?
- 日常面试刷题9-29
- genymotion-安卓模拟器-修改IMEI
- 计算属性普通函数写法 和 set get 写法
- OBS Studio下载速度慢,加速下载!11m/s