酷居科技

每个人都有属于自己的世界

使用Python强化Mouse Without Borders的鼠标键盘分享功能

使用Python强化Mouse Without Borders的鼠标键盘分享功能

最近刚配了一台新台式机,于是现在都是两台电脑同时开着,下面笔记本屏幕,上面台式机屏幕。如下图:

 

GFN_JF1XA6E5013FRUG11

Python获取Inventor参数、面积及重量值示例代码

Python获取Inventor参数、面积及重量值示例代码

用Python来玩Inventor,好处是简单暴力。缺点是,暂时没有现成的包。需要大量引用官方API。深入的事件处理,还需要慢慢琢磨。好吧,先记录下简单的。

import win32com.client
from win32com.client import gencache, Dispatch, constants, DispatchEx

oApp = win32com.client.Dispatch('Inventor.Application')
oApp.Visible = True
mod = gencache.EnsureModule('{D98A091D-3A0F-4C3E-B36E-61F62068D488}', 0, 1, 0)
oApp = mod.Application(oApp)
# oApp.SilentOperation = True
oDoc = oApp.ActiveDocument
oDoc = mod.PartDocument(oDoc)
#装配体文档时,注意切换调试
#oDoc = mod.AssemblyDocument(oDoc)
prop = oApp.ActiveDocument.PropertySets.Item("Design Tracking Properties")

Python正则表达式

Python正则表达式

1. 正则表达式语法

1.1 字符与字符类
1 特殊字符:\.^$?+*{}[]()|
以上特殊字符要想使用字面值,必须使用\进行转义
2 字符类
    1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时如果没有指定量词则只会匹配其中的一个。
2. 字符类内可以指定范围,比如[a-zA-Z0-9]表示a到z,A到Z,0到9之间的任何一个字符
3. 左方括号后跟随一个^,表示否定一个字符类,比如[^0-9]表示可以匹配一个任意非数字的字符。
4. 字符类内部,除了\之外,其他特殊字符不再具备特殊意义,都表示字面值。^放在第一个位置表示否定,放在其他位置表示^本身,-放在中间表示范围,放在字符类中的第一个字符,则表示-本身。

Python shutil模块--文件操作

Python shutil模块--文件操作

本模块主要提供了一些对文件和多个文件的高级操作,比如文件的拷贝功能、文件的删除功能。如果只是想对一个文件进行操作,使用os模块操作就可以了。不过要值得注意的一点是本模块里拷贝文件和删除文件,在有一些情况下系统的元数据没有办法拷贝和删除。

8.8.1 目录和文件操作

shutil.copyfileobj(fsrc, fdst[, length])

拷贝文件类似的对象fsrc的内容到目标对象fdst。参数length是指明缓冲区的大小,如果是负数表示整个文件读取;默认值是读取一块磁盘大小的数据,不会占用太多内存。如果对文件对象操作完成之后,再想从头读取文件对象,需要调整文件对象的位置指针。

Python遍历Inventor工程图明细表

Python遍历Inventor工程图明细表

明细表的值可读取也可设置,导入到第三方软件比如EXCEL可以完成很多有意思的事情。下面是通过Python遍历明细表每个单元格值的一个案例:

import os
import ctypes
import win32com
win32com.__gen_path__ = os.path.join(os.path.split(__file__)[0], "gen_dir")
import win32com.client
import pythoncom

使用Python调用Autodesk INventor API的代码示例

使用Python调用Autodesk INventor API的代码示例

最近玩了一下Python,想试试连接Inventor。找了一下,发现还真有,以后可以摸黑打码玩INventor了。

import os
import ctypes
import win32com
win32com.__gen_path__ = os.path.join(os.path.split(__file__)[0], "gen_dir")
import win32com.client
import pythoncom
#ThisApplication = win32com.client.gencache.EnsureDispatch("Inventor.Application")
try:
    ThisApplication = win32com.client.GetActiveObject("Inventor.Application")
except:
    ThisApplication = win32com.client.Dispatch("Inventor.Application")
    #ThisApplication.Visible=True

«1»