查看帖子的完整版本: 文件预览

拉德克·皮查(RadekPícha)
03.10.2018,07:50
在Inventor中打开文件时,我会在“打开”窗口的左侧预览该文件。可以使用VBA显示这样的预览吗?我主要是在谈论iam,ipt和idw。

弗拉基米尔·米希尔(Vladimir Michl)
03.10.2018,08:07

您是说在Inventor环境之外吗?在VBA中,由于它与64位Inventor通信的方式,这是一个问题。但是,例如。通过Inventor学徒(VB.Net): [CODE]导入Inventor导入Microsoft.VisualBasic'参考:Autodesk.Inventor.Interop,Microsoft.VisualBasic.Compatibility,stdole 将Dim学徒作为新ApprenticeServerComponentDim文档作为ApprenticeServerDocumentdoc = Apprentice.Open(“ C:\ MyFolder \ Part1.ipt”)Dim summaryInfo作为PropertySetsummaryInfo = doc.PropertySets.Item(“发明人摘要信息”)Dim thumbProp作为Inventor.Propertyumb项目(“ Thumbnail“)Dim thumbnail As stdole.IPictureDispthumbnail = thumbProp.ValueIf Not thumbnail is Nothing then  昏暗的img作为图像= Compatibility.VB6.IPictureDispToImage(缩略图)  '如果[/ CODE],则调用SavePicture(img,“ C:\ Img \ Thumb.bmp”)结束

拉德克·皮查(RadekPícha)
03.10.2018,08:26
我说的是VBA ...

拉德克·皮查(RadekPícha)
05.10.2018,06:59
您可以使用ShowOpen,在那里进行预览。但是我不知道如何将光标定位在相应的文件上。我尝试使用SendKeys,但有时它可以工作,有时却不能。您可能需要清除键盘缓冲区,但如何清除?调用ThisApplication.CreateFileDialog(oF)Sbr =“文件” oF.InitialDirectory =“路径” oF.Filter = Sbr +“ |” + Sbr +“ | Inventor文件(iam / ipt / idw)| * .iam; *。Ipt; *。idw” oF.FilterIndex = 1SendKeys“%H”,TrueSendKeys“ + {TAB} + {TAB}”,TrueSendKeys Sbr,TrueoF.ShowOpen有趣的是,当我想从本地磁盘或服务器查看文件时,它的行为有所不同,该命令:oF.FileName =“ path + file”不执行任何操作,它可能仅适用于ShowSave .. 。 任何想法?

拉德克·皮查(RadekPícha)
08.10.2018,07:21
我试图使用InventorViewCtrl.ocx,但是当我尝试将其插入FileName时,Inventor崩溃。Inventor View Control我的版本是1.0,Inventor 2018,64位,对任何人都有效吗?

弗拉基米尔·米希尔(Vladimir Michl)
08.10.2018,07:36

您是否在系统中注册了OCX?注册是否报告任何错误?可以在Office中使用吗?

拉德克·皮查(RadekPícha)
08.10.2018,08:04
我已经注册,没有报告任何错误,我没有在Office中尝试,我有2013版本,并且有一个旧的VBA(6.5),如果我没记错的话,它是32位版本。我将库插入到References中,但是它根本没有出现在Additional Controls中。在Inventor中,我将InventorViewControl对象插入到表单中,并且只要我要在FileName中选择文件(在其Properties-文件名我单击[...],一个窗口将弹出“属性页”,“文件名”选项卡,单击[...])Inventor将崩溃。

弗拉基米尔·米希尔(Vladimir Michl)
08.10.2018,08:36

哦,我还没有尝试过,但是很可能遇到了碰撞-该元素原本不打算在Inventor中使用,而是在外部Office或ERP / PDM应用程序中使用。

纳瓦拉
04.02.2019,14:48

可能没有问题,但是在VBA中预览非常容易,只需创建一个包含一个Image对象的表单,然后单击该表单即可编写代码。 [代码]私人子Image1_Click()   Me.Image1.Picture = ThisApplication.activeDocument.PropertySets(“ {F29F85E0-4FF9-1068-AB91-08002B27B3D9}”)(“缩略图”)。ValueEnd子[/代码]     


纳瓦拉2019-02-04 14:51:22

拉德克·皮查(RadekPícha)
05.02.2019,14:36
它不是没有用,仍然没有解决,它将预览打开的文档,而我不需要它。我想在打开文档之前先进行预览,我的想法是在红色框中查看所附图片中的内容。

RadekPícha2019-02-0514:47:01

弗拉基米尔·米希尔(Vladimir Michl)
02/05/2019,17:30
如果需要用于外部(卸载)文档,则必须在VBA中打开它(最好是不可见)。以下代码部分起作用,但是与VBA和Inventor进程通信时出现问题。可能由于这个原因,它总是可以第二次运行。但是如果可以的话。 UserForm1是具有图像字段(Image1)的普通形式。[代码]常量strNew_Filename =“ c:\ Users \ USER \ Documents \ SoucastRnd.ipt” Sub GO()Dim oDoc As DocumentSet oDoc = ThisApplication.Documents.Open(strNew_Filename ,False)UserForm1.ShowDim oPropSets作为PropertySetsSet oPropSets = oDoc.PropertySetsDim summaryInfo作为PropertySetSet summaryInfo = oPropSets.Item(“发明人摘要信息”)Dim thumbProp作为Inventor.PropertySet thumbProp = summaryInfo.Item(“ ThumbnailFormDispS.Value) Image1.Picture = thumbnailoDoc.CloseEnd子[/代码]

拉德克·皮查(RadekPícha)
11.02.2019,07:42
仅仅因为我不想打开文件,它给系统带来了很大的压力。我正在寻找一个大型报告,该文件有数十MB的空间,需要几分钟才能加载。找到合适的零件需要花费几个小时,发明者可以做到-打开之前先打开并预览。难道无法剖析对话并发现对话如何进行吗?

弗拉基米尔·米希尔(Vladimir Michl)
11.02.2019,08:33

打开的对话框基于标准的Windows对话框。因此,要么通过见习徒,请参见上文,要么-因为预览已作为标准文档保存在文件中。容器- 可以使用通用缩略图提取器(例如,我们在CAD论坛上的块目录中使用它)。