I have an assembly made of three parts. There is ilogic in place to rearrange these parts in the assembly. The part numbers change depending on how the puts are arranged and there length. The part numbers come up fine in the assembly ( i have a window popping up to show them). However when i open the BOM the separate parts are listed but not with there part number just with there file name..
Suggestions please!?
Hi
maybe your rule don't set the new part number on each part
Its hard to explain... Depending what way the parts are laid out in the assembly using the ilogic iv done changes what the part numbers are.. So without all the parts together the part numbers cant work. I need the indivdual parts to have the same part numbers that are created in the assembly in which they are placed.
Hi sperrin658,
Can you post a screen shot of your BOM dialog, so we can see the issue you are seeing?
I suspect the issue might be related to the Part Number Row Merge Settings:
http://inventortrenches.blogspot.com/2011/08/unwanted-varies-and-merged-part-numbers.html
But it's difficult to know without seeing the BOM dialog.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
2 images one shows the BOM which only shows the file names.. The other shows the assembly and the part numbers being displayed within the assembly.
Hi sperrin658,
It looks like maybe the part number string is being created and reported in the iLogic rule, but not actually written to the part file's iProperty (which is what yannick3 guessed might be happening).
Would it be a good idea to post your iLogic code at this point?
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
If Right_On = True And Left_On = False And Center_On = False And Connecting_Plate_On = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Right Rail", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If If Right_On = True And Left_On = False And Center_On = False And Connecting_Plate_On = False GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If If Left_On = True And Right_On = True And Center_On = False And Connecting_Plate_On = False GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "LEFT HAND END" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Left_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL LEFT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If If Left_On = True And Right_On = True And Center_On = False And Connecting_Plate_On = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "LEFT HAND END" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Left_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL LEFT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If If Right_On = True And Left_On = True And Center_On = True And Connecting_Plate_On = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Left_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL LEFT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Center_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "BOTH ENDS" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL CENTER: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If If Right_On = True And Left_On = True And Center_On = True And Connecting_Plate_On = False GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Right_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL RIGHT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Left_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "NONE REQUIRED" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL LEFT: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C21") = component_type GoExcel.CurrentCellValue("C21") = "DRIVE IN / THROUGH RAIL" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "D21") = component_type GoExcel.CurrentCellValue("D21") = "80MM SPERRIN MK 2 - 2.3MM GUAGE" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "E21") = component_type GoExcel.CurrentCellValue("E21") = Center_Rail GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "F21") = component_type GoExcel.CurrentCellValue("F21") = "BOTH ENDS" GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "G21") = component_type GoExcel.CurrentCellValue("G21") = "NONE REQUIRED" Componen=GoExcel.CellValue("SPERRIN COMPONENT NUMBERS - INVENTOR USE.xlsm", "DRIVE IN 0R THROUGH RAIL", "C23") iProperties.Value("Project", "Part Number")=Componen PN =iProperties.Value("Project", "Part Number") MessageBox.Show("RAIL CENTER: " & PN, "Part Number Confirm",MessageBoxButtons.OK) iLogicVb.UpdateWhenDone = True End If
The 'Right_On', 'Left_On' and 'Center_On' refer to which parts are active in the assembly. Ihave more ilogic done to change these options in the assembly.
Thanks for the help!
Hi sperrin658,
The very first thing I notice is in the first If/Then block, there is a line that reads:
iProperties.Value("Right Rail", "Part Number") = Componen
I think this is meant to read:
iProperties.Value("Project", "Part Number")=Componen
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
Hi sperrin658,
The next thing I see, is that you are setting the Part Number twice per If/Then block. So the first time you set it, gets overwritten be the second time (see green arrows).
Edit: I'm jumping back and forth between looking at this and working on other things, but I just noticed that your IF statement don't have any Thens or Elses, so I think your code has some issues, but I've not realy had time to look at it closely. Hopefully this will get you started though.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
I sorted that bit after i had copied it onto the post. I need two separate part numbers cause theres two parts within the assembly with two different numbers, thats why theres no "else ifs".
Thanks for the help.