Verknüpfen der Eigenschaft "Teile" mit einer Datenbank

Hallo

 

Lassen Sie mich Ihnen mein Problem nennen: In meiner Firma verwenden sie eine Software (quadratus), die alle Räume mit verschiedenen enthaltenen Eigenschaftsfeldern gruppiert.

Diese Software gab es bereits vor der Integration von SOLIDWORKS. Also habe ich diese Eigenschaften (aus der quadratus-Software) von Hand in jedes meiner 3D-Stücke integriert.

Die Umstände bedeuten, dass bestimmte Felder geändert werden oder geändert werden können, wie z. B. Preise.

 

Daher kommt meine Frage. Können wir die Eigenschaften der Teile mit denen meiner 3D-Teile durch eine Excel-Datei aus der quadratus Software verknüpfen?

 

Ich weiß, dass es Solidworks EPDM gibt, das dies gut machen würde, aber es würde bedeuten, die Software zu ändern, was nicht sehr möglich ist.

 

Danke für Ihre Hilfe.

 

 

Herzliche Grüße

 

Florian HALLUIN

Hallo

Ich hoffe, du speicherst die Preise deiner Teile nicht in den SW-Eigenschaften deiner Teile! In diesem Fall möchte ich vorschlagen, dass Sie versuchen, Ihre Organisation zu überprüfen.

Auf der anderen Seite kann man etwas entwickeln, wenn man sich im Programmieren übt. Aber seien Sie sich bewusst, dass es in jedem Fall langwierig und kompliziert sein wird. Aber interessant....

1 „Gefällt mir“

Ja, die Preise werden in der Datenbank aller Komponenten (unter quadra tus) und in meinen Solidworks Teilen gespeichert.


Ich bin offen für jede Veränderung.

Um ehrlich zu sein, hat mein Unternehmen vor fast einem Jahr Solidworks für mein DUT-Praktikum erworben, bei dem ich die Software teilweise in das Unternehmen integriert habe. Da ich mit dieser Aufgabe allein war, versuchte ich, die Dinge auf die beste Art und Weise zu erledigen, obwohl ich wusste, dass ich Fehler machen könnte... Dieses Jahr nehme ich an einem dualen Studium teil und verbessere die Integration weiter, auch wenn es angesichts der Anzahl der bereits erstellten Dokumente immer komplizierter wird.


Es macht mir auch nichts aus, zu programmieren , ich habe einige Grundlagen zu sehen, je nachdem, was ich tun sollte.

Das Problem, das remrem sicherlich ansprechen möchte, ist, dass, wenn Sie den Preis Ihres Teils in Ihrer SW-Aktie speichern, wenn Sie es mit Ihren Lieferanten oder Kunden teilen, diese den Preis kennen...

Es sei denn, das ist es, wonach Sie suchen...

A+

 

Auf dieser Seite gibt es kein Problem, da der Preis nur darin besteht, mit einer Stückliste herauszukommen und nur eine Schätzung des Preises für die Montage im eigenen Haus zu haben.

AH! ;-)

Seit einigen Monaten implementieren wir komplette Stücklisten und damit die Beziehung zwischen unserem ERP und SW.

Unsere SW-Dateien enthalten nur technische Informationen (Material, Dicke, etc.) und dann haben wir einen Dateiaustausch (in Form von txt) eingerichtet oder tauschen uns mit dem ERP aus. Die Verkaufs- und Einkaufsinformationen (Preis, Lieferant, etc.) sind somit nur im ERP und die Verknüpfung erfolgt durch eine gemeinsame Eigenschaft (bei uns der Artikelcode).

Persönlich habe ich vb.net eine kleine Anwendung erstellt, die die Informationen im ERP aus der SW aktualisiert, indem sie direkt in die Datenbank (MySQL) schreibt.

Da es sich um ein großes Projekt handelt, empfehle ich Ihnen, eine Bestandsaufnahme der Bedürfnisse der betreffenden Dienste zu machen. Um andere Unternehmen zu besuchen, um zu sehen, wie sie arbeiten. Um Prioritäten zu setzen.

