Export flat pattern dxf for all ipart members

Export flat pattern dxf for all ipart members

aurel_e
Collaborator Collaborator
956 Views
2 Replies
Message 1 of 3

Export flat pattern dxf for all ipart members

aurel_e
Collaborator
Collaborator

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.

0 Likes
Accepted solutions (1)
957 Views
2 Replies
Replies (2)
Message 2 of 3

bhavik4244
Collaborator
Collaborator
Accepted solution

@aurel_e 

 

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

 


Bhavik Suthar
Message 3 of 3

dbanksUHFZ7
Explorer
Explorer

@bhavik4244 

 

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?

 

dbanksUHFZ7_0-1721048638686.png

 

Thanks,

Dylan

INV PRO 23

0 Likes