Hi all
is there any way to export all dxfs from Ipart?
The way I have done it so far is: generate files, insert all them in an assembly, export from assembly using ilogic rule.
I wonder if there is a better way. Another reason to look for it is that Ipart often has got a custom Iproperty called Qty. I fill it from the excel table and would like to have that number in the file name.
Thanks.
Solved! Go to Solution.
Hi all
is there any way to export all dxfs from Ipart?
The way I have done it so far is: generate files, insert all them in an assembly, export from assembly using ilogic rule.
I wonder if there is a better way. Another reason to look for it is that Ipart often has got a custom Iproperty called Qty. I fill it from the excel table and would like to have that number in the file name.
Thanks.
Solved! Go to Solution.
Solved by bhavik4244. Go to Solution.
Here below rule will save all the dxf of the iPart member in the folder where iPart is being saved. Technically if there is a sheet metal component then only a flat pattern or dxf can be developed. So you may iterate this rule as per your need in any occurrences of sheet metal in an assembly.
In order to assign custom properties, you may visit this link: https://forums.autodesk.com/t5/inventor-customization/ilogic-rule-to-update-custom-iproperties-with-...
Dim oDoc As PartDocument = ThisApplication.ActiveDocument Dim oDef As SheetMetalComponentDefinition = oDoc.ComponentDefinition Dim oPartMember As iPartMember For Each oTab As iPartTableRow In oDef.iPartFactory.TableRows MessageBox.Show(oTab.MemberName, "Name of the Memeber") iPart.ChangeRow("", oTab.MemberName) Dim oFeat As PartFeature For Each oFeat In oDef.Features If oDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then If oDef.HasFlatPattern = False Then oDef.Unfold Else oDef.FlatPattern.Edit End If Dim odxf As String Dim oPath As String oPath = ThisDoc.Path & "\DXF" If Not System.IO.Directory.Exists(oPath) Then System.IO.Directory.CreateDirectory(oPath) End If Dim odxfname As String odxf = "FLAT PATTERN DXF?OuterProfileLayer=0&OuterProfileLayerColor=0;0;0&InteriorProfilesLayer=0&InteriorProfilesLayerColor=0;0;0&BendDownLayerLineType=37633&BendDownLayerColor=0;0;255&BendUpLayerLineType=37633&BendUpLayerColor=0;0;255IV_BEND;IV_BEND_DOWN;IV_OUTER_PROFILE;IV_INTERIOR_PROFILES;IV_FEATURE_PROFILES;IV_FEATURE_PROFILES_DOWN;IV_ALTREP_FRONT;IV_ALTREP_BACK;IV_ROLL_TANGENT;IV_ROLL&InvisibleLayers=IV_TANGENT;IV_TOOL_CENTER;IV_TOOL_CENTER_DOWN;IV_ARC_CENTERS;IV_UNCONSUMED_SKETCHES" _ + "&RebaseGeometry=True" _ + "&SimplifySplines=True" _ + "&SplineTolerance=0.01" _ odxfname = oPath & "\"& oTab.MemberName & ".dxf" oDef.DataIO.WriteDataToFile(odxf, odxfname) oDef.FlatPattern.ExitEdit MessageBox.Show("DXF has been saved in this location: " + odxfname) Else MessageBox.Show("There must be a sheetmetal component to get the dxf file!") End If Next Next
Here below rule will save all the dxf of the iPart member in the folder where iPart is being saved. Technically if there is a sheet metal component then only a flat pattern or dxf can be developed. So you may iterate this rule as per your need in any occurrences of sheet metal in an assembly.
In order to assign custom properties, you may visit this link: https://forums.autodesk.com/t5/inventor-customization/ilogic-rule-to-update-custom-iproperties-with-...
Dim oDoc As PartDocument = ThisApplication.ActiveDocument Dim oDef As SheetMetalComponentDefinition = oDoc.ComponentDefinition Dim oPartMember As iPartMember For Each oTab As iPartTableRow In oDef.iPartFactory.TableRows MessageBox.Show(oTab.MemberName, "Name of the Memeber") iPart.ChangeRow("", oTab.MemberName) Dim oFeat As PartFeature For Each oFeat In oDef.Features If oDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then If oDef.HasFlatPattern = False Then oDef.Unfold Else oDef.FlatPattern.Edit End If Dim odxf As String Dim oPath As String oPath = ThisDoc.Path & "\DXF" If Not System.IO.Directory.Exists(oPath) Then System.IO.Directory.CreateDirectory(oPath) End If Dim odxfname As String odxf = "FLAT PATTERN DXF?OuterProfileLayer=0&OuterProfileLayerColor=0;0;0&InteriorProfilesLayer=0&InteriorProfilesLayerColor=0;0;0&BendDownLayerLineType=37633&BendDownLayerColor=0;0;255&BendUpLayerLineType=37633&BendUpLayerColor=0;0;255IV_BEND;IV_BEND_DOWN;IV_OUTER_PROFILE;IV_INTERIOR_PROFILES;IV_FEATURE_PROFILES;IV_FEATURE_PROFILES_DOWN;IV_ALTREP_FRONT;IV_ALTREP_BACK;IV_ROLL_TANGENT;IV_ROLL&InvisibleLayers=IV_TANGENT;IV_TOOL_CENTER;IV_TOOL_CENTER_DOWN;IV_ARC_CENTERS;IV_UNCONSUMED_SKETCHES" _ + "&RebaseGeometry=True" _ + "&SimplifySplines=True" _ + "&SplineTolerance=0.01" _ odxfname = oPath & "\"& oTab.MemberName & ".dxf" oDef.DataIO.WriteDataToFile(odxf, odxfname) oDef.FlatPattern.ExitEdit MessageBox.Show("DXF has been saved in this location: " + odxfname) Else MessageBox.Show("There must be a sheetmetal component to get the dxf file!") End If Next Next
Thanks so much for this post! It was very useful. I am curious, is it possible to run this rule without needing to click ok after each I-part instance has been saved?
Thanks,
Dylan
INV PRO 23
Thanks so much for this post! It was very useful. I am curious, is it possible to run this rule without needing to click ok after each I-part instance has been saved?
Thanks,
Dylan
INV PRO 23
Can't find what you're looking for? Ask the community or share your knowledge.