API zum Speichern von Attributen

Hallo
Ausgehend von einer Baugruppe möchte ich die Attribute der Teile und Baugruppen in einem Array speichern, damit ich verschiedene Qualitätskontrollprozesse daran durchführen kann.

Ich kenne die maximale Anzahl von Spalten in meiner Nomenklatur (Anzahl des Attributs ~12), aber ich kenne die Anzahl der Zeilen am Anfang nicht. Ich kann Stücklisten von mehr als 300 Zeilen haben.

Da du weißt, dass du zu Beginn die Abmessungen des Boards festlegen musst, was wäre dann die beste Methode für dich (Geschwindigkeit, Stabilität, etc.)?

Ich dachte daran, die gesamte Nomenklatur zu scannen, um die Anzahl der Zeilen zu kennen, und dann die Größe der Tabelle zu definieren (ist das möglich?) ... Vielleicht gibt es bessere Methoden?

Vielen Dank.

A+

Hallo;

Wenn ich das richtig verstehe, möchten Sie alle Ihre Stücklisten aus einer Baugruppe in Excel kumulieren ... Ein Speichern unter der detaillierten Stückliste Ihrer Hauptbaugruppe muss den Zweck erfüllen.
Und warum müssen Sie die Anzahl der Zeilen kennen... Es scheint mir nicht notwendig zu sein, wenn Sie mehrere BOMs haben (ich verstehe nicht warum), ist es in Excel einfach, eine Datenmenge in "Die nächste leere Zeile" "einzufügen":

Die VBA-Befehle (Excel) zum Abrufen der Koordinaten aus der nächsten Leerzeile sind: (Zum Beispiel):

'Retourne sur " derligne " le numéro de la prochaine ligne non vide (CTRL+ flèche bas)
derligne = Range("C1").End(xlDown).Row


derligne = Sheets("DATA").Range("E1048576").End(xlUp).Row
'Retourne sur " derligne " le numéro de DERNIERE ligne non vide


'Compte le nombre de lignes jusqu’à la dernière vide de la colonne
derligne = range("A" & rows.count).end(xlup).row


Herzliche Grüße.

2 „Gefällt mir“

Hallo

Vielen Dank, dass Sie sich die Zeit genommen haben, mir zu antworten.

Nein, ich arbeite in einer Hauptbaugruppe mit Unterbaugruppen und Teilen, mit einer einzigen Nomenklatur vom Typ "Registerkartenliste" oder einem Makro, das die Baugruppen kreuzt.

Ich möchte also die Attribute in einer 2-dimensionalen Tabelle hinterlegen, um dann direkt an den Teilen in SW eingreifen zu können, ohne über Excel zu gehen.

A+

Hallo

Außerhalb von Excel, in VBA, ist es also nicht möglich, die Größe einer mehrdimensionalen Tabelle dynamisch zu ändern.

Sie müssen also von Anfang an die Größe kennen, indem Sie die Anzahl der Zeilen scannen und dann den gefundenen Wert auf die Array-Variable anwenden.

Andernfalls müssen Sie mit zwei eindimensionalen Array-Variablen spielen und deren Füllung synchronisieren.

1 „Gefällt mir“

Hallo;

Wenn Sie die Anzahl der Spalten und die Anzahl der Zeilen haben möchten,

nNumCol = swTable.ColumnCount
nNumRow = swTable.RowCount

    Dim swView As SldWorks.View
    Dim swTable As SldWorks.TableAnnotation
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView

    Do While Not swView Is Nothing
        ' Show the name of the view
        '        Debug.Print "  " & swView.Name

        ' Get the first table annotation for this view
        Set swTable = swView.GetFirstTableAnnotation
        Do While Not swTable Is Nothing
            ProcessTable swApp, swModel, swTable
            ' Get next table annotation for this view
            Set swTable = swTable.GetNext
        Loop
        ' Get the next view
        Set swView = swView.GetNextView
    Loop

Set swAnn = swTable.GetAnnotation
    nNumCol = swTable.ColumnCount
    nNumRow = swTable.RowCount

Herzliche Grüße.