| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: [iLogic] Objekt mit eignem iProperty verknüpfen (2891 mal gelesen)
|
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 31. Aug. 2015 09:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche gerade die in der "Objekt" spalte befindliche Positionsnummer in ein extra angelegtes iProperty zu übergeben. kann aber nicht rausfinden wie ich mit iLogic an das "Objekt" rannkomme in der Baugruppe. also in einfacher form so: iProperties.Value("Custom", "ITEM") = <hier fehlt mir Objekt property> oder komm ich da nicht ran? hintergrund ist das das einzelne bauteil in der baugruppe nicht "weis" was es für eine Postionsnummer hat, das weis nur die baugruppe in der es eingebaut ist. ich bräuchte dennoch in meinem teil diese Positionsnummer. Gruß Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ruzy5624 Mitglied Konstruktionsleiter / staatl. gepr. Techniker
Beiträge: 280 Registriert: 01.07.2015 Product Design Suite 2018 Ultimate Visual Studio 2017 Windows 10 Pro Intel Xeon E3-1245 v5 @ 3,5GHz Nvidia Quadro M4000 8GB RAM 32GB 2x 24" Monitore FullHD SpaceMouse Pro
|
erstellt am: 21. Sep. 2015 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für IVDH808
Würde das Thema gerne nochmal aufgreifen. Stehe genau vor dem selben Problem und würde wie schon beschrieben gerne die Positionsnummer aus der Baugruppe in ein Benutzerdefiniertes iPropertie schreiben. Hintergrund ist, dass ich ein der Einzelteil Zeichnung automatisch die Positionsnummer anzeigen lassen möchte, welche das Bauteil in der Baugruppe hat, in welcher es verbaut ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
Beiträge: 559 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 21. Sep. 2015 20:06 <-- editieren / zitieren --> Unities abgeben: Nur für IVDH808
Zitat: Original erstellt von Ruzy5624: ..Hintergrund ist, dass ich ein der Einzelteil Zeichnung automatisch die Positionsnummer anzeigen lassen möchte, welche das Bauteil in der Baugruppe hat, in welcher es verbaut ist.
Und welche Nummer soll da drin stehen, wenn das Teil in 2 verschiedenen Baugruppen verbaut ist? ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Canadabear Mitglied Konstrukteur
Beiträge: 921 Registriert: 30.06.2010 Inventor 2020 SolidWorks 2020
|
erstellt am: 21. Sep. 2015 21:25 <-- editieren / zitieren --> Unities abgeben: Nur für IVDH808
Hallo, hier eine schnell loesung fuer dein Problem in VBA: Public Sub WriteBomPos() Dim oapp As Inventor.Application Set oapp = ThisApplication Dim oDoc As Inventor.AssemblyDocument Set oDoc = oapp.ActiveDocument Dim oBOM As Inventor.BOM Dim vrtSelectedItem As Variant vrtSelectedItem = oDoc.FullFileName Set oDoc = oapp.Documents.Open(vrtSelectedItem, False) Set oBOM = oDoc.ComponentDefinition.BOM FirstLevelOnly = False If FirstLevelOnly Then oBOM.StructuredViewFirstLevelOnly = True Else oBOM.StructuredViewFirstLevelOnly = False End If oBOM.StructuredViewEnabled = True Dim oBOMView As BOMView Set oBOMView = oBOM.BOMViews.Item("Structured") Dim i As Long Dim tempstr As Variant Dim tempstr1 As Variant Dim tempstr2 As Variant Dim PartFileName As String Dim DWGFileName As String Dim PartTyp As String Dim PartCategory As String If level > maxlevel Then maxlevel = level End If For i = 1 To oBOMView.BOMRows.Count Dim oRow As BOMRow Set oRow = oBOMView.BOMRows.Item(i) Dim oCompDef As ComponentDefinition Set oCompDef = oRow.ComponentDefinitions.Item(1) oCompDef.Document.PropertySets.Item("Inventor User Defined Properties").Item("Item").Value = oRow.ItemNumber Next Set BOMRow = Nothing Set oBOM = Nothing Set oDoc = Nothing Set oapp = Nothing End Sub dieses Macro beachtet aber keine Normteile und ContendCenter Teile und die Benutzerdefinierte iProperty Item muss vorhanden sein. Dieses kann man aber durch Abfragen reinbringen hoffe es hilft die etwas. Gruss Ray ------------------ Barbarus hic ego sum, quia non intellegor ulli! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 22. Sep. 2015 08:37 <-- editieren / zitieren --> Unities abgeben:
|
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 22. Sep. 2015 09:13 <-- editieren / zitieren --> Unities abgeben:
also ich habe jetzt in der baugruppe und im Teil ein iProperty mit dem Namen "Item" angelegt. bei ausführen des makros inherhalb der Baugruppe bekommen ich diesen Fehler:
vielleicht ist das ganze ja leicht zu lösen, aber ich bin leider noch nicht sehr tief in der VBA Materie. meine Frage ist jetzt noch unabhängig von der funktion ist es auch möglich das ganze auf die "nur bauteile" Stückliste anzuwenden? da werden bei uns meistens die Positionen festgelegt und diese kommt auch auf die Zeichnung.
und noch etwas was mich schon immer verwundert hat: warum hat die Objektnummer in der Strukturierten Ansicht nichts mit der Objektnummer der Nur Bauteile Ansicht zutun??
Gruß Daniel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 22. Sep. 2015 09:42 <-- editieren / zitieren --> Unities abgeben:
also hab das Problem gelöst in dem ich Set Code: oBOMView = oBOM.BOMViews.ITEM("Structured")
durch Code: Set oBOMView = oBOM.BOMViews(3)
ersetzt hab. damit wird das makro für die "Nur Bauteile" Stückliste ausgeführt jetzt noch eine letzte Frage. ist es möglich dieses makro ausführen zu lassen so bald sich die Nummer ändert? nochmals vielen dank für die hilfe!
Gruß Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 23. Sep. 2015 11:05 <-- editieren / zitieren --> Unities abgeben:
jetz muss ich nochmal nachhaken: habe jetz jetz hingekriegt das er entweder die Strukturierte Ansicht oder die Nur Bauteile nimmt und dann jeweils die andere deaktiviert. Jedoch fehlt mir bei der Strukturierten Ansicht die Übergabe in allen Ebenen. Ich hätte also gerne das die "201.1" auch in ITEM übergeben werden. übersehe ich irgendwas im code? Code: Public Sub WriteBomPos() Dim oapp As Inventor.Application Set oapp = ThisApplication Dim oDoc As Inventor.AssemblyDocument Set oDoc = oapp.ActiveDocument Dim oBOM As Inventor.BOM Dim vrtSelectedItem As Variant vrtSelectedItem = oDoc.FullFileName Set oDoc = oapp.Documents.Open(vrtSelectedItem, False) Set oBOM = oDoc.ComponentDefinition.BOM FirstLevelOnly = False If FirstLevelOnly Then oBOM.StructuredViewFirstLevelOnly = True Else oBOM.StructuredViewFirstLevelOnly = False End If Dim oBOMView As BOMView If (oBOM.StructuredViewEnabled = True) Then Set oBOMView = oBOM.BOMViews(2) oBOM.PartsOnlyViewEnabled = False End If If (oBOM.PartsOnlyViewEnabled = True) Then Set oBOMView = oBOM.BOMViews(3) oBOM.StructuredViewEnabled = False End If Dim i As Long If Level > maxlevel Then maxlevel = Level End If For i = 1 To oBOMView.BOMRows.Count Dim oRow As BOMRow Set oRow = oBOMView.BOMRows.ITEM(i) Dim oCompDef As ComponentDefinition Set oCompDef = oRow.ComponentDefinitions.ITEM(1) oCompDef.Document.PropertySets.ITEM("Inventor User Defined Properties").ITEM("Item").Value = oRow.ItemNumber Next Set BOMRow = Nothing Set oBOM = Nothing Set oDoc = Nothing Set oapp = Nothing End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IVDH808 Mitglied
Beiträge: 48 Registriert: 07.04.2014 Inventor 2021
|
erstellt am: 30. Okt. 2015 11:31 <-- editieren / zitieren --> Unities abgeben:
Hi, jetzt muss ich doch nochmal nachfragen ob jemand weis, wie ich das "Objekt" bei Strukturierten Baugruppen in mein "ITEM" Property in alle Ebenen bekomme. habe verschiedene sachen ausprobiert, komme aber leider auf keinen grünen zweig. Gruß Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
michl1611 Mitglied Konstrukteur
Beiträge: 3 Registriert: 08.12.2015
|
erstellt am: 08. Dez. 2015 11:25 <-- editieren / zitieren --> Unities abgeben: Nur für IVDH808
Ist das möglich die ganze Sache umzudrehen? Ich möchte den benutzerdefinierten iProperty in der Oberbaugruppe ausfüllen und ihn dann in der Unterbaugruppe in das Objekt einfügen. Wäre echt Super wenn mir hier einer helfen könnte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |