Download "automatische" St��ckliste in Excel / SolidWorks
Andreas Mller 30. Mai. 2002, 13:38


Stueckliste.zip

 
Hallo Alle!

Irgendwo hat mal jemand gefragt, ob es nicht eine Stckliste rummschwirrt, die automatisch aus einer BG die Teile rausliest und in einer Excel-Tabelle ablegt. Da mich das auch schon interessiert hat, hab ich mal was zusammengebastelt (siehe Anhang)

Ganz automatisch geht's natrlich nicht: SWX starten und eine BG ffnen msst Ihr schon selbst  . Bei mir hat's gut funktioniert, aber kontrolliert die Stckliste auf Fehler (ich bernehme keine Garantien bei Produktionsstrungen)!

Ich hoffe, dass ich Euren SWX-Alltag (noch) etwas leichter machen konnte. Viel Spass beim SWX-len!

EDIT VOM 15.10.2002*********************************

Achtung neueste Versionen ab V4.1 findest Du hier:

"Download "automatische" Stckliste in Excel  -> Teil 2
http://www.cad.de/foren/ubb/Forum2/HTML/002304.shtml

ENDEDIT*********************************************


Andreas Mller 03. Jun. 2002, 08:57

Noch einen Hinweis:

In der obigen Stckliste werden nach dem Aktualisieren auch die Spalten bis "O" mitsortiert. Das heisst, zustzliche Eintrge in den Spalten "E" bis "O", werden in den entsprechenden Zeilen behalten.

Kalle 03. Jun. 2002, 16:01

Aloah Andreas,

besten Dank fr das Makro, aber der erste Versuch ist schon fehlgeschlagen, da ich in meinen Baugruppen ein Dummyteil habe, in dem sich nur Skizzen und kein Volumen befindet. Daher schlgt die Geschichte mit der Masse anscheinend fehl (Typen unvertrglich). Wenn ich Zeit habe werde ich mal etwas nher reinschauen.

Bis dann
Kalle

Andreas Mller 03. Jun. 2002, 17:13


Stueckliste_ohne_Masse.zip

 
Hallo Kalle!

...oder nimm einfach die hier (Die Masse von Skizzen ist in der Tat schwer zu bestimmen  )!!

Andreas Mller 08. Jun. 2002, 14:37


Stueckliste_V02.zip

 
So,..... nachdem ich im ersten Anlauf ber die Falle der unterdrckten Teile gestolpert bin, hier eine verbesserte Version.

Bugfixes:
- unterdrckte Teile verursachen keinen Fehler mehr in der Tabelle

Verbesserungen:
- es kann ausgewhlt werden, ob die Masse ausgegeben werden soll oder nicht
- unterdrckte Teile knnen gezhlt werden (oder nicht)
- sortiert wird bis und mit zur Spalte "S"

Ich hoffe, dass es nun klappt.

EDIT
@Kalle: Der Fehler war im Zusammenhang mit den unterdrckten Teilen zu suchen. Ist behoben (hoffe ich  ).
ENDEDIT

StefanBerlitz 10. Jun. 2002, 07:42

Wirklich gutes und hilfreiches Makro, erste Klasse!!

Stefan

PS: und mit Genehmigung von Andreas in der Makro-Tauschbrse unter http://solidworks.cad.de/mm_boerse.htm fr die Nachwelt erhalten 

Rene Spandler 10. Jun. 2002, 09:23

Andreas, ich habe das Makro ausprobiert und finde es sehr hilfreich. Deshalb an dieser Stelle vielen Dank!

Trotzdem ein Problem: Ich arbeite im Moment mit Konfigurationen. Dabei habe ich festgestellt, dass im Excel die Menge und die Masse der verwendeten Konfigurationen nicht richtig ausgewertet wird. Die Masse scheint immer von der Standardkonfiguration ausgelesen zu werden und die Menge ist immer "1". Mit anderen Worten, wenn eine Konfiguration mehrfach vorkommt erscheinen die entsprechenden Teile auch mehrfach in der Liste, jeweils mit der Mengenangabe "1". Teile, welche nicht als Variante eingebaut werden, werden richtig gezhlt. Vielleicht liegt es aber an irgendwelchen Voreinstellungen. Irgendwelche Ideen?!

Viele Grsse Rene

Andreas Mller 10. Jun. 2002, 10:14

Hallo Rene.

Mit den Massen hast Du offenbar recht. Da muss ich (Hobbyprogrammierer  ) wohl nochmal ber die Bcher...

Das andere Problem kann ich nicht nachvollziehen (hab's auch nicht ganz verstanden  ) schick mir mal ein Beispiel. Meine Mail-Adresse findest Du in meinem Profil.

Andreas Mller 12. Jun. 2002, 14:58


Stueckliste_V03.zip

 
Hallo Alle!

Nach langem Ringen mit Bits und Bytes, If then's, massproperties, und, und, und, ist es nun soweit: Version 3 ist da!!

Bugfixes:
- Die Masse wird von der richtigen (verbauten) Konfig gelesen
- Fehler beim Massenauslesen soweit wie mglich abgefangen
- Konfigurationsnamen die nur aus Zahlen bestehen, werden korrekt ausgewertet (wer macht denn aber auch sowas, Rene  )

Verbesserungen:
- Pfad- resp. Dateinamen des verbauten Teils (BG) in einer separaten Spalte
- Auswahl, ob das Verzeichnis angezeigt werden soll
- Schaltflche um alle Zeilen mit Teilen auszuwhlen
- Verzeichnis und Name der Bearbeiteten Datei werden ausgegeben
- Die Spalten "Verzeichnis", "Datei", "Konfig", "kg" und "Stk" knnen per Knopfdruck auf- und absteigend sortiert werden
- Beim Abarbeiten wird eine Meldung ausgegeben
- Spalten bis und mit "Z" werden mitsortiert
- Farben in den Spalten "kg" und "Stk" werden nicht mehr gelscht
- Es ist noch "gratis - ser" als vorher
- mehr fllt mir nicht ein

Die Mglichkeit, den "Benutzerdefienierter Name" von "Benennung bei Verwendung in Stckliste angezeigt" unter "Konfigurationseigenschaften" (da soll noch einer mitkommen  ), auszulesen besteht leider nicht. Ausser es ist natrlich der Datei- (=Dokument-) oder Konfigurationsname.

So, ich hoffe, dass mglichst viele Fehler ausgebgelt sind. Wie oben schon erwhnt: keine Klagen wegen Produktionsfehlern an mich!!

Weitere Anpassungen: mache ich gerne (gegen Bares  )!!

Viel Spass!

cembey 12. Jun. 2002, 15:23

Hallo Andreas,
erst einmal Danke fr deine Arbeit, und schon eine Frage:
Geht die letzte Version auch unter SW2001 SP9?

mfg

Jrg Mckelmann 12. Jun. 2002, 15:27


MakroStueli.jpg

 
Hi Andreas,

habe gerade die neue Version Deines Stli-Makros runtergeladen. Ich war von der ersten Version schon ganz begeistert (bis auf die kleinen Bugs)!
Doch nun lft die neue Version bei der Ausfhrung auf einen Kompilierungsfehler (was bei der Vorversion nicht passierte...).
Lsst sich das noch beheben?

Vielen Dank schon mal im voraus!

cembey 12. Jun. 2002, 15:33

Scheint das nicht nur bei mir Fehler sind.

Bei mir taucht auch der Kompilierungsfehler auf.

mfg

StefanBerlitz 12. Jun. 2002, 15:51

Hallo Andreas, hallo Jrg und cembey,

bei mir funktioniert das Excelsheet zwar auch nicht wie erwartet (das kommt weiter unten  ) aber es luft zumindest durch. Die Fehlermeldung deutet eigentlich daraufhin, dass das VBA von Excel irgendwie kaputt ist  die markierte Funktion "Left" gehrt zu VBA ?! Welche Excelversion habt ihr denn (ich hab 97, und da scheint es zu laufen ...)

Was ich nicht erwartet habe ist dass die Masseneigenschaften direkt aus dem File ausgelesen und somit vorher auch gespeichert werden mssen.

@Andreas: wenn du die Zeile               

MassProp = swApp.GetMassProperties(Dateiname, Konfiguration)


durch

retval = ModelDoc.ShowConfiguration2(Konfiguration)
MassProp = ModelDoc.GetMassProperties()

ersetzt, solltest du auch die Masse von der korrekten Konfiguration bekommen. Hab's zwar noch nicht grossartig ausprobiert, aber in den ersten Tests klappt es.

Ansonsten wie schon gesagt: gute Arbeit 

Ciao,
Stefan

PS: ist schon so eine Last mit den ffentlichen Verbreiten von Beschreibungen und Makros. Das ist wie mit der Bchse der Pandorra ... ich wei ungefhr, wie du dich fhlst 

cembey 12. Jun. 2002, 16:08

Hallo Stefan,
habe Excel 2000.

Jrg Mckelmann 12. Jun. 2002, 16:22

Hallo Stefan,

also wir arbeiten mit Excel97 SR-2.
Und vorgestern lief es noch mit der alten Version des Makros.
Sollte da zwischenzeitlich irgendwas kaputtgegangen sein???
Das glaube ich kaum, zumal ich an meinem System innerhalb der letzten 2 Tage nichts gendert habe. (auer das StliMakro installiert und ausgefhrt...)

Andreas Mller 12. Jun. 2002, 16:46


Kompilieren01.jpg

 
Hallo Alle!

Kopilierungsfehler:

Ich habe Excel 97 und wie Stefan schon sagte, ist "Left" ein normaler VBA-Befehl. Bei mir luft er sowohl unter excel 97 als auch SWX2001plus einwandfrei

Offen gesagt, bin ich hier ein bisschen am Anschlag (als Hobbyprogrammierer  ), aber ich versuch's mal:

Wenn Ich in Excel "Alt+F11" drckt, kommt Ihr in den VB-Editor. Dann mal "Extras -> Verweise" anwhlen. Dann solltet Ihr in etwa ein Bild wie in der Anlage sehen. Wenn nicht dann hackt mal die entspr. Felder an. Eventuell msst Ihr VBA-mssig etwas nach- oder neuinstallieren.

Wenn es nicht geht, bin ich auch auf Hilfe angewiesen (Stefan  ?!? ).

@Stefan: ich werde das mal versuchen (was ich nicht schon alles versucht habe mit der verhexten Masse ) Das Problem das ich mit der Fehlerroutine auffange ist, wenn in einer UNTER-BG ein Teil unterdrckt und dann wieder vollstndig geladen wird, ist

MassProp = ModelDoc.GetMassProperties()

berfordert. Ich sehe ein Problem, wenn ich X-Mal "Doc.ShowConfiguration2(Konfiguration)" aufrufe, mit dem Speicher. Du erinnerst Dich vielleicht an den Beitrag "Geschwindigkeitsproblem". Da habe ich das gemacht und ..... aber wir werden sehen .

Zitat:
Original erstellt von StefanBerlitz:
PS: ist schon so eine Last mit den ffentlichen Verbreiten von Beschreibungen und Makros. Das ist wie mit der Bchse der Pandorra ... ich wei ungefhr, wie du dich fhlst 
[/B]


* schwitz *...ein Konkurrenzprodukt zu SWX zu programmieren, habe ich definitiv aufgegeben!!!

EDIT
@ Jrg: an dem liegt's nicht. Im alten Programm hatte es noch keinen Left-Befehl!
ENDEDIT

Andreas Mller 13. Jun. 2002, 09:16

Hallo alle!

Ich hab mich gestern im I-Net noch mal ein bisschen schlau(er) gemacht. So wie's ausschaut ist der Befehl "left" Standart in Excel 97 und 2000. Die Stckliste sollte also laufen.

@Stefan: Dein Vorschlag funktioniert auch bei mir! thx! Update kommt, sobald das mit dem "left" geklrt ist 

@Alle: Mich interessiert, unter welchen Versionen das Makro luft. Wenn's geht, dann postet doch bitte hier mal Eure Daten. Ich mach den Anfang:

Win 98SE, Excel 97 SP2 : OK

StefanBerlitz 13. Jun. 2002, 09:25

Windows 2000 SP2 Excel 97 SP2:  OK 

Stefan

Rene Spandler 13. Jun. 2002, 09:36


verweise-vba.jpg

 
Windows 2000 SP2 Excel 97 SP2: nicht okay
Windows NT SP6 Excel XP: nicht okay

(ich glaub von daher nicht daran das es am den versionen von windows od.  excel liegt. gestern kam der vorschlag ein paar hkchen im vba-editor von excel zu setzen. da sind wir dem problem vielleicht viel nher --> mir fehlen da einfach zwei verweise (siehe anhang!), mit denen funktioniert es sicherlich... aber woher nehm ich sie?!)

gruss rene

Jan 13. Jun. 2002, 09:46

Win2000 SP2 Office 2000 SP 0

Luft nicht !

Gleiche Fehler wie bei Rene !

Jan

StefanBerlitz 13. Jun. 2002, 09:58

Hallo zusammen,

guter Hinweis von Rene, ich hab auch ein wenig rumgehext (bis ich erst mal ein System hatte, wo es auch nicht funktioniert  )

Excel hat wohl die unangenehme Eigenschaft diese Fehlermeldung auszugeben, wenn irgendwelche Verweise nicht gefunden werden. In VBA steht die LEFT Funktion zwar drin, aber Excel sucht wohl auch in den anderen Verweisen und findet dann irgendwelche nicht und meckert rum 

Lsung ganz einfach: nehmt die Haken bei den nicht vorhandenen Verweisen auf die SolidWorks-Dinge weg und alles sollte wieder laufen. Soweit ich das gesehen habe werden weder die AddIn-Funktionen noch das Early-Binding benutzt (wofr man die Type Librarys bentigen wrde) und das Excelsheet luft auch ohne diese Verweise korrekt.

Ciao,
Stefan

A.Oertel 13. Jun. 2002, 10:10

Hallo beisammen,
das mit den Verweisen tritt nicht nur bei Excel auf. Auch bei Access (kann ganz schn dumm sein, wenn man einen Entwicklungsrechner hat, auf dem ein Sack voll Verweise gesetzt sind). Also auch bei anderen Programmen aufpassen, speziell wenn sie nicht nur auf dem eigenen Rechner eingesetzt werden sollen.

MfG

Rene Spandler 13. Jun. 2002, 10:12

so das war's dann tatschlich. mal was neues, hkchen wegnehmen und funktioniert. sonst muss immer nochwas installiert werden oder so.
da ich das problem mit den falsch gezhlten konfigurationen hatte, hab ich das gleich getestet... und es luft jetzt korrekt. also vielen dank ps: als neuling hier im kreis bin ich am strksten von dem starken support begeistert! schnen tag noch

Rene Spandler 13. Jun. 2002, 10:13

so das war's dann tatschlich. mal was neues, hkchen wegnehmen und funktioniert. sonst muss immer nochwas installiert werden oder so.
da ich das problem mit den falsch gezhlten konfigurationen hatte, hab ich das gleich getestet... und es luft jetzt korrekt. also vielen dank ps: als neuling hier im kreis bin ich am strksten von dem starken support begeistert! schnen tag noch. rene

Jrg Mckelmann 13. Jun. 2002, 10:26

Hallo,

genau das war's! Hkchen rausgenommen bei NICHT VORHANDEN, jetzt luft's auch bei mir!
Vielen Dank allen Beteiligten!

Schne Gre aus dem Norden.

Andreas Mller 13. Jun. 2002, 10:39


Verweise01.jpg

 
Hallo Alle!

Scheinbar braucht es diese Minimalausstattung an Verweisen. Sollte IMHOIn my humble opinion = Meiner bescheidenen Meinung nach Grundausrstung auf jedem Rechner sein (?).

Noch eine Frage an die Profis: wenn ich das Excel-sheet nach Cad.de hochlade, sind dann diese Verweise angegeben? Anders formuliert: werden diese Verweise in der Excel-Datei mitgespeichert?

Wenn ja, werde ich dann mal alle berflssigen Verweise rausnehmen und die Datei nochmal hochladen inkl. des Verbesserungsvorschlages von Stefan, ok?

StefanBerlitz 13. Jun. 2002, 12:50

Hallo Andreas,

ja, diese drei Verweise reichen aus. Und das wird auch mit gespeichert, deswegen hat auch die Version 2 deines StLi-Makros ohne Schwierigkeiten berall funktioniert, da waren nur diese drei Verweise eingeschaltet.

Der Vorschlag mit dem ShowConfiguration2(Konfiguration) sollte eigentlich keine Probleme mit Speicherberlauf oder groartige Geschwindigkeitseinbuen bringen, da ja nur Konfigurationen aufgerufen werden, die sowieso schon im Speicher vorliegen ... hab ich aber noch nicht weiter getestet oder zu Ende gedacht 

Ich hng die neue Version dann auch noch aktualisiert in die Makrotauschbrse rein.

Caio,
Stefan

Andreas Mller 14. Jun. 2002, 09:49


Stueckliste_V03-1.zip

 
Hallo Alle.

Also denn....hier V3.1.

Das mit dem ShowComponent2 hat natrlich seinen Hacken, wie soll's auch anders sein  . Ist nmlich erst ab SWX2001+ verfgbar. Ich hoffe aber, dass ich es so hingekriegt habe, dass das Ganze auch mit 2000 und 2001 luft.

Bei 2000 und 2001 nicht vergessen: wenn ein unterdrcktes Teil wieder vollstndug geladen wird: erst Datei speichern!! Es wird aber im Makro darauf hingewiesen.

Andreas Mller 22. Aug. 2002, 00:31


Stueckliste_V4.zip

 
Hallo Alle!

Wieder mal was Neues von der "Excel-Stcklisten-Front"!

Nachdem ich nun die Stli 100 mal kopiert und im Dauereinsatz gehabt habe, ist mir was aufgefallen (Euch wohl sicher auch, oder?!?).

Beispiel:

In einer BG sind u.A. die Teile "Winkel" und "krummer Winkel" (=Dateinamen) vorhanden. Erst wird der "krummer Winkel" in das Excelsheet eingetragen. Spter soll der "Winkel" eingetragen werden. In der Spalte "B" wird also nach "Winkel" gesucht und (dummerweise ) in "krummer Winkel" auch gefunden! Wenn nun auch der Dateipfad und die Konfig stimmen, werden die Werte falsch eingeschrieben und der "Winkel" erscheint nicht in einer neuen Zeile!

Wenn Ihr die best. Excel-Makros anpassen wollt, hier die Korrektur:

.....
With Worksheets(1).Range("B15:B" & zeile)
Set zelle = .Find(Dateiname, LookIn:=xlValues, LookAt:=xlWhole)
If Not zelle Is Nothing Then ' aktuelles Teil ist in Tabelle vorhanden
ersteAdresse = zelle.Address
Do
aktZeileNr = zelle.Row
.....

Hoffe, damit etwas gehilft zu haben !


@Stefan: Wrdest Du bitte das Downloadfile auf Deiner HP ensprechend austauschen? Ich mchte ja nicht, dass man von dort fehlerhafte SW runterladen kann  !


StefanBerlitz 22. Aug. 2002, 08:40

Hallo zusammen,

Zitat:
@Stefan: Wrdest Du bitte das Downloadfile auf Deiner HP ensprechend austauschen? Ich mchte ja nicht, dass man von dort fehlerhafte SW runterladen kann !

Up and running. Ab sofort die aktuelle Version 4.0 auch in der Makrotauschbrse ( http://solidworks.cad.de/mm_boerse.htm )

Ciao,
Stefan

Mechmichi 23. Aug. 2002, 11:56


Laufzeitfehler13.jpg

 
Hallo Andreas,

erst mal klasse, da Du solch hilfreiche Tools fr uns alle zur Verfgung stellst!!!
Leider hab ich mit der Ausfhrung jedoch Probleme.
Ich bekomme bei allen Baugruppen nach wenigen Teilen die Meldung Laufzeitfehler 13. Wo der Fehler dann angemeckert wird siehst Du in dem Bild. Da ich die Massenfunktion gar nicht nutze hab ich die Auswertung in Seiner Stli abgeklickt...trotzdem scheint da das Problem zu liegen...siehe Bild..
Habt Ihr Ideen fr mich, woran das liegen kann?
Ach ja W2KWindows 2000 SP3, Excel97SR2, SWX2001+Sp4.1

Wre fr Tipps dankbar!

Gru
Michael

Rene Spandler 23. Aug. 2002, 12:11

Hallo, ich bekomme auch die Fehlermeldung 13, wenn ich die Massen nicht ausgeben lasse. Wenn ich sie ausgeben lasse kommt keine Fehlermeldung. War auch bei der letzten Variante so. Strt mich aber nicht, deshalb Dank an Andreas. Ich nutze das Tool recht hufig und es hat mir bisher ne Menge Arbeit gespart. Schnes WE. Rene

Mechmichi 25. Aug. 2002, 12:59


Massenproblem.jpg

 

Zitat:
Original erstellt von Rene Spandler:
Hallo, ich bekomme auch die Fehlermeldung 13, wenn ich die Massen nicht ausgeben lasse. Wenn ich sie ausgeben lasse kommt keine Fehlermeldung. War auch bei der letzten Variante so. Strt mich aber nicht, deshalb Dank an Andreas.
Ich nutze das Tool recht hufig und es hat mir bisher ne Menge Arbeit gespart. Schnes WE. Rene

Hallo Rene,

stren wrde mich das mit der Massenausgabe auch nicht.
Wie gesagt ich nutze die Massenfunktionnen bislang gar nicht, deshalb stehen da keine sinnvollen Werte drin...aber, wenn ich die Massen mit ausgeben mchte bekomme ich ebenfalls einen Laufzeitfehler13 mit der Anmerkung "Typen unvertrglich" (Bild)!!
Das Makro bleibt dann immer bei "importierten Parts" (aus step, iges oder sonstwas Dateien), bei denen mir auch SWXSolidWorks keine Masseneigenschaften anzeigen kann ("Dokument enthlt keine geeigneten Komponenten") hngen...was ich ja auch verstehe.
Daher hatte ich halt versucht die Massenausgaben abzuschalten.

Ich stimme Dir allerdings zu, da das Tool toll ist!!!
Deshalb wrde ich es ja auch gerne nutzen knnen!

Noch Ideen?
Kann ich was gegen die nicht vorhandenen Massseneigenschaften tun?

Gru
Michael

Andreas Mller 25. Aug. 2002, 23:29

Hallo Alle!

Sobald ich wieder etwas "Luft" habe, werde ich mich dem Problem mal annehmen, ok? Kann aber 1-2 Wochen dauern!

Mechmichi 26. Aug. 2002, 09:07

Zitat:
Original erstellt von Andreas Mller:
Hallo Alle!

Sobald ich wieder etwas "Luft" habe, werde ich mich dem Problem mal annehmen, ok? Kann aber 1-2 Wochen dauern!


Wow, das wre ja mehr als super  !!!
Danke schon mal vorab!!

Gru
Michael

ContiKlaus 26. Aug. 2002, 10:10

Leider funktioniert das Macro bei mir gar nicht.
Ich bekomme nur eine Fehlermeldung:
"Fehler bei der Stcklistenerstellung"

Sonst nix!