Vorerst rate ich Ihnen, nur eine Art der Aktualisierung in Betracht zu ziehen, wir haben SW  = > ERP gewählt. Wenn also die Revision eines Dokuments in SW geändert wird, geht es zurück an das ERP. Der Vorteil ist, dass wir, wenn wir den Preis im ERP ändern, ihn nicht in SW aktualisieren müssen, da er nur im ERP gespeichert wird. Ähnlich verhält es sich, wenn Sie den Verdicker in einem Raum wechseln, geht er nicht zurück in das ERP, da er dort nicht gelagert wird. Daher das Interesse an der Auswahl der richtigen Informationen, die Sie im ERP benötigen.

Ich hoffe, ich habe dir ein wenig geholfen... ;-)

2 „Gefällt mir“

(Ich habe den Eindruck, dass meine Antwort nicht veröffentlicht wurde, also tippe ich sie noch einmal...)

Was du sagst, ist interessant.

In meinem Unternehmen, das sich mit Wasseraufbereitung beschäftigt, montieren wir hauptsächlich Standardprodukte: Rohre, Bögen, T-Stücke, Ventile usw.

In diesem Fall wäre es also eher das ERP, das mit SW kommunizieren würde.

 

Wäre es möglich, ein wenig mehr über Ihr Programm zu erfahren? So funktioniert der Austausch von txt-Dateien. Wenn es automatisch ist, alle Teile auf einmal, eines nach dem anderen?

 

Ich habe auch darüber nachgedacht, zu sehen, wie andere Unternehmen das machen, aber würden sie mir so einfach die Türen öffnen?

Tatsächlich habe ich zwei Apps:

           1. Anmelden SW = ERP > Link: Informationen, die direkt in die ERP-Datenbank geschrieben werden

Jeden Morgen (Beispiel) startet automatisch eine Aufgabe.

Es liest Revisionen in SW-Dateien (ohne sie zu öffnen) und vergleicht sie mit dem ERP. Aktualisiert dann bei Bedarf. Bearbeitungszeit: ~10 Minuten

Erstellt ein Thumbnail (Bild), einen PDF-Plan und eine Edrawing von jedem SW-Element, dessen Artikelcode im ERP vorhanden ist, und fügt die Links zu diesen Elementen ein. Somit hat ein Benutzer im ERP direkten Zugriff auf eine Darstellung des Teils, dessen PDF-Plan und eine 3D-Zeichnung.

 

           arabische Ziffer. Erstellen von Stücklisten

Beim Öffnen einer Excel-Tabelle, nach vielen Prozessen und Fehlerprüfungen. Ich erstelle eine oder mehrere txt-Dateien, die das ERP verarbeiten kann, um dann Artikel oder Sortimente zu erstellen und die Vorräte zu verwalten.

 

Was die Unternehmen betrifft. Wir hatten die Gelegenheit, mehrere Unternehmen zu treffen, die uns willkommen hießen und uns bei unserem Projekt berieten.

1 „Gefällt mir“

Es scheint eine ziemlich gute Lösung zu sein. Wäre es möglich, Zugriff auf den Programmcode zu haben?

Also werde ich sehen, ob ich einige Unternehmen treffen kann, um zu sehen, wie sie arbeiten. In der Hoffnung, dass sie genauso einladend sein werden wie die, die Sie getroffen haben.

Guten Abend

Wenn ich diese Art von Projekt zu erledigen hätte, würde ich damit beginnen, mit meinem Unternehmen eine (klar definierte) Spezifikation zu definieren.

Dann würde ich schauen, ob ich Zugriff auf die Datenbankstruktur der Zielsoftware habe.

Wenn ja, verwende ich SQL-Abfragen, um die Daten zu ändern oder hinzuzufügen.

Wenn nicht, müssen Sie einen anderen Weg finden, um die Daten zu injizieren (Textdatei mit Trennzeichen, Excel-Datei, XML-Datei,...)

Dann müssen Sie entscheiden, ob Sie eine separate Software, ein SW-Add-In oder beides erstellen möchten.

