一、处理AutoCad模块 -pyautocad

    1.安装       

pip install pyautocad

     注:1.该操作会自动安装 comtypes模块,如果其他方式安装,请自行安装comtypes模块

       2.如要使用tables 命令,要另外安装xlrd 和 tablib

    2.使用准备

     pyautocad 通过调用autocad的com接口,具体可以参考AutoCAD ActiveX documentation。

      • acad_aag.chm - ActiveX and VBA Developer’s Guide
      • acadauto.chm - ActiveX and VBA Reference

    

二、连接AutoCad

    使用pyautocad连接cad 会自动打开电脑上安装的cad软件,所以必须安装autocad,任意版本均可。

#导入模块
from pyautocad import Autocad, APoint
#创建cad实例
acad = Autocad(create_if_not_exists=True)
#在cad控制面板中输出
acad.prompt("Hello, Autocad from Python\n")
#输出文件的名字
print(acad.doc.Name)

    python会自动连接上cad,只要cad是开着的,就创建了一个<pyautocad.api.Autocad> 对象。这个对象连接最近打开的cad文件。

    create_if_not_exists=True:如果此时还没有打开cad,将会创建一个新的dwg文件,并自动开启cad软件

    使用ActiveX接口简单操作cad,具体参考原文文档:

To work with AutoCAD documents and objects we can use ActiveX interface, Autocad (from pyautocad) contains some methods to simplify common Automation tasks, such as object iteration and searching, getting objects from user’s selection, printing messages.

There are shortcuts for current ActiveDocument - Autocad.doc and ActiveDocument.ModelSpace - Autocad.model

  

二、pyautocad使用方式

    调用方式主要有如下几种:

       1.Autocad.app  :对应Autocad Active 接口中的 Application

           method:

      

       2.Autocad.doc  :对应Autocad Active 接口中的 Document(ActiveDocument)

           method:

       2.Autocad.model  :对应Autocad Active 接口中的 Document.ModelSpace(ActiveDocument.ModelSpace)

           method:           

三、结语

  pyautocad仅仅封装了一下接口,加入了一些迭代方式和table操作,可以导入导出excel等文本数据,官方文档也比较简陋,只有一两个简单实例,并未接受所有的方法,而这些方法主要是一个接口,所以这些方法所要求的参数并不太清楚,只能自己测试。本文只做简单介绍,更多实例会在以后更新。

Process Autocad by python的更多相关文章

  1. A daemon process class in python

    In everbright task schedule project, we need some daemon process to do certain work, here is a examp ...

  2. Process Pool实现Python的并行执行

    参考:Python3.6.2文档 Source code: Lib/concurrent/futures/thread.py and Lib/concurrent/futures/process.py ...

  3. python学习笔记——multiprocessing 多进程模块Process

    系统自带的fork模块创建的多进程是基于Linux或Unix平台的,而window平台并不支持: python中的multiprocess为跨平台版本的多进程模块,支持子进程.通信和共享数据.执行不同 ...

  4. python操作cad

    from pyautocad import Autocad # 自動連接上cad,只要cad是開着的,就創建了一個<pyautocad.api.Autocad> 對象.這個對象連接最近打開 ...

  5. Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)

    本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...

  6. python高级之多进程

    python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package that supports s ...

  7. Python之路,Day9, 进程、线程、协程篇

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  8. python之路-Day10

    操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 ...

  9. python学习笔记-多进程

    multiprocessing from multiprocessing import Process import time def f(name): time.sleep(2) print('he ...

随机推荐

  1. 【Luogu】P2536病毒检测(Trie上DP)

    题目链接 这道题我写了个01DP,f[i][j]表示跑到Trie上第i个节点,匹配到字符串第j位行不行 然后重点在*号无限匹配怎么处理 经过一番脑洞我们可以发现*号无限匹配可以拆成两种情况: 1:匹配 ...

  2. 关于 lambda expression 返回值的类型转换

    lambda expression(lambda 表达式,$\lambda$ 表达式) 是 C++ 11 引入的特性. 一般而言,lambda 表达式的返回值类型可不指定,而由返回值推断. 需要注意的 ...

  3. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2)——A - Bear and Three Balls(unique函数的使用)

    A. Bear and Three Balls time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  4. 飞行员配对方案问题(匈牙利算法+sort)

    洛谷传送门 匈牙利算法+sort 没什么好说的. ——代码 #include <cstdio> #include <cstring> #include <algorith ...

  5. python:print含有中文的list

    Python 的 List 如果有中文的话, 会印出 \xe4\xb8... 等等的编码(如下所示), 要如何印出中文呢? >>> a = ['中文', 'ab']>>& ...

  6. 应用seajs 做了个向上滚动的demo

    目录结构式这样滴 sea sea-module jquery-1.10.2.min.js sea.js static css t.min.css img test test.min.js main.j ...

  7. es6总结 (五)--函数扩展

  8. 在 POSIX 线程编程中避免内存泄漏

    检测和避免 POSIX 线程内存泄漏的技巧 POSIX 线程(pthread)编程定义了一套标准的 C 编程语言类型.函数和常量 — 且 pthreads 提供了一种强大的线程管理工具.要充分使用 p ...

  9. Ubuntu16 编译源码出错 unsupported reloc 43

    错误如下 prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/bits/basi ...

  10. 微信关注事件bug记录

    年前研究了一下微信带参数的二维码,处理邀请注册成会员等的方式 通过带参数的二维码触发微信的 subscribe(订阅) 或者 SCAN  (已经订阅后)事件,然后抓取eventKey(记录邀请人的信息 ...