【Python】自动操作Autocad的pyautocad库(一) 您所在的位置:网站首页 cad的安装路径可以有中文吗 【Python】自动操作Autocad的pyautocad库(一)

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

2024-07-09 15:35| 来源: 网络整理| 查看: 265

引言

利用python实现自动绘制CAD图。对于好久没有触碰autoCAD的笔者来说,利用python实现自动操作autoCAD,学会使用pyautocad库的同时,也想好好把autoCAD的基本使用操作重新捡起来学习,所以这篇博客记录pyautocad库的使用方法的同时也会附带autoCAD的相关用法。

1 模块与软件安装 1.1 pyautocad库

看过笔者前面博客的应该知道,笔者尤其钟爱在虚拟环境进行相关环境的搭建,这里也不例外:

pip install --upgrade pyautocad -i https://pypi.douban.com/simple

如下图所示,关键模块已安装完毕:(目前最新版本为:pyautocad-0.2.0) 在这里插入图片描述

1.2autoCAD软件安装

目前autoCAD已经更新到2020了,但笔者担心太新的版本存在文件的不兼容性(不知道是不是担心过多了),于是笔者折中选择了2014版本的autoCAD,尽量安装在非系统盘上,如笔者选择安装在D盘上。(详细安装这里不展开说明) 链接:https://pan.baidu.com/s/1lOsY6f3k9iCzQQa7bKHv1g 提取码:uz8v

2 pyautocad基本使用

在使用pyautocad进行cad自动绘图前,必须先打开autoCAD,否则会报如下错误: 在这里插入图片描述

""" 说明: # 1 导入APoint类是非常必要的,画图都是靠点来画,而且CAD中所有的点都必须用APoint类进行包裹。APoint(10,30), # 其中10代表点的x坐标,30代表点的y坐标。 # 2 导入相关模块 from pyautocad import APoint, APoint import math # 3 画直线,p1是画线的第一个点,p2是第二个点 acad.model.AddLine(p1,p2) # 4 添加文本,第一个参数就是添加的文本字符串,第二p是被APoint类包裹的点,也就是说在哪个坐标下显示文本,15是文本字体大小 text = acad.model.AddText("{0}".format(text), p, 15) # 文本从p1点移动到p2点 text.move(p1, p2) # 5 画圆,第一个参数p就是APoint类包裹的点,也就是圆心位置,第二参数10是半径大小 acad.model.AddCircle(p, 10) # 6 画圆弧,第一个参数是在哪个点画圆弧,第二个参数是半径,第三个是开始弧(弧度制,不是角度制),第四个点是结束弧。 acad.model.AddArc(p, radius, math.radians(90), math.radians(270)) # 7 保存cad图到指定位置,第一个参数一定是保存的绝对路径!!,64是保存的一种格式,笔者从1到100都试了一遍,有一些是可以生成图的,都是CAD可以打开的文件类型格式。其实跟着笔者写64就好! acad.doc.SaveAs("{0}".format(save_path), 64) """ 实例 from pyautocad import Autocad, APoint import re import math # 打开cad文件 # 自动连接上cad,只要cad是开着的,就创建了一个 对象。这个对象连接最近打开的cad文件。 # 如果此时还没有打开cad,将会创建一个新的dwg文件,并自动开启cad软件 acad = Autocad(create_if_not_exists=True) # acad.prompt() 用来在cad控制台中打印文字 acad.prompt("Hello, Autocad from Python") # acad.doc.Name储存着cad最近打开的图形名 print(acad.doc.Name) p1 = APoint(0, 0) p2 = APoint(50, 25) for i in range(5): text = acad.model.AddText('Hi %s!' % i, p1, 2.5) acad.model.AddLine(p1, p2) # 画线:指定起点和终点 acad.model.AddCircle(p1, 10) # 指定圆心;半径 p1.y += 10 # P1的y坐标累加10 dp = APoint(10, 0) # !!!!!!!遍历cad图形对象以及访问/修改对象属性 for text in acad.iter_objects('Text'): print('text: %s at: %s' % (text.TextString, text.InsertionPoint)) text.InsertionPoint = APoint(text.InsertionPoint) + dp for obj in acad.iter_objects(['Circle', 'Line']): print(obj.ObjectName)

绘图结果如下: 在这里插入图片描述 在这里插入图片描述

3 AutoCAD的基础知识和基本操作

AutoCAD是由美国Autodesk公司开发的通用计算机辅助设计(Computer Aided Design, CAD)软件,具有易于掌控、使用方便、体系结构开放等优点,能够绘制二维图形与三维图形、标注尺寸、渲染图形以及打印输入图纸,目前已广泛应用于机械、建筑、电子、航天、造船、土木工程等领域。

基本功能有:

绘制和编辑图形标注图形尺寸渲染三维图形数据库管理功能Internet功能输出和打印图形

推荐链接:https://wenku.baidu.com/view/821d25c1a1116c175f0e7cd184254b35effd1a42.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有