Autor
|
Thema: BOM (3068 mal gelesen)
|
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 30. Mai. 2012 19:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich weiss zu diesem Thema gibt es viele Beiträge, aber auch nach langem suchen und googeln komme ich nicht weiter. Ich möchte die BOM bearbeiten. Zuerst wollte ich das Produkt selbst zu parsen, geht aber nicht da ich den "Visualize in Bill of Material"-Haken nicht auslesen kann. Dann dachte ich mir, bastel ich mir ein Dialog in dem man auswählen kann was auf die Stückliste soll und was nicht. Nach etwas grübellei stellte sich das auch als recht schwierig raus da ich diese Information ja auch irgendwo speichern muss und ebenfalls die Nummierurung der Teile knifflig ist da man die "Instance-Number" ebenfalls nicht auslesen kann. *seufz* Jetzt dachte ich mir mach ich es mir einfach, erstell die Stückliste ganz normal und bearbeite anschließend einfach die DrawingTable manuell. Allerdings kann ich die scheinbar nicht mit VBA ändern. Als kleines Beispiel:
Code: Debug.Print Bom.GetCellString(2, 1) Bom.SetCellString 2, 1, "No." Debug.Print Bom.GetCellString(2, 1)
gibt mit 2x "Number" aus.Ich weiss es gibt noch den Weg die Stückliste als Datei zu exportieren und dann halt manuell zu parsen/nachzubauen, aber das möchte ich vermeiden wenn möglich. Ich suche also Tipps wie man am besten die BOM bearbeiten kann. Eines der großen Probleme ist zudem noch die Aktualität, wird die Zeichnung aktualisiert, soll natürlich auch die Stückliste up to date sein. Soweit ich das jetzt aber gesehen habe gibt es ja kein "Update Event" o.ä. Wer Tipps hat wie man am besten vorgeht, wäre ich sehr dankbar! [Diese Nachricht wurde von mycon am 30. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Mai. 2012 20:12 <-- editieren / zitieren --> Unities abgeben: Nur für mycon
Servus Da es sich vermutlich bei deinem Objekt BOM um eine DrawingTable handelt sollte das ändern des Zellinhalt genauso gehen wie du geschrieben hast (bei mir funktioniert es zumindest so). (mir ist im Moment keine Einstellung bekannt an was das liegen könnte) Zum die Stückliste zu aktualisieren , ist es wahrscheinlich am einfachsten diese zu löschen und neu erstellen zu lassen. Ggf könnte man dies mit einer Reaction auslösen lassen (habe ich aber noch nie probiert) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 30. Mai. 2012 22:08 <-- editieren / zitieren --> Unities abgeben:
Ja, Bom ist eine DrawingTable. Aber leider scheint das ändern davon nicht zu funktionieren wenn es sich um die Stückliste handelt. Wenn ich eine eigene DrawingTable ändere geht es ohne Probleme, bei der Stückliste jedoch nicht. Zum löschen und neu erstellen lassen würde mir dennoch ein Event fehlen. Es ist ein zu großes Fehlerpotential wenn man das aktualisieren der Stückliste manuell anschucken müsste. Eine Notlösung wäre es wohl über das Makro die Zeichnung zu aktualisieren und die Stückliste gleich mit und den standard Button zum Aktualisieren aus der Toolbar zu nehmen. Aber das ist ja auch nicht das gelbe vom Ei. Was meintest du mit Reaction? Kann es sein das man mit VBA Mitteln die Höhe einer DrawingTable nicht auslesen kann? [Diese Nachricht wurde von mycon am 30. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 30. Mai. 2012 22:46 <-- editieren / zitieren --> Unities abgeben: Nur für mycon
Servus Die Stücklisten sind wirklich sonderbar. Per Script sind diese nicht editierbar. Manuell ist dies möglich, allerdings wird nach dem Zugriff per Script die Tabelle wieder in ihre ursprüngliche Form zurückgesetzt. Bei einer "Erweiterten Stückliste" ist das bearbeiten per Script möglich. Die Größe einer Tabelle lässt sich wohl nur über die Aufsummierung der Zeilenbreite und Spaltenhöhen (GetRowSize und GetColumnSize). Ggf wäre es doch einfacher über da Parsen des Products die Stückliste zu erstellen (ggf Positionsnummer in der Exemplar-Beschreibung (DescriptionInst) zwischenspeichern) kann man diese Feld ach sperren, damit keiner den Wert verändert?) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 31. Mai. 2012 00:13 <-- editieren / zitieren --> Unities abgeben:
Parsen ist halt wieder recht aufwändig, nicht nur wegen Numbering, sondern auch weil ich mir ja dauerhaft auf Instanzebene merken muss in welcher Baugruppe sollen welche Teile auf die Stückliste. Aber mir kam grad eine andere Idee. Ich schieb die original Bom ins NoShow, lese sie aus und zeichne meine eigene im Show. Wenigstens das sollte ja problemlos funktionieren. Wäre aber noch die Frage wie ich das ganze aktuell halte ohne das der User manuell ein Knopf drücken muss. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 31. Mai. 2012 06:47 <-- editieren / zitieren --> Unities abgeben: Nur für mycon
|
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 31. Mai. 2012 07:06 <-- editieren / zitieren --> Unities abgeben:
KWA Lizenz haben wir leider nicht. Zumindest nicht für alle, wenn KWA nur einmalig zum erstellen nötig ist wäre es kein Problem. Aber ich nehme mal an dem ist nicht so. Gibt es noch eine andere Möglichkeit? Die größe der Stückliste schwankt, das kann von einem Teil, bis ca. 40 Teile gehen. Performance ist erstmal nicht ganz so wichtig, hauptsache es geht überhaupt mal. Das ermitteln der DrawingTable durch addieren aller Zeilenhöhen funktioniert leider auch nicht. Bekomme da nie die genaue Höhe raus. Das Catia immer so zickig sein muss...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 31. Mai. 2012 07:26 <-- editieren / zitieren --> Unities abgeben: Nur für mycon
Servus Für was brauchst du die Höhe bzw Abmessungen der Tabelle? Über die Wahl des richten Ankerpunktes (zB rechts-unten oder rechts-oben) sollte doch die Positionierung unabhänig von der Höhe sein. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 31. Mai. 2012 07:58 <-- editieren / zitieren --> Unities abgeben:
Da es auch möglich ist das auf eine Zeichnung mehrere Stücklisten kommen. Die muss ich dann übereinander anordnen und kann sie aus mehreren Gründen nicht in einer einzelnen Tabelle zusammenfassen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 31. Mai. 2012 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für mycon
|
mycon Mitglied
Beiträge: 58 Registriert: 14.02.2011 Catia V5R19
|
erstellt am: 31. Mai. 2012 22:20 <-- editieren / zitieren --> Unities abgeben:
Ok, das ist natürlich sehr gut. Also ich hab jetzt Catias Standard-Bom auf 3 Spalten eingestellt, grad so das ich über die die Number, Quantity und PartNumber ermitteln kann. Den Rest such ich mir selbst zusammen aus dem Produkt. Die original Bom schieb ich ins NoShow und zeichne meine eigene (immer wieder neu) im Show selbst. Von der Performance reicht mir das so aus. Das mit der Höhenermittlung der DrawingTable hab ich inzwischen gelöst. Man sollte die Höhe nicht mit einem Integer Kommagenau ermitteln... Das mit der Reaction klingt auf jeden Fall sehr interessant, aber ich muss gestehen das ich bisher sehr wenig mit KWA gemacht habe. Da muss ich mich erstmal etwas reinfuchsen um eine Reaction dafür zu erstellen. Jetzt wäre noch die Frage ob es möglich ist mit VBA Catia's Standard-Bom auf die Zeichnung zu legen für den Fall das noch keine da ist. Ich habe leider kaum passende Beiträge/Themen dazu gefunden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |