python使用Win32com将excel和CAD连接起来,执行自动绘图
#前缀
我主要从事空调设备的开发和设计。在非标准产品设计过程中,经常会遇到类似结构的零件重复图形。在这个过程中,如何消耗设计师们的大量工作,提高生产率,减少设计错误,是亟待解决的问题。在这种情况下,我根据我的经验和其他博主的介绍,使用python编写了自动绘图软件。这个软件现在正在解决我们部门的图纸问题。
# 1,excel连接
excel表中的数据
目前本人只找到Win32com库,连接到excel和CAD,所以这里主要以Win32com为主。代码如下:
Import win32com.client
app=win 32 com . client . dispatch(' excel . application ')
#后台运行、不显示、不警告
A=1
A=0
()
#请注意,不能使用绝对路径。如果使用绝对路径,则在打包程序后无法打开其他计算机。
因为使用了类方法,所以这里有一个self。如果不在类内,就可以不用。
()
=a(' sheet 1 ')# 2,CAD连接
与Font color=#999AAA CAD的连接也使用Win32com,在这里直接连接CAD即可。附录代码运行之前,必须打开CAD并创建新窗口。代码如下:
wincad=win 32 com . client . dispatch(' au;)。
Doc=wincad。ActiveDocument
DOC . U(' Hello!Autocad from py win32 com.\ n ')
Msp=doc。ModelSpace# 3,从excel读取数据
与Font color=#999AAA CAD的连接也使用Win32com,在这里直接连接CAD即可。附录代码运行之前,必须打开CAD并创建新窗口。代码如下:
Excel表数据
#请查看excel表中有多少有效数据
总计1=0
While。cells(sum1 2、2)。value!=None:
#从excel读取数据,从第二行的第二列开始读取数据
Pnts1=。cells(sum1 2、2)。value
Pnts2=。cells(sum1 2、3)。value
#起点坐标
Point_x=sum1*7000
Point_x1=point_x pnts1
Pointcoordinates (point _ x、pnts1、pnts2)
Sum1=1# 4,根据CAD确定的坐标点绘制图形
# data transform,win32com的AddPolyLine函数的参数需要数据类型,而python生成的数据类型多数是变化类型,因此需要进行转换
Def vtfloat(lst):
Return win32 com.client.variant |,lst)
Def vtpnt(x、y、z=0):
坐标点“”将转换为浮点数“”
Returnwin32com.client.variant |,(x、y、z)
Def pointcoordinatesin (point _ x、lenth、width) :
Pnts=[point_x,0,0,
Point _ x、宽度/2,0、
Point _ x、宽度/2,0、
Point _ x、宽度/2,0、
Point _ xlenth,宽度/2,0,
Point _ xlenth,宽度/2,0,
Point _ xlenth,宽度/2,0,
Point_x lenth、0和0
]。
Pnts=vtfloat(pnts)
Pline_obj=m(pnts)
结果图表
#第五,结论
以上是我现在正在做的一些事情。后续更新,开发进展记录,以及分析我在这个过程中遇到的各种问题,供以后学习。各成果的分享是我不断学习和尝试后的结果,避免后人少走弯路,有不足之处就望上帝纠正和改善。(莎士比亚)。
# 6、参考文献
1、python二次开发AutoCAD简介:[;dist _ request _ id=3834095 B- 09 c 6-43 c 2-8 c 59-e 197 c 51 c 21 e 2 depth _ 1-UTM _ source=di]
1.《【EXcel怎么链接CAD】python使用Win32com将excel和CAD连接起来,执行自动绘图》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【EXcel怎么链接CAD】python使用Win32com将excel和CAD连接起来,执行自动绘图》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2500630.html