from pyautocad importAutocad#自動連接上cad,只要cad是開着的,就創建了一個 對象。這個對象連接最近打開的cad文件。#如果此時還沒有打開cad,將會創建一個新的dwg文件,並自動開啓cad軟件

acad = Autocad(create_if_not_exists=True)

acad.prompt("Hello, Autocad from Python")#acad.prompt() 用來在cad控制台中打印文字

print (acad.doc.Name) #acad.doc.Name儲存着cad最近打開的圖形名

运行结果:

Hello, Autocad from Python

Drawing2.dwg

from pyautocad importAutocad#自動連接上cad,只要cad是開着的,就創建了一個 對象。這個對象連接最近打開的cad文件。#如果此時還沒有打開cad,將會創建一個新的dwg文件,並自動開啓cad軟件

acad = Autocad(create_if_not_exists=True)

acad.prompt("Hello, Autocad from Python")#acad.prompt() 用來在cad控制台中打印文字

print (acad.doc.Name) #acad.doc.Name儲存着cad最近打開的圖形名

#導入APoint類是非常必要的,畫圖都是靠點來畫,而且CAD中所有的點都必須用APoint類進行包裹。APoint(10,30),#其中10代表點的x座標,30代表點的y座標。

from pyautocad importAPointimportmath

acad.model.AddLine(p1,p2)#畫直線,p1是畫線的第一個點,p2是第二個點

text = acad.model.AddText("{0}".format(text), p, 15) #添加文本,第一個參數就是添加的文本字符串,第二p是被APoint類包裹的點,也就是說在哪個座標下顯示文本,15是文本字體大小

text.move(p1, p2) #文本從p1點移動到p2點

acad.model.AddCircle(p, 10) #畫圓,第一個參數p就是APoint類包裹的點,也就是圓心位置,第二參數10是半徑大小

acad.model.AddArc(p, radius, math.radians(90), math.radians(270)) #畫圓弧,第一個參數是在哪個點畫圓弧,第二個參數是半徑,第三個是開始弧(弧度制,不是角度制),第四個點是結束弧。#保存cad圖到指定位置,第一個參數一定是保存的絕對路徑!!,64是保存的一種格式,筆者從1到100都試了一遍,#有一些是可以生成圖的,都是CAD可以打開的文件類型格式。其實跟着筆者寫64就好!

acad.doc.SaveAs("{0}".format('cadtest.dwg'), 64)

上面这个例子不可以运行,因为没有初始化点的坐标。

from pyautocad importAutocad, APoint

acad= Autocad(create_if_not_exists=True)

acad.prompt("Hello, Autocad from Python\n")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+= 10dp= 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) +dpfor obj in acad.iter_objects(['Circle', 'Line']):print(obj.ObjectName)

运行结果:

C:\Users\Qin\AppData\Local\Programs\Python\Python36\python.exe D:/statistics_chenqichao/20180313同济大学嘉定校区/parse1/wuyong_2.py

Hello, Autocad from Python

Drawing3.dwg

text: Hi 0! at: (0.0, 0.0, 0.0)

text: Hi 1! at: (0.0, 10.0, 0.0)

text: Hi 2! at: (0.0, 20.0, 0.0)

text: Hi 3! at: (0.0, 30.0, 0.0)

text: Hi 4! at: (0.0, 40.0, 0.0)

AcDbLine

AcDbCircle

AcDbLine

AcDbCircle

AcDbLine

AcDbCircle

AcDbLine

AcDbCircle

AcDbLine

AcDbCircle

Process finished with exit code 0

from pyautocad importAutocad, APoint

acad= Autocad(create_if_not_exists=True)for item in acad.iter_objects("PolyLine"):print(item.Coordinates)

上面的代码提取多段线的各顶点坐标。

https://www.smwenku.com/a/5bc0b8b62b717711c923e688/

