Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iLogic writes unwanted iProperties

1 REPLY 1
SOLVED
Reply
Message 1 of 2
ChristianAndersenIsmyname
336 Views, 1 Reply

iLogic writes unwanted iProperties

Hello.

 

I have stolen a code from another thread (can't remember exactly where), that makes a copy of .ipt and .idw, and replaces old .ipt with the new one.

 

However, it seems to rewrite the properties from the old .ipt into the new, after I've changed them.

 

Small sample of my code:

' Perform Save As of Part
oDoc.SaveAs(Path & "\" & NewFileName & oExtension, False)

iProperties.Value("Project", "Part Number") = NewFilePartNumber
iProperties.Value("Project", "Description") = NewFileDesc
MessageBox.Show(iProperties.Value("Project", "Part Number") & iProperties.Value("Project", "Description"))
oDoc.Save()	

' Open the current drawing (in same folder location)
Dim DrawingDoc As DrawingDocument = ThisApplication.Documents.Open(Path & "\" & CurrentFilename & DWGType)

'MessageBox.Show(".idw opened, tries to replace model")
' Replace reference to part model
Dim oFD As FileDescriptor
oFD = DrawingDoc.ReferencedFileDescriptors(1).DocumentDescriptor.ReferencedFileDescriptor
oFD.ReplaceReference(Path & "\" & NewFileName & oExtension)
DrawingDoc.Update()
' Perform 'Save As' on the drawing - change this to reflect your drawing type .dwg or .idw
DrawingDoc.SaveAs(Path & "\" & NewFileName & ".idw", False)


' Make the assembly model active again...
question = MessageBox.Show("Open the new part?","Title",MessageBoxButtons.YesNo)
If question = vbYes 
oDoc.Activate()
Else
oDoc.Close()
End If

 

At the beginning of the code above, I change iProperties values to what I want them to be, and the messagebow right below that is showing the correct values. However, when it runs the rest it rewrites those values back to what the old .ipt have.

 

I suspect theres something with FileDescriptor, but I have no knowledge about what oFD exactly does.

So, if anyone want to fix my code, and explain why it happens so I can learn it, I would really appriciate it.

Labels (1)
1 REPLY 1
Message 2 of 2

Figured it out.

 

It wasn't writing iprop to the part, but the drawing.

So had to change it to:

iProperties.Value(NewFileName & oExtension, "Project", "Part Number") = NewFilePartNumber
iProperties.Value(NewFileName & oExtension, "Project", "Description") = NewFileDesc

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report