Ich habe beides fett gedruckt, denn je nach Häufigkeit der Updates braucht man beides.

Nehmen wir das folgende Beispiel: Sie ändern den Immobilienpreis eines Zimmers und ein Verkäufer macht ein Angebot, um denselben Raum zur gleichen Zeit wie Sie zu verkaufen. Das Angebot des Verkäufers basiert auf dem alten Preis bis zur Aktualisierung am nächsten Tag. (Nicht wirklich cool, so oder so).

Ich würde sogar besser einen Windows-Dienst sehen, der auf SW hört. Ein Dokument wird geöffnet, bearbeitet und geschlossen. Nach dem Schließen checkt der Dienst die Zielsoftware ein und nimmt die Änderungen vor, falls vorhanden. In diesem Fall gibt es nur eine Software, die erstellt werden muss: den Service.

Schließlich ist der Code selbst nicht sehr kompliziert, das Abrufen der Werte von benutzerdefinierten Eigenschaften ist einfach und das Lesen von Daten in einer Datenbank ist genauso einfach.

Also nichts Schlechtes zum Programmieren, aber viel Arbeit an den Spezifikationen.

2 „Gefällt mir“

Hallo

Danke für die zusätzliche Hilfe.

 

Also werde ich, wie mir alle geraten haben, ein Lastenheft für dieses Projekt erstellen.

 

Auf der anderen Seite habe ich einige grundlegende Programmierkenntnisse, aber nicht genug, um einen solchen Code zu veröffentlichen.

Sie sagen mir, dass das Abrufen der Werte von benutzerdefinierten Eigenschaften einfach ist, aber könnte ich einen Hinweis haben, wie ich vorgehen soll? Welche Funktion wird verwendet?

Unter welcher Software wäre dieses Projekt am besten geeignet?

Ich für meinen Teil würde mich für ein Makro entscheiden, das die Verbindung zwischen Ihrer Excel-Datei und Ihren Solidworks-Dateien herstellt

 

Gemeinsam um über VBA in einer Excel-Datei zu programmieren, haben Sie es auf die Quadratus-Extraktion gestempelt und Sie schleifen jede Zeile ab, um jede Eigenschaft jedes Teils zu überprüfen und gegebenenfalls zu ändern

1 „Gefällt mir“

Hallo 

Ich gebe Ihnen heute Abend ein Beispiel in Form eines Makros.

Für die Programmierung von Software verwende ich Visual Studio 2017. Aber es gibt noch viele andere.

Wählen Sie Ihre Programmiersprache sorgfältig aus, rüsten Sie sich mit einem guten Stift und einem Stapel Papier aus. Wenn Ihnen das Papier ausgeht, sollte Ihr Projekt funktionieren. :)

 

1 „Gefällt mir“

Nicht alle Teile der Quadratus-Basis werden in 3D dargestellt. Ich kann nicht erkennen, ob das ein Problem sein wird.

Ich denke, ich aktualisiere die SolidWorks-Eigenschaften von Teilen nur dann, wenn Sie eine Baugruppe oder ein Teil öffnen.

 

Ich habe gerade einige Codezeilen gesehen, von denen ich denke, dass sie für mich nützlich sein werden:

" Um ein Eigentum wiederzuerlangen, lautet die Anweisung:

                SWmoddoc. GetCustomInfoValue("", "code")


Wir erhalten die Eigenschaft "code" in der VBA-Variablen "CODE", wobei SWmoddoc Ihr aktives Dokument darstellt (Set SWmoddoc = swApp.ActiveDoc). "

Es spielt keine Rolle, wenn nicht alle Teile im ERP über 3D verfügen. Sie müssen nur die beiden auf einem einzigen Feld vergleichen.

Für mich reicht es nicht aus, die Daten nur beim Öffnen eines Teils zu aktualisieren, da dies bedeuten würde, dass die Daten in einer geschlossenen Datei geändert wurden, wenn die Bindungsrichtung Sw>>ERP ist.