python能代替cad吗_python操作cad相关推荐

  1. python与cad结合_python操作cad

    from pyautocad importAutocad#自動連接上cad,只要cad是開着的,就創建了一個 對象.這個對象連接最近打開的cad文件.#如果此時還沒有打開cad,將會創建一個新的dwg ...

  2. python标注cad桩位_python操作cad

    from pyautocad importAutocad#自動連接上cad,只要cad是開着的,就創建了一個 對象.這個對象連接最近打開的cad文件.#如果此時還沒有打開cad,將會創建一個新的dwg ...

  3. python往mysql存入数据_Python操作mysql之插入数据

    之前有写过一篇python查询mysql数据的文章,今天写通过python插入数据到mysql数据库. 相关mysql视频教程推荐:<mysql教程> 先建库,建表,建用户mysql> ...

  4. 用python向mongodb插入数据_Python操作MongoDB数据库(一)

    Python操作MongoDB数据库(一) 前言 干货文章继续出发!隔的时间有些久了哈,对 MongoDB 安装回顾的同学,可以看下windows环境 <初识 MongoDB 数据库>.这 ...

  5. python操纵excel的方法_python操作Excel的几种方式

    Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 首先你的本地要有包文件,安装上面的包文件如下图 1.xlrd主要是用来读取exce ...

  6. python做excel表格代码_python操作excel表格

    我们在写测试用例的时候,是创建一个表格.xlsx,然后把各种条件加到这张表格中去,所以,如何对excel表格操作,是相当重要的一环,那么,接下来,这篇博客就直接教会大家如何通过python去处理平时工 ...

  7. python创建数据库表空间_Python 操作 mysql

    """python 操作mysql时,默认开启事务,必须在增删改之后 提交数据,才会真正对数据库发生变化,默认默认是回滚 提交数据: conn.commit() 回滚数据 ...

  8. python读excel字体颜色_python操作excel之设置字体颜色及格式

    原博文 2020-06-03 13:46 − xlwings如何设置字体.颜色等属性 # coding: utf-8 import xlwings as xw app=xw.App(visible=F ...

  9. python批量生成word报告_Python操作Word批量生成合同的实现示例

    背景:大约有3K家商家需要重新确认信息并签订合同.合同是统一的Word版本.每个供应商需要修改合同内的金额部分.人工处理方式需要每个复制粘贴且金额要生成大写金额.基于重复工作可偷懒.用Python解救 ...

最新文章

  1. linux查找项目中的问题,教你如何快速定位项目中慢查询[项目管理]
  2. 自动售货机编程_Rosmaro中基于视觉自动机的编程简介
  3. 获取ISAPI_Rewrite重写后的URL
  4. 路由器无法访问目标网络_初设路由器,无法访问管理页面的解决办法_网络设备技术应用...
  5. swap(a,b)值交换的4种方法
  6. 做一个公众号大概要多少钱_公众号流量主一个月可以赚多少钱?
  7. 开发实例_5G时代导热石墨散热片的开发和应用实例
  8. 7-34 通讯录的录入与显示 (10 分)
  9. 论《LEFT JOIN条件放ON和WHERE后的区别》
  10. 2021年3月计算机语言排名,2021年3月编程语言排行榜:TOIBE将迎来重大改变,SQL如愿挤进前十...
  11. sis最新ip地址2020入口一_2020最新大厂内部 PHP 高级工程师面试题汇总(一)
  12. 达梦数据库服务启动的三种方式
  13. linux系统安装驱动rtl8188eu,rtl8188eu_USB_linux RTL8188EU驱动源码
  14. VHDL脉冲激光测距
  15. 【vue 基础】 vue常用指令 实例总结
  16. 腾讯免费企业邮箱服务器,如何免费申请腾讯企业邮箱?
  17. android+p开机动画,Android开机动画bootanimation.zip文件制作以及注意事项
  18. 一个Python的列表参数是如何搞垮一个网站的
  19. C语言程序设计(第三版)何钦铭著 习题4-4
  20. JAVA训练营第三周和第四周学习总结

热门文章

  1. 网站国际化 前端翻译(多语言)解决方案
  2. Go语言_数据结构_栈(包括入栈和出栈,表达式的入栈出栈详细过程代码实现)
  3. JQuery 操作表格和JqGrid了解
  4. 大明zeroson的程序员生活一周年工作总结
  5. 【MTK FlashTool】ERROR : STATUS_ERR (-1073676287) , MSP ERROE CODE : 0x00.
  6. 质优价廉的QCC3072 通话音质高保真的混合降噪方案
  7. 三星怎么看?台积电已将5nm工艺提上日程
  8. 下载安装jave运行环境eclipse
  9. 【Latex】制作演示文档或者课程报告 - 制作课程报告(三)
  10. 压力测试总共需要几个步骤?