python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...

由于工作需要,在项目中遇到一个棘手的问题,如何将(mssql)数据库中的BLOB文件转成cad可见图形

(可能每个项目需求不一样,解决方式不同)

第一步 . 需要转换的图形类型

第二步 . 那我们先查询这个字段

第三步 试试将这个写入一个文本中  看看是那种图形 (data:image/*;base64)  *号 为图片格式后缀

1.试试用新学的python 来操作,当然java也可以

(这个链接数据库,写入某个字段的内容就贴出来了,毕竟是做python与cad的)

2.生成后的文件内容

3.不是我们期待的普通图形,是cad的一些坐标点什么的,那我们就可以找到坐标点来操作

查看文本内容后,我们看到的是开头标识符T , TEXT , LINE , JZMJ (还有其他的图形包含  ARC , ARRORW , PL , DIMQJ)还有一部分 就不一一写了(主要是目前就只用到几个常用的开头标识符)

转换一下(在cad命令行中输入)  可以知道 PL  LINE  RULEDIM 为直线,有两个坐标点

如: p1 = (0,0) p2 = (0,10)  就可以生成一条直线

4 . 那么从上面的内容中可以看到,我们找到坐标点,

如:LINE_宋体_1_120_-1__18_1_0__clBlack_0_0_3_13580_-7520_7280_-7520_0_0_13580_-7520_

p1 = (13580,-7520)

p2 = (7280,-7520)

5 . 找到坐标之后发现一个规律  可以将这一行 截取(“_”),生成数组下标为 [14] ,[15], [16], [17]

第四步  打开CAD (任意版本的cad都可以)              

(个人使用的是2017版)

第五步  使用python操作CAD

1.首先导入pyautocad库,并且看看自己python的comtypes是否安装

2.先插入一条测试线 看看能否成功

from pyautocad import Autocad,APoint

p1 = APoint(10,20)

p2 = APoint(10,80)

acad = Autocad(create_if_not_exists = True)

acad.model.AddLine(p1,p2)

3.提示错误:

_ctypes.COMError: (-2147352567, '发生意外。', ('无法获取 Document 对象', 'AutoCAD', 'C:\\Program Files\\Autodesk\\AutoCAD 2017\\HELP\\OLE_ERR.CHM', -2145320900, None))

4.这个错误一般是cad没有新建一个窗口

5.新建一个画图窗口就可以运行上面测试代码了

6.介绍几个常用命令:

AddLine(p1,p2)

添加直线

点一,点二

AddText(text,p1,fontSize)

添加文本

文本内容,点一,字体高度

AddArc(center,radius,sDrgress,eDrgress)

添加圆弧

圆心 , 半径 ,开始弧 , 结束弧

SaveAs(filepath ,1)

保存当前画好的图形

文件绝对路径 , 后面默认写1 不知道原因  (这方面文档很少,所以不知道怎么查)

最后,如果有不懂得地方,或者我哪些没有做好,都可以联系我,感谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10张图看懂瞎忙和高效的区别

时间是最公平的,每个人一天都是24小时,一年都是365天。但是,不同的人的产出却是天差地别。人和人的差距为什么这么大?而且这种差距,并不是家庭背景、权利财富或天赋带来的,仅仅是我们对时间的掌控。正好看到…

pc模式 华为mate30_华为mate30与电脑连不上怎么回事

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。系统版本为EMUI 10.1,华为mate30与电脑连不上的原因:1、可能是USB线连接不正常。建议更换数据线试试。2、确认电脑上的手机USB 驱动已经安装成功,…

ASP.NET Core 中的配置

背景ASP.NET Core 提供了一个灵活可扩展,基于键值的配置系统. 但是配置系统独立于ASP.NET Core是Microsoft.Extensions 类库的部分. 它可以用于任何类型的应用程序。1、以键-值对的形式读取配置appsettings.json 文件:{"Position": {"Title": &…

Canvas的save和restore

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。 onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的…

vs code python 插件_工具篇-vscode效率提升插件

工欲善其事必先利其器,开发前先把所以提升效率的利器搭好会让今后慢慢的编程长路舒服很多,我本来一直用pycharm,后来发现vscode貌似确实会好很多。。。就慢慢转过来了,下面介绍一些我在机器学习编程时经常会用到的一些插件。1. au…

鉴别一个人是否 js 入门的标准竟然是?!

不知不觉跳入前端「大坑」也已经有大半年了,学到了很多知识。为了让知识更好地沉淀,我打算写一系列的知识总结,希望能在回顾知识的同时也能帮到别的同学。忘记在哪里看到过,有人说鉴别一个人是否 js 入门的标准就是看他有没有理解…

面向对象编程设计模式--简单工厂模式讲解(历史上最简单明白的例子)

工作之余,在看资料过程中发现一个极易理解的简单工厂模式的例子,自己亲自试练一番,感觉对这个设计模式不熟悉的朋友,一看马上就知道是什么回事了。 简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返的类…

.NET 6 Preview 1 开箱,带你体验新版本

最近 .NET 6 Preview 1 发布了,.NET 统一是此版本的核心。大家可以读一下原文博客:https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-1/.NET 6.0 SDK 和 Runtime 下载地址:https://dotnet.microsoft.com/download/dotnet/6.0…

redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死

异常场景springWeb应用一直运行正常,同事最近反应,每次版本更新完毕,刷新缓存,就会导致应用挂死。只有重启redis应用才恢复正常。项目概况springWeb项目,常用配置表做了redis缓存,配置表中只有少量数据&…

25岁社招进阿里,从电商到有赞新零售,他仅1年就打开了马云一直想做的新领域!

最近关于「新零售」的声音此起彼伏:阿里巨资收购高鑫零售,腾讯确认入股永辉超市……自2016年10月马云第一次提出了「新零售」概念之后,各巨头跑马圈地,线下成为了必争之地,新零售的蓝海才刚刚打开。而李星,…

优美的测试代码 - 行为驱动开发(BDD)

可理解的代码非常重要,测试代码也是如此。在我看来,优秀的测试代码,必须做到一个重要的事情就是保持测试逻辑的清晰。一个完整的测试案例通常包括三个部分:1. SetUp2. Exercise3. Verifiy4. TearDown一 个测试案例如果能清晰的区分…

C#连接MySQL数据库实例

项目目的:连接mysql查询数据并将数据显示到界面的datagridview里面.Step1:添加动态链接库文件Visual Studio,在 项目(右键)-管理NuGet程序包(N) 然后在浏览里面搜索MySql.Data并进行安装。Step2:using所需要的库using MySql.Data.MySqlClient;step3&…

java字符串比大小_Java字符串比较(3种方法)

字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等。在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。equals() 方法equals() 方法将…

链接服务器 慢_redis服务器cpu100%的原因和解决方案

首先引起cpu100%可能的几大原因:1.redis连接数过高2.数据持久化导致的阻塞3.主从存在频繁全量同步4.value值过大5.redis慢查询为了模拟redis服务器cpu100%,临时买了一台阿里云ecs,并把那天清空前的redis备份还原到服务器上。下面我们按照顺序…

有人问我:AI这么火,要不要去追赶AI的热潮?

12月14日,吴恩达发布微博:我很高兴地宣布Landing.ai的成立,开始进入AI产业。 作为一家人工智能(AI)公司,Landing.ai旨在帮助企业在人工智能时代实现转型。这一动作让人们对AI的关注度在2017年的末尾又一次升…

Exchange2003管理

邮件的管理详细见邮件转载于:https://blog.51cto.com/ruzhulinux/187799

过完年,又不想上班了?

大家新年好,我是Z哥。每次过完年,不少人会多增加一份焦虑,这份焦虑表面上看是“不想上班”,但实际上可能是职业规划的缺失导致。因为缺少对未来的预期、憧憬,导致对自己的工作没有热情。这种情况的另一种叫法是「职业倦…

15天助你掌握问卷统计与Spss实战

最近总是有小伙伴咨询超模君关于数据分析的问题,比如数据分析是什么、怎样才能速成数据分析等等,今天超模君就抽个空跟大家谈谈数据分析那些事儿。首先,我们先来了解了解小伙伴所提到的数据分析。数据分析是指用适当的统计分析方法对收集来的…

aswing学习笔记3-在JPanel中,如何将.png格式的图片设置为背景?

在JPanel中,如何将.png格式的图片设置为背景?2009-03-04 19:21在JPanel中,如何将.png格式的图片设置为背景? 发表于 : 周三 6月 04, 2008 3:53 pm由 tvrcaiyy在JPanel中,如何将.png格式的图片设置为背景?能…

在.NET Core 中使用 FluentValidation 进行规则验证

不用说,规则验证很重要,无效的参数,可能会导致程序的异常。如果使用Web API或MVC页面,那么可能习惯了自带的规则验证,我们的控制器很干净:public class User {[Required]public string FirstName { get; se…