Beyond Inventor Wizard... The Community!

Autodesk Inventor en AutoCAD Forum

Hallo allemaal,

Momenteel probeer ik in inventor met ilogic de BOM in structured tabblad te hernummeren. Nu  is dit al mogelijk, alleen dit wil ik graag met het alfabet doen. A, B ..Z, AA... AZ etc. Zelf ben ik totaal niet goed in ilogic en hopelijk kan iemand mij hiermee helpen.

Op het autodesk forum heb ik deze vraag ook gesteld, en tot nu to kom ik tot deze code:

Dim oBOM As BOM
oBOM = ThisApplication.ActiveDocument.ComponentDefinition.BOM
Dim obomview As BOMView
obomview = oBOM.BOMViews(2)
obomview.Sort("Stock Number", True, "Afmeting", True)
For i = 1 To obomview.BOMRows.Count
obomview.BOMRows.Item(i).ItemNumber = "A" & i
Next


POS nummering
In deze discussie is een mooi voorbeeld gegeven voor het hernummeren doormiddel van een
string. Mischien kan dit ook gebruikt worden voor wat ik probeer te doen. Zelf zou ik alleen 
niet weten hoe ik dit moet samenvoegen.

Hopelijk kan iemand mij hiermee helpen.

Gr. Don

Aantal maal bekeken: 84

Hierop reageren

Berichten in deze discussie

Don, is deze vraag die je hier gesteld hebt nog actueel op heb je al een oplossing. Anders zou ik wel eens met je mee kunnen kijken.

Rob

Beste R. Van der Veek,

Deze vraag is al beantwoord op het inventor forum van autodesk. Ik had er niet aan gedacht om het antwoord ook hier te plaatsen. Dit zal ik even doen.

Ieder geval bedankt voor het aanbod om te helpen!

Oplossing 1:
Gemaakt door marcin_otręba op het Autodesk Inventor forum.

Sub Main()
Dim oBOM As BOM
oBOM = ThisApplication.ActiveDocument.ComponentDefinition.BOM
Dim obomview As BOMView
obomview = oBOM.BOMViews(2)
obomview.Sort ("Numer części", True, "s_length", True)
obomview.renumber
For i = 1 To obomview.BOMRows.Count
obomview.BOMRows.Item(i).ItemNumber = Get_Number (obomview.BOMRows.Item(i).ItemNumber )
Next
End Sub

Function Get_Number (Number)
Select Case Number
Case 1 : Return "A"
Case 2 : Return "B"
Case 3 : Return "C"
Case 4 : Return "D"
Case 5 : Return "E"
Case 6 : Return "F"
Case 7 : Return "G"
Case 8 : Return "H"
Case 9 : Return "I"
Case 10 : Return "J"
Case 11 : Return "K"
Case 12 : Return "L"
'...
Case Else : Return ""
End Select
End Function



Oplossing 2:
Gemaakt door marcin_otręba op het Autodesk Inventor forum.


Sub Main()
Dim drw As DrawingDocument
drw = ThisApplication.ActiveDocument
Dim obom As BOM
Dim oview As BOMView
Dim orow As BOMRow
ass = ThisDrawing.ModelDocument
obom = ass.ComponentDefinition.BOM
obom.StructuredViewEnabled = False
obom.StructuredViewEnabled = True
drw.update
Dim prtl As PartsList
prtl = drw.ActiveSheet.PartsLists.Item(1)
Dim prow As PartsListRow
oview = obom.BOMViews.Item(2)
Dim arr() As String
ReDim arr(oview.BOMRows.Count)
For i = 1 To prtl.PartsListRows.Count
arr(i - 1)= prtl.PartsListRows.Item(i).Item(1).Value
Next
Dim x As Integer
For i = 1 To oview.BOMRows.Count
j = Clng(arr(i-1))
orow = oview.BOMRows.Item(j)
x= Floor((i) / 25)
If x= 0 Then
orow.ItemNumber = Get_Number(i)
End If
If x > 0 Then
orow.ItemNumber = Get_Number(Floor((i) / 24)) & Get_Number((i)- 24* Floor(i/24))
End If

Next
drw.update
End Sub

Function Get_Number(Number) As String
Select Case Number
Case 1: Get_Number = "A"
Case 2: Get_Number = "B"
Case 3: Get_Number = "C"
Case 4: Get_Number = "D"
Case 5: Get_Number = "E"
Case 6: Get_Number = "F"
Case 7: Get_Number = "G"
Case 8: Get_Number = "H"
Case 9: Get_Number = "J"
Case 10: Get_Number = "K"
Case 11: Get_Number = "L"
Case 12: Get_Number = "M"
Case 13: Get_Number = "N"
Case 14: Get_Number = "P"
Case 15: Get_Number = "Q"
Case 16: Get_Number = "R"
Case 17: Get_Number = "S"
Case 18: Get_Number = "T"
Case 19: Get_Number = "U"
Case 20: Get_Number = "V"
Case 21: Get_Number = "W"
Case 22: Get_Number = "X"
Case 23: Get_Number = "Y"
Case 24: Get_Number = "Z"
End Select

End Function

RSS

Interessante links

Word Fan!

Inventor Wizard Cartoons

Video's

  • Video's toevoegen
  • Alles weergeven

© 2019   Gemaakt door Stefaan Boel.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden