社区
Inventor 产品技术应用讨论区
欢迎访问欧特克Inventor论坛!分享知识,发帖提问,浏览Inventor热帖
取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

部件环境下子零件依据属性种类字符分类另存零件

31 条回复31
已解决
回复
1 条消息(共 32 条)
442780782
4300 次查看, 31 条回复

部件环境下子零件依据属性种类字符分类另存零件

在Autodesk inventor 2016 部件环境下,运行VB代码提示如图所示代码报错.png

31 条回复31
2 条消息(共 32 条)
WeTanks
回复: 442780782

你好,

从报错的英文上,有没有定义的类型或者对象存在。

 

We.Tanks

EESignature

A couple of Fusion improvement ideas that could your vote/support:
図面一括印刷

3 条消息(共 32 条)

你的需求是分别导出STP吗?


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

4 条消息(共 32 条)

是的,用VB宏实现在Autodesk inventor 2016 部件环境下对遍历所有零件属性category的字符串为“机加件”或“钣金件”或“铝型材&亚克力”的零件保存副本,
#依据零件属性的“零件代号”&“描述”的字符串重命名,且扩展名为.stp的文件。保存副本到当前部件所在项目文件的路径下的名为PDF的文件夹里,
#且依据零件属性category 的字符串值分别保存副本到对应的文件夹名为“机加件”“钣金件”“铝型材&亚克力”的路径里。
#如果没有名为“PDF”的文件夹,则创建名为“PDF”的文件夹,且同时创建PDF文件夹里名为“钣金件”、“机加件”、“铝型材&亚克力”的子文件夹。
5 条消息(共 32 条)
442780782
回复: WeTanks

谢谢!
6 条消息(共 32 条)

你所说的保存副本是STP还是ipt?


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

7 条消息(共 32 条)

另存为STP
8 条消息(共 32 条)

以下是根据你这段代码修改的ilogic规则,我这边测试没问题,试下是否满足你的需求

    '[ STP转换器设定
	Dim oSTEPTranslator As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}") 
	Dim oContext As TranslationContext = ThisApplication.TransientObjects.CreateTranslationContext
	Dim oOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap
	']
	
	' 获取当前正在编辑的部件文档对象
 Dim assyDoc As AssemblyDocument = ThisApplication.ActiveDocument
   
    ' 获取当前部件文档所在的项目文件路径
    Dim 工作路径 As String = ThisDoc.WorkspacePath()   
 
 ' 遍历所有子部件对象
    Dim part As ComponentOccurrence
    For Each part In assyDoc.ComponentDefinition.Occurrences
        ' 获取子部件的部件文档对象
        Dim partDoc As PartDocument = part.Definition.Document      
        ' 获取零件属性字符串值		 
     	 Dim 类别 = partDoc.PropertySets.Item("Inventor Document Summary Information").Item("Category").Value
		 Dim 代号 = partDoc.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value
		 Dim 描述 = partDoc.PropertySets.Item("Design Tracking Properties").Item("Description").Value      	 
        ' 如果类别的值为“机加件”或“钣金件”或“铝型材&亚克力”,则进行导出操作
       If 类别 = "机加件" Or 类别 = "钣金件" Or 类别 = "铝型材&亚克力" Then
			'构建文件名           
			Dim 新文件名 = 工作路径 & “\PDF\” & 类别 & "\" & 代号 & "-" & 描述 & ".stp"
			'执行导出
			If oSTEPTranslator.HasSaveCopyAsOptions(ThisApplication.ActiveDocument, oContext, oOptions) Then
   		 		oOptions.Value("ApplicationProtocolType") = 3
				oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
   			 Dim oData As DataMedium = ThisApplication.TransientObjects.CreateDataMedium
    			oData.FileName = 新文件名
				oSTEPTranslator.SaveCopyAs(partDoc, oContext, oOptions, oData)
		End If
        End If
    Next
MsgBox ("完成导出。",,"iLogic")


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

9 条消息(共 32 条)

谢谢!捡总!请问是复制到VBA编辑器里吗?
10 条消息(共 32 条)

009.png

 捡总。运行报错了。

11 条消息(共 32 条)

009.png@ pmhker 运行代码报错

12 条消息(共 32 条)

009.png运行代码报错

13 条消息(共 32 条)

这是ilogic代码,在ilogic规则中运行


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

14 条消息(共 32 条)

是在外部规则环境下运行的,弹出报错窗口。

15 条消息(共 32 条)

你运行的不是我给你的代码吧


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

16 条消息(共 32 条)

参照如下操作视频

https://www.bilibili.com/video/BV1iX4y1f73u/


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

17 条消息(共 32 条)
18 条消息(共 32 条)

视频清晰的太低,错误信息截图看下


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

19 条消息(共 32 条)

009.png

20 条消息(共 32 条)

你的是2015版本嘛?可能是新版本中的api有简化,我看看找个15版本试试


If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!
如果我的回帖解决了您的问题,请点击 "接受为解决方案" 按钮. 这可以帮助其他人更快的找到解决方案!


王 承之
Autodesk AGN [Inventor 俱乐部] Leader
Inventor Club | Bilibili


AGN L    EESignature

找不到想要的内容?向社区提问或分享您的知识。

到论坛发帖  

”