Message 1 of 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
'UPDATE AND SAVE TUBE Dim UPDATEPIPE As PartDocument = ThisApplication.Documents.Open(AUTOMATIONDIR & BASEFILE, False) UPDATEPIPE.ComponentDefinition.Parameters.Item("DIAMETER").Expression = DIAMETER UPDATEPIPE.ComponentDefinition.Parameters.Item("THICKNESS").Expression = THICKNESS UPDATEPIPE.ComponentDefinition.Parameters.Item("TUBELENGTH").Expression = TUBELENGTH UPDATEPIPE.ComponentDefinition.Material.Name = MATERIALLIST UPDATEPIPE.Update UPDATEPIPE.Update2 UPDATEPIPE.SaveAs(TUBELOCATION, True) UPDATEPIPE.Save UPDATEPIPE.Close If UPDATEFLANGE = 1 Then Dim UPDATESFS As PartDocument = ThisApplication.Documents.Open(AUTOMATIONDIR & SFSFILE, False) UPDATESFS.ComponentDefinition.Parameters.Item("FLANGETHICK").Expression = FLANGETHICK UPDATESFS.ComponentDefinition.Parameters.Item("DIAMETER").Expression = DIAMETER UPDATESFS.ComponentDefinition.Parameters.Item("INNEROFFSET").Expression = INNEROFFSET UPDATESFS.ComponentDefinition.Parameters.Item("OUTEROFFSET").Expression = OUTEROFFSET UPDATESFS.ComponentDefinition.Parameters.Item("HOLEOFFSET").Expression = HOLEOFFSET UPDATESFS.ComponentDefinition.Parameters.Item("NUMOFHOLES").Expression = NUMOFHOLES UPDATESFS.ComponentDefinition.Parameters.Item("HOLEDIAMETER").Expression = HOLEDIAMETER UPDATESFS.ComponentDefinition.Parameters.Item("FLANGEANGLE").Expression = FLANGEANGLE UPDATESFS.ComponentDefinition.Material.Name = MATERIALLIST UPDATESFS.Update UPDATESFS.Update2 UPDATESFS.SaveAs(SFSLOCATION,True) UPDATESFS.SaveAs(ASSEMBLYLOCATION & SFSNEWFILE,True) UPDATESFS.Save UPDATESFS.Close End If 'UPDATE AND SAVE SFA If UPDATEANGLE = 1 Then Dim UPDATESFA As PartDocument = ThisApplication.Documents.Open(AUTOMATIONDIR & SFAFILE, False) UPDATESFA.ComponentDefinition.Parameters.Item("LEGLENGTH").Expression = LEGLENGTH UPDATESFA.ComponentDefinition.Parameters.Item("LEGTHICKNESS").Expression = LEGTHICKNESS UPDATESFA.ComponentDefinition.Parameters.Item("TOECURVE").Expression = TOECURVE UPDATESFA.ComponentDefinition.Parameters.Item("HEELCURVE").Expression = HEELCURVE UPDATESFA.ComponentDefinition.Parameters.Item("ANGLEOFFSET").Expression = ANGLEOFFSET UPDATESFA.ComponentDefinition.Parameters.Item("DIAMETER").Expression = DIAMETER UPDATESFA.ComponentDefinition.Parameters.Item("ANGLERING").Expression = ANGLERING UPDATESFA.ComponentDefinition.Parameters.Item("HOLEDIAMETER").Expression = HOLEDIAMETER UPDATESFA.ComponentDefinition.Parameters.Item("HOLEOFFSET").Expression = HOLEOFFSET UPDATESFA.ComponentDefinition.Parameters.Item("NUMOFHOLES").Expression = NUMOFHOLES UPDATESFA.ComponentDefinition.Material.Name = MATERIALLIST UPDATESFA.Update UPDATESFA.Update2 UPDATESFA.Save UPDATESFA.SaveAs(SFALOCATION, True) UPDATESFA.SaveAs(ASSEMBLYLOCATION & SFANEWFILE, True) UPDATESFA.Close End If 'UPDATE AND SAVE SFS If UPDATEFLANGE = 1 Then Dim UPDATESFS As PartDocument = ThisApplication.Documents.Open(AUTOMATIONDIR & SFSFILE, False) UPDATESFS.ComponentDefinition.Parameters.Item("FLANGETHICK").Expression = FLANGETHICK UPDATESFS.ComponentDefinition.Parameters.Item("DIAMETER").Expression = DIAMETER UPDATESFS.ComponentDefinition.Parameters.Item("INNEROFFSET").Expression = INNEROFFSET UPDATESFS.ComponentDefinition.Parameters.Item("OUTEROFFSET").Expression = OUTEROFFSET UPDATESFS.ComponentDefinition.Parameters.Item("HOLEOFFSET").Expression = HOLEOFFSET UPDATESFS.ComponentDefinition.Parameters.Item("NUMOFHOLES").Expression = NUMOFHOLES UPDATESFS.ComponentDefinition.Parameters.Item("HOLEDIAMETER").Expression = HOLEDIAMETER UPDATESFS.ComponentDefinition.Parameters.Item("FLANGEANGLE").Expression = FLANGEANGLE UPDATESFS.ComponentDefinition.Material.Name = MATERIALLIST UPDATESFS.Update UPDATESFS.Update2 UPDATESFS.SaveAs(SFSLOCATION,True) UPDATESFS.SaveAs(ASSEMBLYLOCATION & SFSNEWFILE,True) UPDATESFS.Save UPDATESFS.Close End If 'SAVEAS IAM MessageBox.Show("SAVE IAM") MessageBox.Show(AUTOMATIONDIR & ASSEMBLYFILE) Dim UPDATEASSY As AssemblyDocument UPDATEASSY = ThisApplication.Documents.Open(AUTOMATIONDIR & ASSEMBLYFILE, False) MessageBox.Show("FILE OPEN") UPDATEASSY.SaveAs(IAMFILEPATH, True) UPDATEASSY.Close 'UPDATE AND SAVE IAM MessageBox.Show("UPDATE AND SAVE IAM") MessageBox.Show(IAMFILEPATH) Dim UPDATEASSY2 As AssemblyDocument = ThisApplication.Documents.Open(IAMFILEPATH, False) UPDATEASSY2.ComponentDefinition.Parameters.Item("FLANGEANGLE").Expression = FLANGEANGLE Dim ACD As AssemblyComponentDefinition = UPDATEASSY2.ComponentDefinition For i As Integer = 1 To ACD.Occurrences.Count Dim NUMPARTS As ComponentOccurrence = ACD.Occurrences.Item(i) If Left(NUMPARTS.Name, 3) = "SFA" NUMPARTS.Replace(ASSEMBLYLOCATION & SFANEWFILE, False) Else If Left(NUMPARTS.Name, 3) = "SFS" NUMPARTS.Replace(ASSEMBLYLOCATION & SFSNEWFILE, False) Else If Left(NUMPARTS.Name, 3) = "FLG" NUMPARTS.Replace(ASSEMBLYLOCATION & SFSNEWFILE, False) Else NUMPARTS.Replace(TUBELOCATION, False) End If Next UPDATEASSY2.Update UPDATEASSY2.Update2 UPDATEASSY2.Save UPDATEASSY2.Close
everything but the iam portion will work
then nothing works
I think it might have to do with autorun, but I am not sure how to turn it off
System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Inventor.PartDocument.SaveAs(String FileName, Boolean SaveCopyAs)
at ThisRule.Main()
at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
Solved! Go to Solution.