pyautocad包是一个操作autocad的python包。使用pip直接安装即可,要求本地已安装autocad。

报错:OSError:[WinError -2147221005] 无效的类字符串

解决方案

按win+R运行regedit打开注册表,查看HKEY_CLASSES_ROOT中的AutoCAD.Application版本号

然后去pyautocad的安装位置(比如上图红框中的路径下),修改第63和67行,把版本号改成刚查到的(上图中是24,就改成.24,如下图所示)。

报错:print(pyacad.doc.Name) 找不到类对象

主要表现在:无法打印当前Autocad对象的名字,也无法绘制图像。命令行直接卡住了。

解决方案

创建Autocad对象时,加 create_if_not_exists=True

pyacad = Autocad(create_if_not_exists=True)

如果仍然不行(比如我就是),那么在autocad主面板新建一个文件,然后可以看到代码正常执行了。绘制的内容在布局1/布局2中。

pyautocad相关代码

我这里用qt画了个面板,允许用户输入线段两端点的坐标+一段文字,然后在autocad中显示,再用Python代码保存。qt代码有省略,主要贴pyautocad的代码。

from tkinter import *
from pyautocad import Autocad, APoint, aDoubledef draw_frame():root = Tk()root.title('xxx')global entryx1, entryy1, entryx2, entryy2, entry# 起点labelx1 = Label(root, text="起点 x")labelx1.grid(row=0, column=0)entryx1 = Entry(root)entryx1.grid(row=0, column=1, padx=10, pady=5)...# 省略布局# 文字框label = Label(root, text="输入文字")label.grid(row=2, column=0)entry = Entry(root)entry.grid(row=2, column=1, padx=10, pady=5)# 按钮button1 = Button(root, text="绘制", command=draw)\.grid(row=4, column=0, padx=30, pady=5)button2 = Button(root, text="保存", command=save) \.grid(row=4, column=1, padx=30, pady=5)button3 = Button(root, text="关闭", command=root.quit) \.grid(row=4, column=2, padx=30, pady=5)root.mainloop()def draw():# get就可以获取内容了#print("起点:(%s, %s)"%(entryx1.get(), entryy1.get()))#print("终点:(%s, %s)"%(entryx2.get(), entryy2.get()))global pyacadpyacad = Autocad(create_if_not_exists=True)#pyacad.prompt("Hello! Autocad from pyautocad.")#print(pyacad.doc.Name)... # 省略一些内容startPoint = APoint(x1, y1)  # z坐标可空缺,空缺时系统默认其为0endPoint = APoint(x2, y2)  # 当然,pyautocad自动将各坐标转化为双精度浮点数。# 画线段lineObj = pyacad.model.AddLine(startPoint, endPoint)# 贴文字textString = entry.get()insertPnt = APoint(0, 0)height = 1textObj = pyacad.model.AddText(textString, insertPnt, height)def save():# 保存在默认位置pyacad.doc.SaveAs(pyacad.doc.Name)if __name__ == "__main__":draw_frame()

python-操作autocad之pyautocad包相关推荐

  1. 【Python】自动操作Autocad的pyautocad库(一)

    引言 利用python实现自动绘制CAD图.对于好久没有触碰autoCAD的笔者来说,利用python实现自动操作autoCAD,学会使用pyautocad库的同时,也想好好把autoCAD的基本使用 ...

  2. Python操作AutoCAD开发环境概述(Windows)

    目录 安装Python环境 pyautocad库安装 comtypes库安装 开发环境 安装Python环境 python官网下载: https://www.python.org/downloads/ ...

  3. python操作mysql数据库依赖包_python安装mysql的依赖包mysql-python操作

    一般情况下,使用pip命令安装即可: [root@dthost27 ~]# pip install mysql-python 但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖 ...

  4. cad python_利用python控制Autocad:pyautocad

    对象.这个对象连接最近打开的cad文件. 如果此时还没有打开cad,将会创建一个新的dwg文件,并自动开启cad软件(贴心) 第二行:acad.prompt() 用来在cad控制台中打印文字 第三行: ...

  5. python连接AutoCAD;pyautocad连接错误;win32com连接AutoCAD出现问题

    解决思路: 1.观察是否是之前安装过别的版本导致版本错乱 win+R打开运行窗口,输入regedit命令.找到HKEY_CLASSES_ROOT中的AutoCAD.Application查看是否存在多 ...

  6. pyautocad python 操作CAD文件

    python操作autocad,实现对dwg文件的操作 业务需求: 图纸的文件名存在引用,需要执行打开保存操作,自动保存图号为当前文件名 实现: 使用python+pyautocad 参考文章: ht ...

  7. 使用Python实现AutoCAD中等高线自动删除

    作为苦逼的测绘工作者,免不了和AutoCAD及其众多二次开发版打交道,在这类软件中,有时需要进行一些工作量巨大的操作,手工做是不可能手工做的,Lisp又不会写,怎么办呢?(众所周知,AutoCAD提供 ...

  8. Python 操作 MongoDB

    MongoDB 教程.高级教程:https://www.runoob.com/mongodb/mongodb-tutorial.html 官网:https://www.mongodb.com/ Pym ...

  9. python操作autocad2007绘制图形230201

    引言 主要是对pyautocad库的学习记录. 使用 pip install --upgrade pyautocad -i https://pypi.douban.com/simple 直接复制上述代 ...

最新文章

  1. UI控件(UIToolbar)
  2. DevExpree XtraTreeList 如何去掉/隐藏某些节点前的图片
  3. leetcode169. 多数元素
  4. java中删除最大的数,【Java练习】删除字符串中字符个数最少的字符
  5. 【Level 08】U07 Mixed Feelings L5 Front page news
  6. Brupsuit的安装与初步使用
  7. ExcelManager--基于.Net的Excel读写管理类库(二) 转载
  8. C#基础知识-对象初始化顺序
  9. TP 打开 显示错误信息
  10. 下载网站TS格式文件进行合并
  11. css3-pie,CSS3pie是什么?
  12. 记录:英文参考文献格式
  13. Salesforce中reRender和rendered控件的使用
  14. 云数据库Mysql 购买和使用(腾讯云为例)
  15. 宾果消消乐和宾果消消消_《宾果消消消》攻略之关卡障碍介绍
  16. 赛格威机器人路萌中国首秀 开发者计划今年将在国内落地
  17. solaris 安全设置
  18. 惊天大突破!「我国数学家证明 NP=P」!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
  19. spring加载xsd文件
  20. 从「英语流利说」们再谈虚夸的AI教育:一场取代老师的闹剧和收场法则

热门文章

  1. unity3d 摄像机跟随角色时被物体遮挡解决方案
  2. 金牛能源管理信息化案例
  3. 7种垃圾收集器与内存分配策略,看这一篇就够了
  4. 咱们500万条数据测试一下,如何合理使用索引加速?
  5. 计算机医学参考文献,热门医学计算机论文参考文献 医学计算机论文参考文献哪里找...
  6. 针对戴尔G15部分问题的解决措施
  7. Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数
  8. 使用expect ftp免交互上传文件
  9. 在线抓娃娃的基本技术架构
  10. SECS半导体设备通讯-3 SECS-II通信标准