Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Bauteilliste IDW mit Positionsnummer einer Ansicht abgleichen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Bauteilliste IDW mit Positionsnummer einer Ansicht abgleichen (404 / mal gelesen)
fadeaway
Mitglied
Konstrukteur


Sehen Sie sich das Profil von fadeaway an!   Senden Sie eine Private Message an fadeaway  Schreiben Sie einen Gästebucheintrag für fadeaway

Beiträge: 46
Registriert: 20.07.2005

Win10 Pro 64bit/32GB
IV 2021.4.4

erstellt am: 14. Dez. 2022 10:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo miteinander,

Folgendes Szenario:
- aus der BG "01-XYZ.iam" mit 10 Bauteilen wird auf IDW-Blatt 1 eine Erstansicht erstellt und eine Bauteilliste dazu.
- es werden alle Bauteile mit Positionsnummern versehen.

- es wird ein zweites Blatt in der selben IDW erstellt.
- aus der selben BG "01-XYZ.iam" wird auf IDW-Blatt 2 eine Erstansicht erstellt und eine Bauteilliste dazu.
- es werden nur die ersten fünf Bauteile mit Positionsnummern versehen.

Aufgabe:
- jetzt möchte ich per Mausklick die Bauteiliste auf IDW-Blatt 2 so verändern das nur die Zeilen mit Positionsnummern
  (also die ersten fünf) zu sehen sind und die anderen ausgeblendet werden.

Problem:
Das Aus- bzw. Einblenden bekomme ich soweit schon hin. Die beiden Bauteillisten auf Blatt 1 und Blatt 2 hängen aber zusammen.
Also, wenn auf IDW-Blatt 1 alle Bauteile Positionsnummern haben wird auf IDW-Blatt 2 nichts ausgeblendet und umgekehrt.
Nur wenn in beiden Ansichten der beiden Blätter ein Bauteil keine Positionsnummer hat wird diese Zeile im aktiven Blatt, in der
aktiven Bauteiliste ausgeblendet.

Frage:
Kann man die Bauteilliste abhängig von den Positionsnummern der Erstansicht bearbeiten?
Und wenn ja wie?

Gruß
Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KraBBy
Mitglied
Maschinenbau-Ingenieur


Sehen Sie sich das Profil von KraBBy an!   Senden Sie eine Private Message an KraBBy  Schreiben Sie einen Gästebucheintrag für KraBBy

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 14. Dez. 2022 12:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fadeaway 10 Unities + Antwort hilfreich

vorab: nichts dazu ausprobiert, auch keine tiefere Erfahrung zum Thema Pos.Nr. und Teileliste.

Es gibt eine Auflistung der Positions-Nr. vom jeweiligen Blatt: help - Balloons Object

Man könnte diese Liste durchlaufen, sich die Komponenten merken. Danach die Teileliste durchlaufen und alle anderen Komp. ausblenden.

Vielleicht hilft auch das Find component referenced by balloon API Sample

------------------
Gruß KraBBy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 14. Dez. 2022 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fadeaway 10 Unities + Antwort hilfreich

Hallo

Ging das nicht ohne Programmieren über Ansichtsdarstellungen und einen entsprechenden Filter auf die Teileliste?
Also in der BG eine Ansichtsdarstellung erzeugen, die nur die 5 Teile sichtbar lässt. In der Zeichnung auf Blatt 2 die normale Ansicht mit allen Teilen sichtbar erstellen und eine Teileliste dazu. In der Teileliste einen Filter definieren mit "Baugruppen-Ansichtsdarstellung" und die zweite Ansichtsdarstellung auswählen. Theoretisch sollte jetzt die Teileliste entsprechend kürzer sein. An die BG noch die 5 Positionsnnummern - fertig. Theoretisch.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fadeaway
Mitglied
Konstrukteur


Sehen Sie sich das Profil von fadeaway an!   Senden Sie eine Private Message an fadeaway  Schreiben Sie einen Gästebucheintrag für fadeaway

Beiträge: 46
Registriert: 20.07.2005

Win10 Pro 64bit/32GB
IV 2021.4.4

erstellt am: 14. Dez. 2022 15:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja richtig Ralf, das geht.
Aber wie du selbst schreibst, was alles gemacht werden muss bis man dahin kommt, ist so ein Button schon schneller und vor allem flexibler.

Gruß
Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fadeaway
Mitglied
Konstrukteur


Sehen Sie sich das Profil von fadeaway an!   Senden Sie eine Private Message an fadeaway  Schreiben Sie einen Gästebucheintrag für fadeaway

Beiträge: 46
Registriert: 20.07.2005

Win10 Pro 64bit/32GB
IV 2021.4.4

erstellt am: 14. Dez. 2022 15:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi und danke,

muss ich mir mal anschauen.

Gruß
Andreas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 15. Dez. 2022 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fadeaway 10 Unities + Antwort hilfreich

Hallo

Für den Anwender ist es mehr als einen Knopf zu drücken, das stimmt. Bei den vielen Möglichkeiten Stück- und Teilelisten zu manipulieren, fürchte ich aber, dass so eine einfache Funktion nicht ausreicht.

Code:

Option Explicit

Private Sub Filter_PartsList()

Dim oApp As Inventor.Application
Set oApp = ThisApplication

Dim oDrawDoc As DrawingDocument
Set oDrawDoc = oApp.ActiveDocument

Dim oSheet As Sheet
Set oSheet = oDrawDoc.ActiveSheet

Dim oValues As NameValueMap
Set oValues = oApp.TransientObjects.CreateNameValueMap

Dim oBalloonValueSet As BalloonValueSet

Dim oBalloon As Balloon
For Each oBalloon In oSheet.Balloons
    For Each oBalloonValueSet In oBalloon.BalloonValueSets
        If oBalloonValueSet.OverrideValue = "" Then
            Call oValues.Add(oBalloonValueSet.Value, oBalloonValueSet.Value)
        Else
            Call oValues.Add(oBalloonValueSet.OverrideValue, oBalloonValueSet.OverrideValue)
        End If
    Next
Next

Dim oPartsList As PartsList
Set oPartsList = oSheet.PartsLists(1) 'assuming there's only one partslist

Dim i As Integer
Dim oPartsListColumn As PartsListColumn
For i = 1 To oPartsList.PartsListColumns.count
    If oPartsList.PartsListColumns(i).PropertyType = kItemPartsListProperty Then
        Exit For
    End If
Next

Dim sValue As String
Dim oPartsListRow As PartsListRow

On Error Resume Next
For Each oPartsListRow In oPartsList.PartsListRows
    sValue = oValues.Item(oPartsListRow.Item(i).value)
    If Not Err.Number = 0 Then
        oPartsListRow.Visible = False
        Err.Clear
    Else
        oPartsListRow.Visible = True
    End If
Next
On Error GoTo 0

End Sub


------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz