Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  SolidWorks
  Fehler bei Schleife über Stücklistenteile

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

Moderne Stücklistenverwaltung: Nahtlose Zusammenarbeit von Engineering bis Fertigung

Mehr Videos >>>

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 SOLIDWORKS
  
SPS in Nürnberg, eine Veranstaltung am 25.11.2025
Autor Thema:  Fehler bei Schleife über Stücklistenteile (1152 / mal gelesen)
deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 260
Registriert: 03.03.2020

SolidWorks Connected
Windows 11
Office 2019

erstellt am: 28. Dez. 2020 14:26    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

Werte CAD-Gemeinde,
anbei eine Schleife über die Stückliste, dies hat soweit immer ganz gut funktioniert.
Nun habe ich eine Zeichnung mit folgendem Phänomen:

Die Schleife wir mit einem Fehler beendet: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"

-> Wenn ich das Teil an dem es hängt einmal manuell öffne und wieder schließe, dann läuft die Schleife bis zum nächsten Teil und wirft wieder einen Fehler.

-> mache ich das mit allen Teilen einmal, so läuft alles wieder wie es soll. Da mir diese Lösung nicht als "Lösung" erschien, dachte ich er könne dies doch selber machen. Dann scheitert es am nächsten Punkt.

Die fehlenden "SET" Anweisungen sind dem VB.Net geschuldet.


        'Schleife über alle Teile
        For j = 0 To swTable.RowCount - 1

            'Plugin Ladebildschirm
           
            vPtArr = swBOMTableAnn.GetComponents(j)

            If vPtArr IsNot Nothing Then
                For i = 0 To UBound(vPtArr)

                    pt = vPtArr(i)

                    swComp = pt

                    If swComp IsNot Nothing Then


                        MsgBox("Component  Name: " & swComp.Name2 & vbCrLf & "Configuration Name: " & swComp.ReferencedConfiguration & vbCrLf & "Item-Nr.: " & swTable.Text(j, PosColumn) & vbCrLf & "Menge: " & swTable.Text(j, QtyColumn) & vbCrLf & "-----------------")

                        swRefModel = swComp.GetModelDoc

'-------------DIESER TEIL WURDE ZUM FIXEN HINZUGEFÜGT----------------------------------------

                        swRefModel.GetPathName() '<--Fehler

                        Dim nDocType As Long
                        ' Determine type of SOLIDWORKS file based on file extension
                        If InStr(LCase(swRefModel.GetPathName()), "sldprt") > 0 Then
                            nDocType = swDocPART
                        ElseIf InStr(LCase(swRefModel.GetPathName()), "sldasm") > 0 Then
                            nDocType = swDocASSEMBLY
                        Else
                            MsgBox("Eine Feher ist aufgetreten")
                            Exit Sub
                        End If
                        Dim tmpModel As ModelDoc2
                        Dim nErrors&, nWarnings&
                        tmpModel = swApp.OpenDoc6(swRefModel.GetPathName(), nDocType, swOpenDocOptions_e.swOpenDocOptions_Silent, "", nErrors, nWarnings)
                        tmpModel.Save()
                        swApp.CloseDoc(tmpModel.GetTitle)

'----------------------------------------------------------------------------------------------------


                        swCustPropMgr = swRefModel.Extension.CustomPropertyManager(swComp.ReferencedConfiguration) '<--- Fehler

                        'DO SOMETHING WITH PROPERTIES

                    Else

                        Debug.Print("Could not get component.")
                    End If

                Next i
            End If
        Next j

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

deckelmaho
Mitglied
Konstrukteur


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

Beiträge: 260
Registriert: 03.03.2020

SolidWorks Connected
Windows 11
Office 2019

erstellt am: 28. Dez. 2020 15:39    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

Ich konnte den Übeltäter ausfindig machen,
einige Teile der Baugruppe waren nur reduziert geladen (blaue Feder am Bauteil).
Damit schien es Probleme gemacht zu haben, das ModelDoc der Komponente zu laden.
Jetzt hab ich vor dem ziehen des ModelDoc´s die Komponente vollständig geladen (siehe FETT gedrucktes im Code)

        'Schleife über alle Teile
        For j = 0 To swTable.RowCount - 1

         
            vPtArr = swBOMTableAnn.GetComponents(j)

            If vPtArr IsNot Nothing Then
                For i = 0 To UBound(vPtArr)

                    pt = vPtArr(i)

                    swComp = pt

                    If swComp IsNot Nothing Then


                        swComp.SetSuppression(swComponentSuppressionState_e.swComponentFullyResolved)

                        swRefModel = swComp.GetModelDoc

                        swCustPropMgr = swRefModel.Extension.CustomPropertyManager(swComp.ReferencedConfiguration)

                        'DO SOMETHING WITH PROPERTIES

                    Else

                        Debug.Print("Could not get component.")
                    End If

                Next i
            End If
        Next j

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)2025 CAD.de | Impressum | Datenschutz