Die einfachste Möglichkeit, die Werte von benutzerdefinierten Eigenschaften abzurufen, ist die Verwendung des propertymanager-Objekts. Dafür ist er gemacht. Der Vorteil besteht darin, dass es eine Sammlung von Objekten bietet und Sie daher eine Aktualisierung nach Los und nicht nach Eigenschaft durchführen können. Sie müssen nur einen Datentabellenkonverter in eine Eigenschaftensammlung umwandeln. Sie müssen auch einen Komparator oder eine Klasse erstellen, die ICompare() implementiert.

 

1 „Gefällt mir“

In meinem Fall wäre der Link ERP = > nur SW.

Gibt es Hilfe, um zu erfahren, wie man die Werte von benutzerdefinierten Eigenschaften über den Propertymanager abruft?

Es fällt mir schwer, herauszufinden, wie ich alles tun soll, was du mir sagst

Ja, es gibt eine Hilfe, die von SW oder Google APIs.

Wenn du Schwierigkeiten hast zu verstehen, was ich dir sage, nimm Stift und Papier, schreibe auf, was du tun willst und es wird klarer werden:)

Die Idee ist einfach:

Daten aus einem Produkt in das ERP übernehmen

Suchen Sie die entsprechende sw-Datei und öffnen Sie sie

Aktualisieren Sie die Daten in der sw-Datei

Speichern Sie die sw-Datei und schließen Sie sie

Tun Sie dies für alle ERP-Produkte

Das ist das Grundprinzip.

Was Sie tun können, indem Sie einen Dienst durchlaufen, ist:

Hören Sie auf die ERP-Datenbank

Bei einer Änderung in einer "Produkt"-Tabelle

Öffnen Sie die sw-Datei

Verschieben, Speichern, Schließen der sw-Datei

Mit Worten erkennen wir sofort, dass das eine alle Daten der ERP-Produkte verarbeitet, während das andere nur dann aktualisiert wird, wenn eine einzige SW-Datei benötigt wird.

1 „Gefällt mir“

Ich verstehe die Logik der Ausführung des Problems. Es ist für die Umstellung auf eine Programmierfunktion, bei der ich mehr Schwierigkeiten habe

Geschieht das Öffnen, Ändern, Speichern und Schließen in dem Beispiel, das Sie mir geben, im Hintergrund und sehr schnell? Wird die Verarbeitungszeit der Datenbank schnell sein (ich würde für mich sagen, dass 10 Minuten für mehr als 1000 3D-Teile schnell sind)?

 

In unserem Fall denke ich, dass diese einfache Logik auch funktionieren könnte, weil ich nicht aus der Nomenklatur und den Plänen herauskomme, ohne die betreffenden Baugruppen und damit auch die Teile zu bearbeiten

 

Wenn ein Raum geöffnet ist

Prüfen Sie, ob die interne Referenz vorhanden ist => Wenn nicht END

Wenn ja

Suchen Sie nach der Referenz im BDD-Quadratus

Überprüfen Sie, ob die Eigenschaften des SW-Teils übereinstimmen = > Wenn nicht, aktualisieren und speichern Sie sie

              Wenn ja, ENDE

 

Ich denke, die interne Referenz wird als Bindeglied zwischen SW und dem ERP dienen.

 

Hallo

@f.halluin, ich sehe in Ihrem Profil, dass Sie ein MyCadServices-Kunde sind, also müssen Sie keine Zeit mit Entwicklungen verschwenden, alle Tools, die Sie benötigen, sind bereits in den MyCad Tools vorhanden und dasjenige, das für Sie am nützlichsten ist, ist die Integration, die es Ihnen ermöglicht, eine Massenwiederherstellung von Eigenschaften in Ihrer gesamten CAD-Datenbank im Vergleich zu einer Excel-Datei oder einer anderen aus Ihrem ERP durchzuführen.

 

@+

2 „Gefällt mir“

Danke Kojote, aber ich scheine nicht das Abonnement zu haben, das die Verwendung von mycadtool erlaubt.

Würde mir dieses Tool auch erlauben, die SW-Eigenschaften durch die des ERP zu ersetzen?