It's pretty simple to create the DXF at the part (model) level and send that to the laser burner. Below is some VB(A) some that I use to create the DXF file. Depending on the version of Inventor your on it may need some subtle changes. SOmeone on the forum will assist you with that :-
Sub FP2DXF()
Dim oPartDoc As Document
Set oPartDoc = ThisApplication.ActiveDocument
' The Active document must be a part
If oPartDoc.DocumentType <> kPartDocumentObject Then
MsgBox "The Active document must be a 'Part'"
Exit Sub
End If
' The Active document must be a Sheet metal Part
If oPartDoc.SubType <> "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then
MsgBox "The Active document must be a 'Sheet Metal Part'"
Exit Sub
End If
' Check if part needs to be saved
If oPartDoc.Dirty = True Then
MsgBox "Please save this Sheet metal part"
Exit Sub
End If
Dim oFlatPattern As FlatPattern
Set oFlatPattern = oPartDoc.ComponentDefinition.FlatPattern
Dim Issue As String
Issue = oPartDoc.PropertySets.Item("Summary Information").Item("Revision Number").Value
' There must be a flat pattern
If oFlatPattern Is Nothing Then
MsgBox "Please create the flat pattern"
Exit Sub
End If
Dim oDXFfileNAME As String
oDXFfileNAME = Left(oPartDoc.FullFileName, Len(oPartDoc.FullFileName) - 4) & "-" & Issue & ".DXF"
Dim oDataIO As DataIO
Set oDataIO = oPartDoc.ComponentDefinition.DataIO
Dim sOut As String
sOut = "FLAT PATTERN DXF?AcadVersion=2000" _
+ "&OuterProfileLayer=OUTER_PROF&OuterProfileLayerColor=255;0;0" _
+ "&InteriorProfilesLayer=INNER_PROFS&InteriorProfilesLayerColor=0;255;255" _
+ "&FeatureProfileLayer=FEATURE&FeatureProfileLayerColor=0;0;255" _
+ "&InvisibleLayers=IV_TANGENT;IV_BEND;IV_BEND_DOWN;IV_TOOL_CENTER;IV_TOOL_CENTER_DOWN;IV_ARC_CENTERS;IV_FEATURE_PROFILES"
'+ "&BendUpLayer=BEND_UP&BendUpLayerColor=255;0;255&BendUpLayerLineType=37634" _
'+ "&BendDownLayer=BEND_DOWN&BendDownLayerColor=255;255;0&BendDownLayerLineType=37634" _
'+ "&SimplifySplines=True&MergeProfilesIntoPolyline=True" _
'+ "&InvisibleLayers=IV_TANGENT;IV_TOOL_CENTER;IV_TOOL_CENTER_DOWN;IV_ARC_CENTERS"
oDataIO.WriteDataToFile sOut, oDXFfileNAME
' &SplineTolerance=0,1 // Bruges hvis der ønsken lavere opløsning
'Below added by BH 06-12-2010
' Check for a non-part document
If oPartDoc.DocumentType <> kPartDocumentObject Then
MsgBox "The Active document must be a 'Part'"
Exit Sub
End If
' The Active document must be a Sheet metal Part
If oPartDoc.SubType <> "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then
MsgBox "The 'Part' must be a Sheet Metal Part"
Exit Sub
End If
Dim oSheetMetalCompDef As SheetMetalComponentDefinition
Set oSheetMetalCompDef = oPartDoc.ComponentDefinition
' Get the cut length
Dim oFace As Face
Set oFace = oSheetMetalCompDef.FlatPattern.TopFace
' Find the outer loop.
Dim dOuterLength As Double
dOuterLength = 0
Dim oLoop As EdgeLoop
For Each oLoop In oFace.EdgeLoops
If oLoop.IsOuterEdgeLoop Then
Dim oEdge As Edge
For Each oEdge In oLoop.Edges
' Get the length of the current edge.
Dim dMin As Double, dMax As Double
Call oEdge.Evaluator.GetParamExtents(dMin, dMax)
Dim dLength As Double
Call oEdge.Evaluator.GetLengthAtParam(dMin, dMax, dLength)
dOuterLength = dOuterLength + dLength
Next
'MsgBox "Outer Loop is " & FormatNumber(dOuterLength, 1)
Exit For
End If
Next
' Iterate through the inner loops.
Dim iLoopCount As Long
iLoopCount = 0
Dim dTotalLength As Double
For Each oLoop In oFace.EdgeLoops
Dim dLoopLength As Double
dLoopLength = 0
If Not oLoop.IsOuterEdgeLoop Then
For Each oEdge In oLoop.Edges
' Get the length of the current edge.
Call oEdge.Evaluator.GetParamExtents(dMin, dMax)
Call oEdge.Evaluator.GetLengthAtParam(dMin, dMax, dLength)
dLoopLength = dLoopLength + dLength
Next
' Add this loop to the total length.
dTotalLength = dTotalLength + dLoopLength
'MsgBox "Inner Loops are " & FormatNumber(dTotalLength, 1)
End If
Next
'Dim oUom As UnitsOfMeasure
'Set oUom = oPartDoc.UnitsOfMeasure
'outerCutlength = oUom.GetStringFromValue(dOuterLength, kMillimeterLengthUnits)
'innerCutlength = oUom.GetStringFromValue(dTotalLength, kMillimeterLengthUnits)
'TotalCutLength = oUom.GetStringFromValue(dTotalLength + dOuterLength, kMillimeterLengthUnits)
'Write data to properties, creating or updating (if property exists)
'Dim oCustomPropSet As PropertySet
'Set oCustomPropSet = oPartDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
'On Error Resume Next
'oCustomPropSet.Item("OuterPerimeter").Value = outerCutlength
'If Err Then
'Err.Clear
'Call oCustomPropSet.Add(outerCutlength, "OuterPerimeter")
'End If
'oCustomPropSet.Item("InnerPerimeters").Value = innerCutlength
'If Err Then
'Err.Clear
'Call oCustomPropSet.Add(innerCutlength, "InnerPerimeters")
'End If
'oCustomPropSet.Item("TotalPerimeter").Value = TotalCutLength
'If Err Then
'Err.Clear
'Call oCustomPropSet.Add(TotalCutLength, "TotalPerimeter")
'End If
End Sub
Brendan Henderson
CAD Manager

New Blog | Old Blog | Google+ | Twitter
Inventor 2016 PDSU Build 236, Release 2016.2.2, Vault Professional 2016 Update 1, Win 7 64 bit
Please use "Accept as Solution" & give "Kudos" if this response helped you.