Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Stückliste auslesen - API

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 SOLIDWORKS
  
Konstruktionsfeedback neu gedacht: CAD-Modelle teilen, kommentieren, verstehen, ein Webinar am 23.06.2026
Autor Thema:  Stückliste auslesen - API (2960 mal gelesen)
Stephan86
Mitglied


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

Beiträge: 2
Registriert: 27.02.2006

erstellt am: 27. Feb. 2006 21:52    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!
Tut mir jetzt schon fast leid, das ich euch schon wieder mit der Stückliste nerven muss 
Möchte gern die Daten aus der Stückliste in eine externe Excel-Datei eintragen.Komm aber nicht an die Stückliste ran(bin kein VBA-Profi).

Code:
   
    Dim swApp As Object
    Dim swModel As ModelDoc2
    Dim swDraw As DrawingDoc
    Dim swSheet As Sheet
    Dim swView As view
    Dim swActiveView As view
    Dim BomTable As BomTable
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
    Set swSheet = swDraw.GetCurrentSheet
    Set swActiveView = swDraw.ActiveDrawingView
    Set swView = swDraw.GetFirstView
    Set BomTable = swView.GetBomTable()

    MsgBox BomTable.GetRowCount()


Jetzt bekomm ich in der letzten Zeile immer den Fehler "Objektvariable oder With-Blockvariable nicht festgelegt"
Was mach ich denn falsch?

MfG
Stephan

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

mkkk
Mitglied



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

Beiträge: 105
Registriert: 04.03.2005

erstellt am: 28. Feb. 2006 09:27    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 Stephan86 10 Unities + Antwort hilfreich

Schau doch mal in der API-Hilfe nach: 

Remarks

This method only returns the visible rows in the BOM table.

Before you use any of the BomTable methods, activate the BOM Table using BomTable::Attach. After you finish getting BOM data, use BomTable: etach to deactivate the table.

This method returns 0 if the BOM is obscured, which may occur when debugging a macro. This is a quirk in Microsoft Excel, which is used by SolidWorks for the BOM functionality

Zunächst mußt Du BomTable::Attach aufrufen um Zugriff auf die Tabelle zu erlangen.

Gruß,
Markus

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

ABarth
Mitglied
Ing. Maschinenbau


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

Beiträge: 23
Registriert: 12.02.2003

SolidWorks 2008

erstellt am: 28. Feb. 2006 14:33    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 Stephan86 10 Unities + Antwort hilfreich

Hallo Stephan,

wenn es sich bei der Stückliste um eine SWXSolidWorks-Stückliste handelt (und nicht um eine Excel-Stüli) dann suche doch nach dem BOM-Feature und werte darüber aus.
So habe ich das gemacht:

Code:

    Dim swApp As Object
    Dim swModel As ModelDoc2
    Dim swDraw As DrawingDoc
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
   
Dim swFeat As SldWorks.Feature
Dim swBomFeat As SldWorks.BomFeature
Dim vTableArr As Variant
Dim swTable As SldWorks.TableAnnotation
   
Set swFeat = swDraw.FirstFeature
Do While Not swFeat Is Nothing
    If "BomFeat" = swFeat.GetTypeName Then
        Set swBomFeat = swFeat.GetSpecificFeature2
        vTableArr = swBomFeat.GetTableAnnotations
        Set swTable = vTableArr(0)
'----zeilenweises Auslesen der swTable------------------------------
        For ZReihe = 1 To swTable.RowCount - 1
            For ZSpalte = 0 To swTable.ColumnCount - 1
MsgBox "Spalte: " & swTable.GetColumnTitle(ZSpalte) & _
" / " & "Zeile: " & ZReihe & _
" / " & "Inhalt: " & swTable.Text(ZReihe, ZSpalte)
            Next ZSpalte
If ZReihe = 2 Then Exit For '<--- nur wegen der vielen MsgBoxen..:-)
        Next ZReihe
'------------------------------------------------------------------
    End If
    Set swFeat = swFeat.GetNextFeature
Loop

Viele Grüsse
Andreas.....  

[Diese Nachricht wurde von ABarth am 28. Feb. 2006 editiert.]

[Diese Nachricht wurde von ABarth am 28. Feb. 2006 editiert.]

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

Stephan86
Mitglied


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

Beiträge: 2
Registriert: 27.02.2006

erstellt am: 01. Mrz. 2006 20:28    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

Danke für die 2 Antworten. Leider ist es eine Excel-Stückliste.

@mkkk: Es kommt leider immer noch der gleiche Fehler.

Hat denn das noch niemand gemacht?

Gruß
Stephan

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 02. Mrz. 2006 09:43    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 Stephan86 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Stephan86:
... Leider ist es eine Excel-Stückliste.

in diesem Fall solltest du mal hier http://ww3.cad.de/foren/ubb/Forum2/HTML/007188.shtml
nachlesen, vielleicht hilft dir das weiter ...

------------------
mfg uc

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