c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下

using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using System.IO;
using win = System.Windows.Forms;

namespace _5_通过外部文件进行画图
{
public class Initiallization : Autodesk.AutoCAD.Runtime.IExtensionApplication //当调用类库时,自动加载执行
{
public void Initialize()
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage(“\n加载成功!\n插件功能如下:”);
ed.WriteMessage(“\ntxt文件转成多段线(PLTXT)”);
}
public void Terminate()
{
Console.WriteLine(“清理!”);
}
}
public class Class1
{
///
/// 获取多段线坐标
///
[CommandMethod(“PLTXT”)]
public void PLine_txt()
{
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
//定义路径文件名
win.OpenFileDialog dialog = new win.OpenFileDialog();
dialog.Multiselect = false;//是否可以选择多个文件
dialog.Title = “请选择文件”;
dialog.Filter = “所有文件(.)|.”;
if (dialog.ShowDialog() == win.DialogResult.OK)
{
string filename = dialog.FileName;

            //string filename = @"D:\6-C#\0、程序开发\5、通过外部文件进行画图\新增017-1.txt";//读取txt文件内容string[] contents = File.ReadAllLines(dialog.FileName);//声明List对象,将数据进行整理List<List<string>> List = new List<List<string>>();for (int i = 0; i < contents.Length; i++){//将数据按照","进行分列string[] cont = contents[i].Split(new char[] { ',' });List<string> subList = new List<string>();//判断是不是开头是“J”if (contents[i] == ""){}else if (contents[i].Substring(0, 1) != "J"){}else{for (int j = 0; j < cont.Length; j++){subList.Add(cont[j]);}List.Add(subList);}}//声明一个多段线对象Polyline pline = new Polyline();for (int i = 0; i < List.Count; i++){//数据转换if (List[i][0].Substring(0, 1) != "J"){ed.WriteMessage("有问题\n");}else{double X, Y;bool bx = double.TryParse(List[i][2], out X);bool by = double.TryParse(List[i][3], out Y);//判断外部文件是否有问题ed.WriteMessage(List[i][2], List[i][3]);//将xy坐标添加到对象中pline.AddVertexAt(i, new Point2d(X, Y), 0, 0, 0);}}Database db = HostApplicationServices.WorkingDatabase;db.AddEnityToModelSpace(pline);}}
}

}

c# cad二次开发 通过选择txt文件将自动转换成多段线相关推荐

  1. CAD如何将样条曲线转换成多段线

    有时在使用CAD中,需要把绘制出来的样条曲线转换成多段线来方便以后的编辑或输出到别的软件.设备.然而要怎么进行操作才能转换出来呢?下面有几种实用的方法供大家参考: 第一种方法(特别使用CAD低版本的用 ...

  2. 你知道CAD软件将圆弧与直线转换成多段线的方法吗?

    CAD制图时想要对直线与圆弧构成的整体对象进行多段线编辑,首先需要将这个对象转换成多段线.本文将介绍CAD如何将直线与圆弧连接成多段线. 1.使用CAD软件打开需要进行操作的图纸文件,用夹点拾取一下, ...

  3. CAD多线怎么转换成多段线?

    CAD多线命令主要用来创建多条平行线,很多设计师小伙伴会用该命令来绘制墙体或道路,但是多线编辑起来没有多段线方便.那么,CAD多线怎么转换成多段线呢?本文小编就来给大家分享一个可以将CAD多线转换成多 ...

  4. CAD二次开发之选择集过滤

    一.选择集过滤时的使用方式如下: Object 指使用SelectionSet这个方法适用的对象 1) object.Select Mode[, Point1][, Point2][, FilterT ...

  5. CAD二次开发清除选择集

    ed.SetImpliedSelection(new ObjectId[] { });

  6. (源码)CAD二次开发—实现AutoCAD中缺失字体自动替换

    使用C# 实现AutoCAD中缺失字体的自动替换 设计思路: 获取到当前字体样式的设计集合 遍历所有的字体样式,对对应的字体样式进行查找 如果找不到则进行替换 namespace AutoCADTo ...

  7. CAD中椭圆如何转换成多段线

  8. cad二次开发——自动运行dll,加载菜单(收集)

    1.自动加载dll的方法(个人觉得下面第4个方法会更方便) cad加载dll_实现CAD插件启动自动加载的三种方法_weixin_39774556的博客-CSDN博客从网上或者别处淘来的CAD插件,效 ...

  9. c#CAD二次开发全套视频目录

    本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...

最新文章

  1. [life]见证本届世界杯意大利的出局
  2. 用java制作扑克牌_阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer(java研发)...
  3. URL(统一资源定位符)
  4. PyCharm 通过Github和Git上管理代码
  5. IText 生成页脚页码
  6. Linux检查依赖库,linux 查看依赖库
  7. Java并发——线程中断学习
  8. markdown、LaTeX输入自定义算符Res
  9. springboot hibernate 缓存不更新_spring boot 整合 ehcache
  10. 一种基于SE-Inception的茄科疾病识别模型
  11. asp.net数据绑定之Eval和Bind 和等区别
  12. 网络_远程开机(ubuntu)
  13. EF There is already an open DataReader associated with this Command
  14. 华为u2000v200r018 同步网元失败 提示 服务器不可达 解决办法
  15. 如何破解 App 网络代理后出现网络不可用的情况
  16. 开发技巧 | Python极简实现滑动平均滤波(基于Numpy.convolve)
  17. 微博图床php上传,微博图床 - shitalpig的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. php浏览器跟踪调试,Phpstorm怎么在命令行以及浏览器中调试
  19. Shell脚本的美元符($)
  20. Win10系统C++调用OpenCV实现网络摄像头录像和抓拍图片

热门文章

  1. 华为机试真题 Python 实现【观看文艺汇演问题】【计算最多能观看几场演出】
  2. MT6169芯片资料、数据表、规格书等免费下载
  3. 阿里云效devops平台简介
  4. 如何使用 Creator【摄像机组件】实现局部缩放的效果?
  5. 文明IV: Hints 游戏提示
  6. 向量相似度度量(一):EMD (Earth Mover's Distance)
  7. 电脑自动开关机软件测试,电脑无故自动关机
  8. Soring Cloud -- Resilience4j简介
  9. 将VMProtect集成到应用程序教程:许可API函数
  10. 自然语言处理技术:让人工智能“听懂人话”