酷居科技

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

Autodesk Inventor工程图自动保存PDF文件iLogic代码

Autodesk Inventor工程图自动保存PDF文件iLogic代码

代码形式:Inventor内置ilogic工具

兼容版本:Autodesk Inventor 2018

解决的问题:方便自动将工程图保存为PDF文件格式

具体代码如下:

  1: oPath = ThisDoc.Path
  2: oFileName = ThisDoc.FileName(False) 'without extension
  3: oRevNum = iProperties.Value("project", "revision number")
  4: oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _
  5: ("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
  6: oDocument = ThisApplication.ActiveDocument
  7: oContext = ThisApplication.TransientObjects.CreateTranslationContext
  8: oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
  9: oOptions = ThisApplication.TransientObjects.CreateNameValueMap
 10: oDataMedium = ThisApplication.TransientObjects.CreateDataMedium 
 11: 
 12: If oPDFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then
 13: oOptions.Value("All_Color_AS_Black") = 0
 14: oOptions.Value("Remove_Line_Weights") = 1
 15: oOptions.Value("Vector_Resolution") = 400
 16: oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets
 17: 'oOptions.Value("Custom_Begin_Sheet") = 2'oOptions.Value("Custom_End_Sheet") = 4
 18: End If 
 19: 
 20: 
 21: 'get PDF target folder path
 22: oFolder = "k:\dwg\pdf\"
 23: 
 24: 
 25: 'Check for the PDF folder and create it if it does not exist
 26: If Not System.IO.Directory.Exists(oFolder) Then
 27:     System.IO.Directory.CreateDirectory(oFolder)
 28: End If
 29: 
 30: 
 31: 'Set the PDF target file name
 32: oDataMedium.FileName = oFolder & "\" & oFileName & _
 33: " rev" & oRevNum & ".pdf" 
 34: 
 35: 
 36: 'Publish document
 37: oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) 
 38: '------end of iLogic-------

Python 调用百度ocr文字识别

Python 调用百度ocr文字识别

如果已安装pip,执行pip install baidu-aip即可。

  1: from aip import AipOcr
  2: 
  3:  """ 你的 APPID AK SK """ 
  4: 
  5: APP_ID = '你的 App ID' 
  6: 
  7: API_KEY = '你的 Api Key' 
  8: 
  9: SECRET_KEY = '你的 Secret Key' 
 10: 
 11: client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
 12: 

具体的SDK文档在这:http://ai.baidu.com/docs#/OCR-Python-SDK/top

两台Windows主机通过桥接共享上网

两台Windows主机通过桥接共享上网

最近碰上一个情况,就是搞了一台台式机到小书房里,但是由于拉条网线过去,影响美观。所以,打算用一台笔记本来共享网络给台式机来上网。

台式机和笔记本放一起,用一条网线直连两台主机的有线网卡,实现最短布线。笔记本可以通过无线网卡上网。

现在要处理的就是,如何将笔记本的网络共享给台式机。

假设笔记本的无线网卡是W,有线网卡是L。

台式机的有线网卡是T

大体的方法是,先让无线网卡正常脸上热点,然后查看无线网卡W的ip地址,假设是192.168.0.1,关注子网掩码和DNS信息。这时就把笔记本的有线网卡L的ip地址设置为192.168.0.108,子网掩码和DNS信息一致。然后,同时选中无线网卡W和有线网卡L,右击选择桥接。

用Python微信聊天

用Python微信聊天

通过安装wxpy第三方包,用几行简单的代码即可进行微信聊天。虽然蛋疼了点,但是如果你想感受类似在控制台上进行微信沟通的(装逼)感觉。那么可以尝试一下。当然,wxpy还有其他更(高)好(大)玩(上)的玩法。这里就不说了。我们只玩最简单的。

from wxpy import *
bot = Bot()
friends= bot.friends()
p = friends.search('微信好友名称')[0]
@bot.register()
def print_others(msg):
# 输出监听到的消息
print(msg)
# 回复消息
#msg.reply("hello world")
embed()

Pycharm注册激活方法(2018)

Pycharm注册激活方法(2018)

Windows系统下适用。

1、将“0.0.0.0 account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc

2、打开http://idea.lanyus.com/   ,点击激活,获得并复制注册码。

3、打开pycharm,选择 第二个选项:Activate code,把第二步复制的注册码粘贴在下面的文本框,activate。以后再打开pycharm,就直接进入IDE界面了。

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

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

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

通过wordpress_xmlrpc的python包远程操作wordpress

通过wordpress_xmlrpc的python包远程操作wordpress

不需要太多废话。

参考文档:使用文档http://python-wordpress-xmlrpc.readthedocs.org/

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是指明缓冲区的大小,如果是负数表示整个文件读取;默认值是读取一块磁盘大小的数据,不会占用太多内存。如果对文件对象操作完成之后,再想从头读取文件对象,需要调整文件对象的位置指针。