Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

vb step translator- issues on translating layer 0

Status
Not open for further replies.

mnash60

Materials
Feb 21, 2012
29
0
0
US
I have this journal file that translates parts to step. but when i try to translate an assemble file with surfaces in it and on layer 0 they do not show. Can someone help! Below is the code i have so far.


'Purpose: automate STEP export of the following entities:
'Layer 1 - Solids
'Layer 4 - Solids
'Layer 5 - Solids
'Layer 41 - Lines
'Layer 44 - Points
'Layer 63 - Solids
'eng-tips thread561-321704

'May 11, 2012

Option Strict Off
Imports System
Imports System.Collections.Generic
Imports NXOpen
Imports NXOpen.UF

Module Module1

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
Dim lw As ListingWindow = theSession.ListingWindow
Dim ufs As UFSession = UFSession.GetUFSession()
Sub Main()

lw.Open()
Dim strCurrentDate As String = Format(Today, "MMddy")
Dim mySelectedObjects As New List(Of NXObject)
Dim tempSelectedObjects() As NXObject
Dim step214File As String
dim pos as integer
Dim outputFile2 As String
Dim outputPath As String = IO.Path.GetDirectoryName(workPart.FullPath)
Dim outputFile As String = IO.Path.GetFileNameWithoutExtension(workPart.FullPath)

'look for position of hyphen
pos = InStr(outputfile, "_dwr")
'if hyphen is found, trim off all characters before hyphen (+1 to trim hyphen as well)
if pos > 0 then
outputfile = left(outputfile, pos - 1)
End if



outputFile = IO.Path.Combine(outputPath, outputFile & "_" & strCurrentDate & ".stp")



Dim STEP214UG_DIR As String = theSession.GetEnvironmentVariableValue("STEP214UG_DIR")
step214File = IO.Path.Combine(STEP214UG_DIR, "ugstep214.def")


'export to STEP214 file
Dim step214Creator1 As Step214Creator
step214Creator1 = theSession.DexManager.CreateStep214Creator()

step214Creator1.SettingsFile = step214File
step214Creator1.ObjectTypes.Solids = True
step214Creator1.ObjectTypes.Surfaces = True
step214Creator1.LayerMask = "1-256"
step214Creator1.InputFile = workPart.FullPath
step214Creator1.OutputFile = outputFile
step214Creator1.FileSaveFlag = False
step214Creator1.ExportSelectionBlock.SelectionScope = ObjectSelector.Scope.SelectedObjects

Dim added1 As Boolean
added1 = step214Creator1.ExportSelectionBlock.SelectionComp.Add(mySelectedObjects.ToArray)

Dim nXObject1 As NXObject
nXObject1 = step214Creator1.Commit()

step214Creator1.Destroy()
lw.Close()

End Sub

Sub AddSolidsFromLayer(ByVal layer As Integer, ByRef objList As List(Of NXObject))

Dim tempselectedobjects() As NXObject
Dim tempSolidObj As Body

tempselectedobjects = workPart.Layers.GetAllObjectsOnLayer(layer)
'filter out the solid bodies on the layer and add them to the export list
For Each obj As NXObject In tempselectedobjects
If TypeOf obj Is Body Then
tempSolidObj = CType(obj, Body)
If tempSolidObj.IsSolidBody Then
objList.Add(tempSolidObj)
End If
End If
Next


End Sub

Function SelectObjects(ByVal prompt As String, _
ByRef selObj As NXObject()) As Selection.Response

Dim theUI As UI = UI.GetUI
Dim typeArray() As Selection.SelectionType = _
{Selection.SelectionType.All}

Dim resp As Selection.Response = theUI.SelectionManager.SelectObjects( _
prompt, "Select Objects for STEP Export", _
Selection.SelectionScope.WorkPart, _
False, typeArray, selObj)

If resp = Selection.Response.ObjectSelected Or _
resp = Selection.Response.ObjectSelectedByName Or _
resp = Selection.Response.Ok Then
Return Selection.Response.Ok
Else
Return Selection.Response.Cancel
End If

End Function

Public Function GetUnloadOption(ByVal dummy As String) As Integer

'Unloads the image when the NX session terminates
GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination

End Function

End Module



 
Replies continue below

Recommended for you

my journal file works great! thanks! I have on issue though after running it a few times in a row it locks up my UG screen. Anybody know how to resolve that?
 
When you call the stepCreator.Commit method, it starts an external process to convert the geometry. If you start another translation before the first finishes, it can cause problems. Try putting the journal thread to sleep until the output file exists. An example can be seen in thread561-352169 (see the post timestamped: 20 Sep 13 15:32).

www.nxjournaling.com
 
Status
Not open for further replies.
Back
Top