| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Was hat Simulation mit erfolgreicher Produktentwicklung zu tun? |
Autor
|
Thema: API: Stückliste aus Zusammenbau (976 mal gelesen)
|
Urs N. Mitglied
Beiträge: 10 Registriert: 25.04.2006
|
erstellt am: 25. Apr. 2006 14:08 <-- editieren / zitieren --> Unities abgeben:
Salue, ich arbeite daran, aus einem Zusammenbau eine Stückliste zu generieren. Wie es scheint, gibt es keine offizielle Möglichkeit, an diese Stückliste heranzukommen. Darum habe ich mir jetzt diese Stückliste selbst mit einem Loop über die Komponenten (swComp.GetChildren) zusammengebaut. Leider kann so die Reihenfolge nicht vom Benutzer beeinflusst werden. Um ihm trotzdem eine Sortierung zu ermöglichen, benutze ich die Reihenfolge im Feature-Baum als Vorgabe. Nun stellt sich für mich die Frage: Ist dies wirklich der einzige gangbare Weg? Oder kenn jemand eine bessere Lösung? Funktioniert dieses Konzept überhaupt, oder habe ich etwas Wesentliches übersehen? fragende Grüsse Urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kalle Mitglied Student
Beiträge: 706 Registriert: 14.04.2002
|
erstellt am: 25. Apr. 2006 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Urs N.
Aheu Urs, wir haben es bei uns folgendermaßen gelöst: Jedes Teil hat seine Positionsnummer in den Dateieigenschaften stehen. Normteile haben eine spezielle Nummer. Ein Makro liest alle Positionsnummern und sämtliche wichtigen Informationen aus und ich kann mir in einem Frontend aussuchen nach was ich's sortiert haben will (nach Pos.Nr., Lieferant - praktisch für Bestellungen, Material,...,eigentlich nach allem was ich an Dateieigenschaften auslesen kann). Das ganze kann ich dann noch nach Excel schicken und bekomme dort eine schöne formatierte Stückliste. Als Bonus können mit meinem Makro auch noch sämtliche Eigenschaften (die dafür freigegeben sind) direkt in der Stückliste geändert und wieder ins Teil zurückgeschrieben werden. Ausserdem liest es auf Wunsch die Bounding Box des Teils aus und trägt die Werte als Fertigmaß ein bzw. vergleicht die eingetragenen Fertigmaße mit denen, die die Bounding Box rausgibt und zeigt Unterschiede farblich an. Wer will kann's mal ausprobieren. Ich übernehme keine Garantie dass es läuft und habe auch nicht vor bei Problemen noch großartige Änderungen vorzunehmen, da das Makro bei uns seit langem seinen Zweck erfüllt. Für ein paar zusätzliche Erklärungen hab ich noch kurz eine Readme.txt erstellt. Da steht auch noch ein bisschen was drin. EDIT: Was ich bisher noch vergessen hab. Wenn das Makro keine Dateieigenschaft "Auftrag" findet, wird gefordert eine Auftragsnummer anzugeben. Die soll dann eigentlich beim Druck aus Excel zu sehen sein, aber irgendwie klappt das bisher noch nicht. Bis dann, Kalle ------------------ ----------------------------------------- Es gibt immer mehr Lösungen als Probleme. [Diese Nachricht wurde von Kalle am 25. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Urs N. Mitglied
Beiträge: 10 Registriert: 25.04.2006
|
erstellt am: 25. Apr. 2006 15:07 <-- editieren / zitieren --> Unities abgeben:
Salue Kalle, deine Variante setzt aber voraus, dass die Teile entsprechend vorbereitet sind. Darauf kann ich mich leider nicht verlassen. Meine Stückliste muss erzeugt werden können, ohne dass der Benutzer vorher viel vorbereitet hat. Zusatzinformationen (wie Dateieigenschaften) gehen bei mir auch mit. Eine nachträgliche Sortierung im ERP (meinem Ziel) steht also nichts im Wege. Nur muss mein Konzept auch bei minimaler Vorbereitung bestehen. dankende Grüsse Urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R. Frank Mitglied Dipl-Ing. (BA) Masch.-Bau
Beiträge: 1287 Registriert: 11.10.2004 SWX 2014 SP 5.0 PDMWorks Enterprise 2014 FlowSimulation 2014 SP 5.0 Simulation 2014
|
erstellt am: 25. Apr. 2006 16:33 <-- editieren / zitieren --> Unities abgeben: Nur für Urs N.
|
Urs N. Mitglied
Beiträge: 10 Registriert: 25.04.2006
|
erstellt am: 25. Apr. 2006 17:07 <-- editieren / zitieren --> Unities abgeben:
Salue Roland, ja, da habe ich etwas reingeschnuppert. Andreas liest die Teile auch über die Komponenten ein. Nur die Sortierung macht er wesentlich luxuriöser. Soviel Aufwand möchte ich aber nicht treiben, darum habe ich den Weg über den Feature-Baum gewählt. Und genau der Feature-Baum ist meine grösste Unsicherheit, da ich über den noch nicht soviel gefunden habe. dankende Grüsse Urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kalle Mitglied Student
Beiträge: 706 Registriert: 14.04.2002
|
erstellt am: 26. Apr. 2006 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für Urs N.
Aheu Urs, ich bin mir nichtmal sicher ob das AssemblyTraversal in der gleichen Reihenfolge läuft wie der Feature Manager die Teile darstellt. Daher würde ich da nicht unbedingt drauf bauen. Wenn Deine Tests natürlich ergeben, dass die Reihenfolge der im Feature Manager entspricht, dann musst Du es wohl derart machen wenn Du keines der zur Verfügung gestellten Makros einsetzen willst. Bis dann, Kalle ------------------ ----------------------------------------- Es gibt immer mehr Lösungen als Probleme. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Urs N. Mitglied
Beiträge: 10 Registriert: 25.04.2006
|
erstellt am: 26. Apr. 2006 13:43 <-- editieren / zitieren --> Unities abgeben:
Salue Kalle, dein Verdacht ist richtig. Die Reihenfolge ist nicht gleich. Darum sortiere ich die Stückliste ja selbst um. Als Vorgabe nehme ich die Referenzen im Feature Manager. Dies funktioniert natürlich nur, wenn mir nicht ein unbekanntes Etwas einen Strich durch die Rechnung macht. sortierende Grüsse Urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 26. Apr. 2006 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Urs N.
Wenn Du den FeatureManager ausliest, was ja geht, kannst Du alle Einträge untersuchen, ob sie auf Teile bezogen sind. Vergiß dabei die Komponentenmuster nicht. Leider ist nach meinen Erfahrungen die Reihenfolge nicht identisch mit der Baugruppentraverse und auch nicht immer identisch mit dem FeatureManager und manchmal auch bei mehrmaligem Aufruf unterschiedlich... Verlasse Dich also nicht zu sehr darauf. s. Beispiel ------------------ Lutz Federbusch Mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Urs N. Mitglied
Beiträge: 10 Registriert: 25.04.2006
|
erstellt am: 26. Apr. 2006 15:35 <-- editieren / zitieren --> Unities abgeben:
Salue Lutz, ich danke dir. Du hast einen Treffer gelandet. Die Komponentenmuster waren mir nicht bekannt. Die sind bei mir durchgeschlüpft. Genau solche Fehlerquellen suche ich! dankende Grüsse Urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |