Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Baugruppe auslesen

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
  
3DEXPERIENCE CONFERENCE EUROCENTRAL 2022 | Darmstadtium, Darmstadt, Germany
Autor Thema:  Baugruppe auslesen (5411 mal gelesen)
haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 08. Nov. 2013 10:36    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 VBA, API Spezialisten

Ich habe mir aus den vielen API Beispielen und Forenbeiträgen und den Makromania-makros einen komfortablen Propertymanager gebastelt, der es für den Benutzer sehr einfach macht, die benutzerdefinierten und konfigurationsspezifischen Eigenschaften einzutragen. (einheitlich, komfortabel, schnell, zuverlässig, mit Freude und keine lästige Pflicht)

Dazu, Vielen Dank an die Verfasser der vielen Beiträge und den Beispielen im SodidWorks-Forum.


Ich habe nun eine Baugruppe mit dem üblichen Aufbau:
Hauptbaugruppe - geöffnet
Inhalt: Baugruppen, Teile, Unterbaugruppen, wieder Teile und Ubg

Ich hole jetzt die ganzen Teileinformationen in eine Access-Datenbank.
Das funktioniert auch sehr gut (traverseAsemply). Das Ergebnis ist eine Tabelle mit allen verbauten Teilen und den dazugehörigen Eigenschaften.

Mein Vorhaben: Ich möchte auch die Baugruppenstruktur in der Accesdatenbank abbilden. Dazu brauche ich die benutzerdefinierte Eigenschaft ("Material-Nr") aus der übergeordneten Baugruppe in der die Komponente verbaut ist.

derzeitiger Programmablauf:

mit traverseAsembly durch alle Komponenten.
Bei jeder Komponente(i) die benutzerdefinierten und die Konfigurationsspezifischen Eigenschaften auslesen und in eine Tabelle schreiben. -> funktioniert einwandfrei.

--> Was nun fehhlt: Bei jeder Komponente(i) hochschauen und fragen:
"In welcher Baugruppe bist du?" - Welche "Material-Nr" hat diese? <--

Ich bin sicher, dass mir jemand von Euch dafür den entscheidenden Hinweis geben kann.

Gruss Harald

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
auch Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 08. Nov. 2013 11:23    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 haraldworks 10 Unities + Antwort hilfreich

Hallo Harald,

Zitat:
Original erstellt von haraldworks:
--> Was nun fehhlt: Bei jeder Komponente(i) hochschauen und fragen:
"In welcher Baugruppe bist du?" - Welche "Material-Nr" hat diese? <--

Diese Information der Teileverwendung ist nicht in den SolidWorks Dokumenten verfügbar. Das hat sehr sinnvolle Hintergründe und ist clever ausgedacht, deswegen ist nicht zu erwarten, dass sich das jemals ändert.

Du kannst diese Info also nur aus deiner eigenen Datenbank bekommen bzw. Tools wie der SolidWorks Explorer generieren diese Liste (Datenbank) on the fly, indem sie alle Dokumente untersuchen, die in den Suchverzeichnissen sind, darin die Referenzen ermitteln und sich die merken (so wie du ja auch schon machst) und dann anschließend rückwärts über die Datenbankabfrage ermitteln, wo was verbaut ist.

Das wirst du ähnlich machen müssen, wenn du die Teileverwendung in deinen Tools brauchst.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 08. Nov. 2013 12:55    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 Stefan

Vielen Dank für die schnelle Antwort. Leider scheinbar nicht möglich.
Da hab ich 2 Wochenende umsonst gesucht, aber dafür viele andere interessante Informationen gefunden.
Ich weiss, SolidWorks ist sehr gut durchdacht.
Die sinnvollen Hintergründe sind mir nicht so klar.

Ich hole, wie schon beschrieben aus allen Komponenten einer Baugruppe die Informationen heraus. Die Materialnummer(configurationsspezifisch)  der Komponente setzt sich aus einer Nummer + Konfigurations-Nr(konfigname) zusammen.

In Access habe ich dann eine perfekte Liste aller Teile und auch welche Konfigurationen verbaut sind. Diese Datensätze verarbeite ich dann im meinem selfmade Access ERP. Anfragen, Arbeitsplan, Bestellungen........

Ich muss die Subtabelle bei Baugruppen leider selber füllen.

Ich habe aber noch eine Frage zu einem älteren Beitrag:
http://ww3.cad.de/foren/ubb/Forum2/HTML/000515.shtml

Dort holt des Forumsmitglied "Oberparleiter" Informationen nur aus der  1. Stufe einer Baugruppe.

Diese Routine taucht nicht in Unterbaugruppen ab. Warum ist das so?

Diese Frage stelle ich aus folgender Idee. Wenn ich schon nicht die Verwendung jeder Komponente bei einer rekursiven Routine (asemblytraverse) ermitteln kann.
Dann ist es vielleicht möglich, nur die erste Ebene einer Baugruppe zu untersuchen. So könnte ich dann in Acces bei Komponenten, die BGR sind, diese öffnen und die Sub-tabelle in der Accss DB mit eben dieser 1. Ebene füllen. Bei 100 Baugruppen sind das 100 Mauskliks uns 100 Doppelkliks, aber keine Tipparbeit. (selbst die 200 klicks kann man automatisieren, weil ja Access die Namen und den Speicherort der Baugruppen weiss.
Einziger Wehmutstropfen. Access muss jede Baugruppe öffnen, die erste Ebene auslesen - in Subtabelle schreiben - Baugruppe schliessen - nächste BGR. Aber das ist CPU-Arbeit.

Frage: Warum liest diese Routine(link) nur die gerade geöffnete Ebene aus.

Routine (traverseAsembly) aber alle Teile mit UBG

Vielen Dank

Gruss Harald


------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

dopplerm
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3592
Registriert: 11.02.2005

Win 10
SWX 2019 SP 5.0

erstellt am: 08. Nov. 2013 13:09    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 haraldworks 10 Unities + Antwort hilfreich

warum machst du das nicht viel einfacher über eine Stückliste?

Stückliste mit Einzug erstellen (detailierte Nummerierung)
nach Excel ausleiten
und dort die Spalten per macro ergänzen?

lg Martin

------------------
bin derzeit leider nicht unter Skype erreichbar 

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 08. Nov. 2013 13:36    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 dopplerm

Vielen Dank für Dein Interesse!

Die Idee hatte ich auch anfangs! Liegt ja auf der Hand, oder besser gesagt vor den Augen.
Hab aber leider kein passendes mehrstufiges Exel Beispiel gefunden. (Nur eines in der makromania, VBA-code mit Kennwort, aber auch nicht mehrstufig)

Ich möchte auch nicht unbedingt den Umweg über Excel machen.
Mehrstufige Stückliste auf der Zeichnung erstellen.(Ist nötig, oder) --> nach Excel exportieren --> in Access importieren

Hast Du einen Tipp für mein Vorhaben?:

1.Ebene der geöffneten Baugruppe nach der Konfigurationsspezifischen Eigenschaft "Material-Nr" untersuchen.

Vielen Dank

Gruss Harald

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

dopplerm
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3592
Registriert: 11.02.2005

Win 10
SWX 2019 SP 5.0

erstellt am: 08. Nov. 2013 13:51    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 haraldworks 10 Unities + Antwort hilfreich

du kannst eine Excel-Stückliste in der geöffneten Baugruppe direkt erstellen
der Stückliste schon das VBA Makro mitgeben und damit alle Daten für die Datenbank erzeugen

für Makros bin ich der falsche Ansprechpartner
ich kann dir zwar sagen was gehen sollte,
aber umsetzen kann ichs leider nicht

lg Martin

------------------
bin derzeit leider nicht unter Skype erreichbar 

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 08. Nov. 2013 14:11    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

Wenn ich dann eine grössere Baugruppe habe, mit mehreren Unterbaugruppen müsste dann sichergestellt sein, dass in jeder Baugruppe, so eine Tabelle existiert, bzw. beim Durchlaufen diese erstellen. (Vielleicht schon in die Baugruppenvorlage ausgeblendet einbauen)

Aber Vielen Dank für den Ansatz. Wenn ich diese Tabellen in die DB bekomme ist auch alles perfekt vorhanden.

Gruss Harald

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 08. Nov. 2013 14:59    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 haraldworks 10 Unities + Antwort hilfreich

Hallo Harald,

zunächst mal zum zweiten Teil: typischweise wird für die Frage Referenz/Teilverwendung nur die erste Baugruppenebene gebraucht, weil sich der Rest ja automatisch innerhalb der Datenbank ergibt.

Beispiel: Du hast 2 Zeichnungen, 3 Baugruppen und 5 Einzelteile. Die Referenzstruktur dafür sehen so aus, PRT5 hat PRT4 als Basisteil.

Code:
DRW1 - SWA1 - PRT1
            - PRT2

DRW2 - PRT2

SWA1 - PRT1
    - PRT2

SWA2 - PRT3
    - PRT2
- SWA3 - PRT1
        - PRT5 - PRT4
SWA3 - PRT1
    - PRT5 - PRT4

PRT1

PRT2

PRT3

PRT4

PRT5 - PRT4



Dadurch würde sich eine Referenztabelle ergeben, die so aussieht, wenn du alle Dokumente jeweils einstufig ausliest:

Code:
File  Reference
DRW1    SWA1
DRW2    PRT2
SWA1    PRT1
SWA1    PRT2
SWA2    PRT3
SWA2    PRT2
SWA2    SWA3
SWA3    PRT1
SWA3    PRT5
PRT1    none
PRT2    none
PRT3    none
PRT4    none
PRT5    PRT4

Diese Tabelle kannst du natürlich nicht nur "vorwärts" (gib mir Alle Referenzen, Gib mir die Komplette Struktur) sondern auch "rückwärts" (Gib mir alle Dkumentverwendung) abfragen.

Beispiel Vorwärts: "Gib mir alle Einträge, bei denen File=SWA2 ist" -> du bekommst genau deine einstufige Referenzliste von SWA2

Code:
File  Reference
SWA2    PRT3
SWA2    PRT2
SWA2    SWA3

Beispiel Rückwärts: "Gib mir alle Einträge, bei denen Reference=PRT1 ist" -> du bekommst genau deine Dokumentenverwendung von PRT1

Code:
File  Reference
SWA1    PRT1
SWA3    PRT1

Das solltest du also eigentlich jetzt schon mit deiner Accessdatenbank machen können, ansonsten eben bei durchschauen so eine einfache Tabelle mit erstellen und einlesen.

Ciao,
Stefan

PS: zweiten Beitrag kommt gleich noch zu den guten Gründen die Teileverwendung nicht ins Dokument zu schreiben 

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 08. Nov. 2013 15:20    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 haraldworks 10 Unities + Antwort hilfreich

Hallo noch mal,

Zitat:
Original erstellt von haraldworks:
Ich weiss, SolidWorks ist sehr gut durchdacht.
Die sinnvollen Hintergründe sind mir nicht so klar.

Dann lass uns überlegen, was es bedeuten würde, wenn SolidWorks (oder ein anderes System wie z.B. ein Word, wo du eine Excel-OLE-Datei einbettest) einen Reversepointer (also einen Eintrag für die Teileverwendung) in die jeweiligen Modelle schreiben würde.

1. Freigabewesen: wie willst du in freigegebene Dokumente einen Backpointer schreiben oder aktualisieren? Wie ist zu rechtfertigen, dass ein freigegebenes Teil durch einen Schreibvorgang geändert wird, obwohl keinerlei Veränderung an dem Teil passiert ist? Wie verträgt sich das mit Produkthaftung, Dokumentation ISO900x usw.?

2. Schreibgeschützte Dokumente: selbst ohne Freigabewesen, wie gehst du mit schreibgeschützten Komponenten um, die irgendwo verbaut werden? Da ist die Datenintegrität der Backpointers nicht gewährleistet, und inkonsistente Daten sind eher schlecht. Wenn ich mich nicht auf die Backpointer verlassen kann, sollte man sie lieber weglassen.

3. Wie stellst du sicher, dass nicht jemand OHNE SolidWorks im Explorer mal eine Datei umbenennt oder kopiert? Schon zeigt die Dateiverwendung ins Leere oder ist nicht aktuell, weil der Windows Explorer sicher keinen Teileverwendungseintrag im SolidWorks Dokument aktualisiert.

4. Das Schreiben in ein File ist so ziemlich der gefährliste Moment in Bezug auf Datenverlust überhaupt. Das Risiko scheint nur minimal zu sein, aber selbst wenn nur 1 von 1.000.000 Schreibvorgängen schief geht kannst du dir vorstellen, wie viel öfter Daten korrupt gehen würden. Beispiel Normteile: in wie vielen Baugruppen ist deine M6x20 Zylinderschraube verbaut? 1000? 5000? 100.000? Wie viele Normteile hast du? Rechne dir hoch, wie viele Teileverwendungen in allen Normteilen eingetragen worden wären, multiplizier das mit der Eintrittswahrscheinlichkeit 1:1000000 und du hast eine Menge kaputter Dateien, daraufhin defekte Verknüpfungen, daraufhin hängende/kaputte Baugruppen, desolate Zeichnungen, entnervte Anwender. Und das waren nur ein paar Normteile.

All das lässt sich einfach dadurch vermeiden, dass keine Backpointer in die Dokumente geschrieben werden. Ich kenne kein referenzierendes System, dass das tun würde, weil einfach zu viele wichtige Punkte dagegen sprechen. Es wäre zwar in ein paar Situationen recht bequem, wenn es das gäbe, aber letztlich ist es durch (relativ einfache) Abfragen der Referenzlisten (und ggf. merken in Textdatei, Excel oder Datenbank) simpel, sich diese Teileverwendung selbst zu stricken oder fertige Tools zu benutzen, die genau das machen.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

dopplerm
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3592
Registriert: 11.02.2005

Win 10
SWX 2019 SP 5.0

erstellt am: 10. Nov. 2013 17:57    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 haraldworks 10 Unities + Antwort hilfreich

@Harald

jede Baugruppe einzeln geht auch

ich bin jetzt von einer Überbaugruppe ausgegangen, in der alle deine Baugruppen verbaut sind

aber die Idee mit den Einzelbaugruppen finde ich eh besser
vor allem wenn du für jede Baugruppe einen Table machst, bzw einen Listenbereich, wo du vorher vermerkst, wenn sie noch nicht erstellt wurde, oder für jede erstellte dies in einer Liste vermerkst

lg Martin

------------------
bin derzeit leider nicht unter Skype erreichbar 

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 11. Nov. 2013 16:47    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 Stefan

Vielen Dank für die Hinweise, bezüglich der Datensicherheit, die Problematik mit der Freigabesicherheit. Dazu können wir später noch ein weiterführendes Thema eröffnen.
Deine Darstellung mit der Verwendungstabelle ist vollkommen richtig. Aber ich benötige insbesondere auch die Berücksichtigung der Konfigurationen.
Ein Verwendung bezogen auf ein File ist für mein Vorhaben nicht brauchbar.
Ein File kann ja (n) Konfigurationen enthalten. Das bedeutet, dass es auch (n) Artikelnummern gibt. Jedes SW-File hat einen Filenamen, dieser ist zugleich der Dokumentname bzw. Nummer. Dazu gibt es für jede Konfiguration eine Artikelnummer.
Ein Beispiel: (Wir lassen die Zeichnungen mal ausser acht)
Wir haben eine Baugruppe:
1000-00.sldasm
Der Suffix (-00) steht für die Konfiguration
In dieser Baugruppe gibt es 2 Konfigurationen 01 und 02
Das heisst, dass 3 Konfigurationen enthalten sind.
1000-00 Produkt aus Edelstahl (Standard)
1000-01 Produkt aus Stahl gelb lackiert
1000-02 Produkt aus Stahl rot lackiert

Die Baugruppe 1000-00 enthält:

1001-00 Platte aus Edelstahl
1002-00 Deckel aus Edelstahl
1003-00 Griff aus Edelstahl
Sowie die Unterbaugruppe 1004-00 aus den Teilen
1005-00
1006-00

Damit ergibt sich folgende Struktur

1000-00
-1001-00
-1002-00
-1003-00
-1004-00
    -1005-00
    -1006-00

Wir sehen, dass wir aus nur wenigen Files sehr viele Konfigurationen ableiten und diese Kombinieren können. Eine Produktkonfiguration beispielsweise.

Bei einem Durchlauf  mit einer rekursiven Funktion möchte ich nun bei jedem childcount(i) mit einer Sub Routine „hochschauen“ und die Frage stellen:

Wo ist das Child verbaut?
Als Beispiel 1005-00 ist in 1004-00 verbaut.

Kann man währen des Durchlaufs der traverseasembly bei jedem (i) hochschauen und wie in unserem Beispiel die konfigurationsspezifische Eigenschaft („Material-Nr“) 1004-00 auslesen?
Das gleiche mit 1006-00, auch hochschauen und die konfigurationsspezifische Information ("Material-Nr") von 1004-00 auslesen.

Ergebnis: Teil 1005-00 ist in 1004-00 verbaut.


Gruss Harald


------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

[Diese Nachricht wurde von haraldworks am 11. Nov. 2013 editiert.]

[Diese Nachricht wurde von haraldworks am 11. Nov. 2013 editiert.]

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 11. Nov. 2013 21:11    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 haraldworks 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von haraldworks:

Kann man währen des Durchlaufs der traverseasembly bei jedem (i) hochschauen und wie in unserem Beispiel die konfigurationsspezifische Eigenschaft („Material-Nr“) 1004-00 auslesen?

Hallo Harald,
evtl. solltest du deine Denkweise ändern.
Wenn du zu den Kindern gehst, kommst du von einer Baugruppe, und du solltest diese Information mitnehmen und den Kindern mitteilen.
Dann brauchst du nicht mehr hochschauen.

Schau dir mal mein Makro Assembly-Print-Drawings an, falls du es noch nicht kennst.
http://ww3.cad.de/foren/ubb/Forum2/HTML/022358-2.shtml
Auch ich verwende Konfigurationen und ich speichere diverse Informationen in einem Array zwischen.
Vielleicht kannst du da ein paar Schnipsel verwenden.

Viel Erfolg noch weiterhin.

Grüße, Andi


------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 12. Nov. 2013 10:08    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 Andi

Vielen Dank für die Antwort! Ich hatte diesen Gedanken auch anfangs, aber dann bin ich auf einen Denkfehler gestossen.

Mein Beispiel von oben würde funktionieren, aber wenn die Baugruppenanordnung anders ist, was ja üblicherweise so ist, funktioniert es nicht mehr.

1000-00 oberste Baugruppe

  -1001-02 Teil 1000-00 mitnehmen
  -1002-01 Teil 1000-00
  -1002-00 Teil 1000-00
  -1004-03 BGR  1000-00    Baugruppe Mitmenmer neu 1004-03
    -1005-01 Teil 1004-03
    -1006-04 Teil 1004-03
    -1007-03 Teil 1004-03
  -1005-02 Teil 1004-03      falsch
  -1007-01 Teil 1004-03      falsch


Die Schleife macht etzt folgendes:
Sie taucht bei der 1. Baugruppe ab

- 1005-02
- 1007-01
bekommen die Information, dass sie in 1004-03 enthalten sind.

Diese Gedanke funktioniert also nur, wenn sich die Unterbaugruppen einer Baugruppe jeweil am Ende aufhalten. Liege ich damit Richtig, oder hast du eine andere Idee, um die Informationen "mitzunehmen"?
Die rekursive Schleife taucht bein Erreichen einer Baugruppe sofort in diese ab.


jetzt schaue ich mir Dein AssemblyPrint-Drawings an
Sowas in der Art suche ich auch noch.


Gruss Harald


------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 12. Nov. 2013 10:24    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 haraldworks 10 Unities + Antwort hilfreich

Hallo Harald,

mach es dir nicht so schwer. Erst einen komplette Scan der Baugruppen, da merkst du dir alles. Dann, wenn für deinen Prozess notwendig, einen zweiten Durchlauf, wenn du da dann Strukturen oder Verwendungen brauchst schaust du in deiner gemerkten Liste nach, was du wissen willst.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 12. Nov. 2013 12:59    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 Stefan

Mit diesem Gedanken drehe ich mich ja schon 3 Wochen im Kreis.
Wie kann irgendwelche Informationen zur Struktur aus dem Scan festhalten. In meinem Array gibts nichts nachzuschauen, was auf eine Struktur schliessen lässt.

Ich mache ja bereits einen Scan der Baugruppe und Schreibe alles in eine Tabelle

Aber es gibt in der Tabelle keine Rückschlüsse auf eine Struktur.
Wie kann ich welche Informationen in geeigneter Form sammeln, sodass eine eindeutige Struktur erkennbar ist?


Gruss Harald

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 12. Nov. 2013 14:56    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 haraldworks 10 Unities + Antwort hilfreich

Hallo Harald,

ich glaube, du machst mir langsam genauso Knoten ins Hirn wie dir selbst. Im ersten Beitrag sprachst du von Teileverwendung, dann tauchten auf einmal auch Konfigurationen, dann Artikel auf und jetzt willst du eine komplette Struktur haben?

Vielleicht versuchst du mal anhand von ein paar Beispieldateien festzustellen, was du hast, was du als Ergebnis haben willst und warum du der Meinung bist, dass es mit den Infos aus einer einfachen Tabelle, wie ich es oben beschrieben habe, nicht funktioniert.

Die Variante wie oben von mir beschrieben klappt natürlich auch auf Konfigurationsebene, du musst dir nur nicht die (für dich mehrdeutigen) Dateinamen, sondern die (für dich eindeutigen) Dateinamen-Konfig-Bezeichnung jeweils merken.

Ich finde das so logisch, dass das klappt, das ich vermutlich nicht verstehen kann, wieso dir das nicht logisch ist   

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 12. Nov. 2013 17:50    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


xxx.jpg

 
Hallo Stefan

Das Ergebnis meiner jetzigen Schleife ist wie im Bild im Anhang.
Jetzt sollte noch in die Spalte BGR die konfigurationsspezifische Eigenschaft "Material-Nr" der jeweils übergeordneten BGR.

Winnich diese Information habe, dann kann ich in der DB bei den Komponenten die Baugruppen sind automatisch die Subtabelle füllen.

Fertig ist die DB mit allen Artikeln zur Weiterverarbeitung in meinen selfmade ERP


Jetzt mache ich es so:

Ich öffne nach dem Einlesen aller Komponenten jede Baugruppe in SW und lese deren 1. Ebene in die Subtabelle.

Gruss Harald

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

[Diese Nachricht wurde von haraldworks am 12. Nov. 2013 editiert.]

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

haraldworks
Mitglied
Ing

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

Beiträge: 9
Registriert: 08.11.2013

erstellt am: 12. Nov. 2013 18:14    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


02.jpg

 
Hallo Andi

Ich habe mir jetzt mal dein Printmakro angesehen. Gute Arbeit und vor allem mit einer Beschreibung dazu.
In habe noch angepasst, dass das Form immer on Top bleibt, weil ich es sonst immer aus dem Taskmanager holen muss.
Sehr gut finde ich, dass das Tool den Tresor durchsucht und auf Freigegeben kontrolliert.

Ich verwende es jetzt folgendermassen:
Ich drucke über den PDF-Creator (eingestellt auf einen bestimmten Ordner)
Die PDF werden dort mit dem Sufix "- Blatt1" abgespeichert.
Ich gehe dann durch den PDF-Ordner und benenne alle Dateien mit " - Blatt1" um. (" - Blatt1" wegscchneiden)


Anmerkung: Ich verwende den PDF-Creator, weil danach in meinem PDF-Control in der Datenbank das PDF im Vollbild dargestellt wird.
Wenn ich die Solidworks Funktion saveas PDF verwende wird das PDF im PDF-Control klein dargestellt und mit Bearbeitungsleisten am Rand. (nicht schön)
Warum das so ist, habe ich keine Ahnung!!!

Oder hast du eine bessere Idee?
Kann man der Solidworks Funktion safe as PDF noch Parameter mitgeben?

------------------
Frau zum Mann:
Wenn du ins Dorf gehst
nimm Brot mit, wenn es
Taubeneier gibt, nimm 5.

Der Mann bringt 5 Brote
nach Hause, keine
Taubeneier (obwohl es
welche gegeben hätte)
Welchen Beruf hat der
Mann?

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 13. Nov. 2013 01:11    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 haraldworks 10 Unities + Antwort hilfreich

Hallo Harald,
bei mir ist die Form immer on Top.
Weiß nicht, warum du da noch was umprogrammieren musst.
Diese Problematik ist für mich schon länger behoben.

Wenn du dich in dieses Makro schon eingearbeitet hast, kannst du auch mal bei dem Schwestermakro vorbeischauen.
http://ww3.cad.de/foren/ubb/Forum2/HTML/023775.shtml
Dort verwende ich auch den SaveAs2 Befehl.
Bevor dort Bilder gespeichert werden, mache ich auch einige Einstellungen.
Speziell für dein PDF Problem hab ich aber leider keine Ahnung.

Grüße, Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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