酷居科技

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

使用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

时间与感官

时间与感官

BBC去年推出的纪录片《时间之旅》(Voyage of Time,这部片子很厉害的一点是让凯特·布兰切特和布拉德·皮特做旁白)也对伊格曼的一个精彩实验有所引用。让我来描述一下他做过些什么。却说这位教授注意到人在面临恐惧的境况下往往觉得时间异常之长,于是就想弄明白危险境地是不是会改变人的感官处理能力——因为“脑子变快了”所以时间会变长——于是招募来一些志愿者和他一起站在高楼上蹦极。高楼对面放着一块电子显示屏,上面有些闪烁的数字,因为闪得较快,平常是读不出的。教授假设,如果那些蹦极的人能在下坠过程中读出数字,就说明大脑的视觉处理速度的确因为身处恐惧而加快了。但研究团队反复实验的结果(包括调整数字闪烁速度)显示,志愿者怎么也还是读不出,说明这个过程中主要还是对时间的主观感知发生了改变,真实的时间并未因此拉长。

2018元旦

2018元旦
新年快乐。 哎,时间过的真快,又他妈一年过去了。 今天一口气把《浴血黑帮》第四季全6集都看玩了。 现在没东西追了。 来一支烟。

圣诞节是怎么来的?

圣诞节是怎么来的?

如今的圣诞节,在全世界的范围内,都俨然成为一个消费的符号了。

除了基督宗教的信仰者之外,不信教的人士也都会凑个热闹。对于国人而言,中式圣诞节自然过得就更加有本地特色,譬如不知何时诞生了相互送苹果的习惯。固然,国人大多取“苹”与“平”的谐音,送人苹果以示“平平安安”。

然而,在基督宗教的主要分支天主教的习惯当中,“苹果”象征的乃是“恶”――拉丁语中,苹果和恶都是一个词Malum,只不过重音不同而已。故而,在中世纪乃至文艺复兴的绘画中,我们都会看到夏娃手里捧着一个苹果。

如何看待腾讯市值超过 5000 亿美元?

如何看待腾讯市值超过 5000 亿美元?
11月21日,腾讯控股收盘价达到430港元,市值4.08453万亿港元(约合5229亿美元),超过Facebook的市值,成为仅次于苹果、Google、微软和亚马逊的全球市值第五高的公司。

人工智能变形记

人工智能变形记

不管我们是否愿意,形形式式的人工智能早已深入日常生活。对违章车辆车牌的自动识别,网上搜索的自动推荐,懂得自己充电和探索地形的扫地机器人,还有会帮你自动排好日程的智能助理。这一切将人们从种种无趣的脑力劳动中解放出来,也带来了众多机遇和挑战。但鲜为人知的是,在背后支撑这些人工智能的,其实是一个个数学定理和计算机算法。

 

Visual studio 2017 激活key(密钥)

Visual studio 2017 激活key(密钥)

Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

Visual Studio 2017(VS2017) 专业版Professional 激活码key:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH

 

工程图及模型文件iproperty相互映射案例

工程图及模型文件iproperty相互映射案例

VBA级别,可参考,具体如下

Sub Main()
        Dim doc As Document
        Dim DrawingName As String = Nothing
        If ThisApplication.ActiveDocumentType = DocumentTypeEnum.kPartDocumentObject Or ThisApplication.ActiveDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
            doc = ThisApplication.ActiveDocument
            DrawingName = GetDrawingType(doc.FullDocumentName)
            If DrawingName Is Nothing Then
                MsgBox("No drawing name could be found with this name in this path!", MsgBoxStyle.Exclamation, "Drawing not found")
                Exit Sub
            End If
        Else
            MsgBox("This application will only run from a part or assembly document!", MsgBoxStyle.Exclamation, "Document Type Error")
            Exit Sub
        End If

从工程图中导出明细表

从工程图中导出明细表
'define the active document as an assembly file
Dim oAsmDoc As AssemblyDocument
oAsmDoc = ThisApplication.ActiveDocument
oAsmName = Left(oAsmDoc.DisplayName, Len(oAsmDoc.DisplayName) )

'check that the active document is an assembly file
If ThisApplication.ActiveDocument.DocumentType <> kAssemblyDocumentObject Then
MessageBox.Show("Please run this rule from the assembly file.", "iLogic")
Exit Sub
End If

'get user input
RUsure = MessageBox.Show ( _
"This will create a .xls file for all of the asembly components that have drawings files." _
& vbLf & "This rule expects that the drawing file shares the same name and location as the component." _
& vbLf & " " _
& vbLf & "Are you sure you want to create PDF Drawings for all of the assembly components?" _
& vbLf & "This could take a while.", "iLogic  - Batch Output PDFs ",MessageBoxButtons.YesNo)

If RUsure = vbNo Then
Return
Else
End If

'- - - - - - - - - - - - -subass drawing - - - - - - - - - - - -
Dim oExcDocs As DocumentsEnumerator
oExcDocs = oAsmDoc.AllReferencedDocuments
Dim oExcDoc As Document
For Each oExcDoc In oExcDocs
idwPathName = Left(oExcDoc.FullDocumentName, Len(oExcDoc.FullDocumentName) -3) & "idw"
'check to see that the model has a drawing of the same path and name
If(System.IO.File.Exists(idwPathName)) Then
				Dim oDrawDoc As DrawingDocument
                oDrawDoc = ThisApplication.Documents.Open(idwPathName, True)
		pathname = Left(oExcDoc.FullDocumentName, Len(oExcDoc.FullDocumentName) -3)
		Dim oSheet1 As Inventor.Sheet
		oSheet1 = oDrawDoc.Sheets("Ark:1")
		Dim oPartslist1 As PartsList
		oPartslist1 = oSheet1.PartsLists(1)
		oPartslist1.Export(pathname & ".xls",PartsListFileFormatEnum.kMicrosoftExcel)
		oDrawDoc.Close
Else
'If the model has no drawing of the same path and name - do nothing
End If
Next
'- - - - - - - - - - - - -Top Level Drawing - - - - - - - - - - - -
oAsmDrawing = ThisDoc.ChangeExtension(".idw")
oAsmDrawingDoc = ThisApplication.Documents.Open(oAsmDrawing, True)
oAsmDrawingName = Left(oAsmDrawingDoc.DisplayName, Len(oAsmDrawingDoc.DisplayName))
On Error Resume Next 
path_and_name = ThisDoc.PathAndFileName(False)
Dim oSheet As Inventor.Sheet
oSheet = oAsmDrawingDoc.Sheets("Ark:1")
Dim oPartslist As PartsList
oPartslist = oSheet.PartsLists(1)
oPartslist.Export(path_and_name & ".xls",PartsListFileFormatEnum.kMicrosoftExcel)
oAsmDrawingDoc.Close
'- - - - - - - - - - - - -

MessageBox.Show("Done " & vbLf & oFolder, "iLogic")
'open the folder where the new ffiles are saved
Shell("explorer.exe " & oFolder,vbNormalFocus)

不想失业?你得学会为自己工作

不想失业?你得学会为自己工作

正在读这篇文章的你,从事着什么工作呢?

也许,你是一名白领,坐在冷气强劲的5A级写字楼,拿着一万出头的工资,每天朝九晚八,带着一身疲惫回家。虽然积蓄不多,却也在一直慢慢增长。

又或许,你是一名应届生,刚刚进入心仪的大公司,虽然奔波在最劳累的第一线岗位,但一想到未来的晋升路径和可能性,就踌躇满志。

也许,你们都在这座城市扎根不久,但都梦想着,通过自己的努力打拼,一步步在公司里站稳脚跟,向上晋升,当上高管,买房,成家,立业。