CAD tip # 12009:
Otázka
Stačí použít následující iLogic makro (pravidlo, předpis) - jeho spouštění si můžete přidat např. na ikonku v ribbonu (pomocí funkcí X-Tools, resp. T4I). Níže uvedený předpis spusťte v dokumentu sestavy. Čísla pozic z kusovníku propíše do uživatelské iVlastnosti "Číslo pozice" v jednotlivých IPT souborech součástí (kromě nakupovaných dílů). Tuto iVlastnost pak můžete snadno odkazovat (vkládat) v rohovém razítku výkresu součásti (Text > Uživatelské vlastnosti - Model) nebo v jiných situacích dle potřeby.
Pozor - pokud je součást použita v sestavě vícekrát, nebo pokud je součást použita ve vícero sestavách, může být iVlastnost čísla pozice přepsána a nemusí souhlasit!
Tento iLogic kód spusťte, vložte do šablony sestavy, nebo použijte jako externí pravidlo.
'Copy item numbers to components' custom iProperties '(run in the assembly, in the Master LOD) Dim oBOM As BOM Dim oBOMRow As BOMRow Dim oBOMView As BOMView Dim oCompDef As ComponentDefinition Dim oCustomProps As PropertySet Dim oBOMNoProperty As Inventor.Property Dim ItemNo As String Const iPropName As String = "Číslo pozice" ' iProperty name oBOM = ThisDoc.Document.ComponentDefinition.BOM oBOM.PartsOnlyViewEnabled = True oBOMView = oBOM.BOMViews.Item("Pouze součásti") '("Parts Only") For Each oBOMRow In oBOMView.BOMRows oCompDef = oBOMRow.ComponentDefinitions(1) If oCompDef.BOMStructure <> kPurchasedBOMStructure Then ' w/o purchased ItemNo = oBOMRow.ItemNumber oCustomProps = oCompDef.Document.PropertySets("User Defined Properties") Try oBOMNoProperty = oCustomProps.Item(iPropName) oBOMNoProperty.Value = ItemNo Catch oBOMNoProperty = oCustomProps.Add(ItemNo, iPropName) End Try End If Next