Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Import parasolid journal

Status
Not open for further replies.

rafl

Mechanical
May 30, 2011
41
I've recorded a program that imports parasolids from a specific folder. Is it possible to add current date as a name to imported bodies names in part navigator
 
Replies continue below

Recommended for you

I think this will do what you want. You may need to edit the format string to get exactly what you want.

Code:
[COLOR=blue]Imports[/color] System  
[COLOR=blue]Imports[/color] System.IO  
[COLOR=blue]Imports[/color] System.Windows.Forms  
[COLOR=blue]Imports[/color] NXOpen  

[COLOR=blue]Module[/color] Import  

    [COLOR=blue]Sub[/color] Main  
		Dim theSession [COLOR=blue]As[/color] Session [COLOR=blue]=[/color] Session.GetSession()  
		Dim workPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Work  
		Dim myFeatures() [COLOR=blue]as[/color] Features.Feature [COLOR=blue]=[/color] workPart.Features.GetFeatures  
		Dim lastTimeStamp [COLOR=blue]as integer =[/color] myFeatures(myFeatures.Length-1).Timestamp  
		  
		Dim time [COLOR=blue]As[/color] DateTime [COLOR=blue]=[/color] DateTime.Now  
		Dim format [COLOR=blue]As String =[/color] "yyyyMMdd"  

		Dim displayPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Display  
        [COLOR=blue]Try[/color]  
           [COLOR=blue]Dim[/color] openFileDialog1 [COLOR=blue]As New[/color] OpenFileDialog()  
         
            openFileDialog1.Filter [COLOR=blue]=[/color] "Parasolid files (*.x_t)|*.x_t|All files (*.*)|*.*"  
            openFileDialog1.FilterIndex [COLOR=blue]=[/color] 1  
            openFileDialog1.RestoreDirectory [COLOR=blue]= True[/color]  
			openFileDialog1.InitialDirectory [COLOR=blue]=[/color] "D:\Parasolid"  
         
            [COLOR=blue]If[/color] openFileDialog1.ShowDialog() [COLOR=blue]=[/color] DialogResult.OK [COLOR=blue]Then[/color]  
                 Console.WriteLine(openFileDialog1.FileName)  
                [COLOR=blue]Dim[/color] sr [COLOR=blue]=[/color] openFileDialog1.FileName  
				  
				Dim importer1 [COLOR=blue]As[/color] Importer  
				importer1 [COLOR=blue]=[/color] workPart.ImportManager.CreateParasolidImporter()  

				importer1.FileName [COLOR=blue]=[/color] sr  
				  
				Dim nXObject1 [COLOR=blue]As[/color] NXObject  
				nXObject1 [COLOR=blue]=[/color] importer1.Commit()  
				  
				For [COLOR=blue]each[/color] feat [COLOR=blue]as[/color] Features.Feature [COLOR=blue]in[/color] workPart.Features  
					if feat.Timestamp > lastTimeStamp [COLOR=blue]then[/color]  
						feat.SetName(time.ToString(format))  
					end [COLOR=blue]if[/color]  
				Next  
				  
            End [COLOR=blue]If[/color]  
        [COLOR=blue]Finally[/color]  
        End [COLOR=blue]Try[/color]  

    End [COLOR=blue]Sub[/color]  
End [COLOR=blue]Module[/color]


www.nxjournaling.com
 
I'm getting an error in line

Code:
Dim lastTimeStamp as integer = myFeatures(myFeatures.Length-1).Timestamp

if the file doesn't contain any model history. When there's an object in model history every thing works great.
 
Try this one:

Code:
[COLOR=blue]Imports[/color] System    
[COLOR=blue]Imports[/color] System.IO    
[COLOR=blue]Imports[/color] System.Windows.Forms    
[COLOR=blue]Imports[/color] NXOpen    

[COLOR=blue]Module[/color] Import    

    [COLOR=blue]Sub[/color] Main    
		Dim theSession [COLOR=blue]As[/color] Session [COLOR=blue]=[/color] Session.GetSession()    
		Dim workPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Work    
		Dim myFeatures() [COLOR=blue]as[/color] Features.Feature [COLOR=blue]=[/color] workPart.Features.GetFeatures    
		Dim lastTimeStamp [COLOR=blue]as integer =[/color] -1  
		if myFeatures.Length > 0 [COLOR=blue]then[/color]  
			lastTimeStamp [COLOR=blue]=[/color] myFeatures(myFeatures.Length-1).Timestamp    
		end [COLOR=blue]if[/color]  
		    
		Dim time [COLOR=blue]As[/color] DateTime [COLOR=blue]=[/color] DateTime.Now    
		Dim format [COLOR=blue]As String =[/color] "yyyyMMdd"    

		Dim displayPart [COLOR=blue]As[/color] Part [COLOR=blue]=[/color] theSession.Parts.Display    
        [COLOR=blue]Try[/color]    
           [COLOR=blue]Dim[/color] openFileDialog1 [COLOR=blue]As New[/color] OpenFileDialog()    
           
            openFileDialog1.Filter [COLOR=blue]=[/color] "Parasolid files (*.x_t)|*.x_t|All files (*.*)|*.*"    
            openFileDialog1.FilterIndex [COLOR=blue]=[/color] 1    
            openFileDialog1.RestoreDirectory [COLOR=blue]= True[/color]    
			openFileDialog1.InitialDirectory [COLOR=blue]=[/color] "D:\Parasolid"    
           
            [COLOR=blue]If[/color] openFileDialog1.ShowDialog() [COLOR=blue]=[/color] DialogResult.OK [COLOR=blue]Then[/color]    
                 Console.WriteLine(openFileDialog1.FileName)    
                [COLOR=blue]Dim[/color] sr [COLOR=blue]=[/color] openFileDialog1.FileName    
				    
				Dim importer1 [COLOR=blue]As[/color] Importer    
				importer1 [COLOR=blue]=[/color] workPart.ImportManager.CreateParasolidImporter()    

				importer1.FileName [COLOR=blue]=[/color] sr    
				    
				Dim nXObject1 [COLOR=blue]As[/color] NXObject    
				nXObject1 [COLOR=blue]=[/color] importer1.Commit()    
				importer1.Destroy()  
				    
				For [COLOR=blue]each[/color] feat [COLOR=blue]as[/color] Features.Feature [COLOR=blue]in[/color] workPart.Features    
					if feat.Timestamp > lastTimeStamp [COLOR=blue]then[/color]    
						feat.SetName(time.ToString(format))    
					end [COLOR=blue]if[/color]    
				Next    
				    
            End [COLOR=blue]If[/color]    
        [COLOR=blue]Finally[/color]    
        End [COLOR=blue]Try[/color]    

    End [COLOR=blue]Sub[/color]    
End [COLOR=blue]Module[/color]


www.nxjournaling.com
 
Everything works great, Thanks again Cowski
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor