Zum Inhalt springen
  • 0

Zeichensoftware erstellen - Benötigte Komponenten


Frage

Geschrieben

Hallo zusammen,

 

für ein Hobbyprojekt versuchen ich und ein paar Freunde, eine Zeichensoftware zu bauen, die automatisiert Zeichnungen anfertig. Der Use Case ist noch nicht ganz konkretisiert, aber es es könnte beispielsweise eine Software sein, die Maschinenbauingenieure dabei unterstützt 2-dimensionale Konstruktionspläne automatisiert zu erstellen. Letztlich bekommt so eine Software eine Menge an Ausgangsdaten und eine Menge an fertigen Konstruktionsplänen, die auf Basis, der Ausgangsdaten erstellt wurden. So soll die Software lernen nach welchen Regeln sie die Ergebnisse erstellt. Das Ganze ist dann sicherlich KI-basiert. Die Frage ist, welche Möglichkeiten gibt es eine solche Software zu bauen ohne dabei alles von grundauf neu zu coden(Bin selber SAP-Softwareentwickler und verstehe grundlegende Konzepte der Softwarentwicklung). Unsere Idee ist es, dass wir versuchen eins der existierenden Sprachmodelle, wie beispielsweise chatgpt DSGVO-konform zu trainieren für unseren Use Case. Es gibt ja beispielsweise die Möglichkeit auf europäischen Microsoft Servern das GPT-Sprachmodell zu nutzen und zu trainieren. Hat jemand vielleicht weitere Empfehlungen/Ideen, welche Basiskomponenten es für unseren Use Case schon gibt? (Zeichenmodule etc.) Auch über Anregungen oder Tipps zur Umsetzung,  freuen wir uns. Bezüglich des Use Cases bitte beachten, dass uns bewusst ist, dass der Use Case eventuell nicht umsetzbar ist. Uns geht es mehr darum zu verstehen, wie man bereits existierenden Modelle für einen Use Case trainieren und anpassen kann. 

 

VG,

Daniel

8 Antworten auf diese Frage

Empfohlene Beiträge

  • 0
Geschrieben

 

vor 1 Stunde schrieb daniel861:

Hat jemand vielleicht weitere Empfehlungen/Ideen, welche Basiskomponenten es für unseren Use Case schon gibt? (Zeichenmodule etc.)

Dies sind die Abhängigkeiten von Freecad.

 * dependency graph for media-gfx/freecad-1.0.0
 `--  media-gfx/freecad-1.0.0  amd64
   `--  dev-lang/python-3.10.15_p2  (dev-lang/python) amd64
   `--  dev-lang/python-3.11.10_p1  (dev-lang/python) amd64
   `--  dev-lang/python-3.12.7_p1  (dev-lang/python) amd64
   `--  dev-cpp/gtest-1.14.0-r1  (dev-cpp/gtest) amd64
   `--  dev-cpp/yaml-cpp-0.8.0  (dev-cpp/yaml-cpp) amd64
   `--  dev-libs/OpenNI2-2.2_beta2-r1  (dev-libs/OpenNI2) amd64  [opengl(+)]
   `--  dev-libs/boost-1.85.0-r1  (dev-libs/boost) amd64
   `--  dev-libs/libfmt-9.1.0-r2  (dev-libs/libfmt) amd64
   `--  dev-libs/libspnav-1.1  (dev-libs/libspnav) amd64  [X]
   `--  dev-libs/xerces-c-3.2.5  (dev-libs/xerces-c) amd64  [icu]
   `--  dev-ruby/asciidoctor-2.0.23  (dev-ruby/asciidoctor) amd64
   `--  dev-qt/qtconcurrent-5.15.14  (dev-qt/qtconcurrent) amd64
   `--  dev-qt/qtcore-5.15.14  (dev-qt/qtcore) amd64
   `--  dev-qt/qtnetwork-5.15.14-r1  (dev-qt/qtnetwork) amd64
   `--  dev-qt/qtxml-5.15.14  (dev-qt/qtxml) amd64
   `--  dev-qt/qtxmlpatterns-5.15.14  (dev-qt/qtxmlpatterns) amd64
   `--  dev-qt/qtbase-6.7.3-r2  (dev-qt/qtbase) amd64  [concurrent network xml]
   `--  media-libs/freetype-2.13.2  (media-libs/freetype) amd64
   `--  media-libs/qhull-2020.2-r3  (media-libs/qhull) amd64
   `--  sci-libs/hdf5-1.14.3-r1  (sci-libs/hdf5) amd64  [fortran zlib]
   `--  sci-libs/med-4.1.1-r3  (>=sci-libs/med-4.0.0-r1) amd64
   `--  sci-libs/opencascade-7.8.1  (sci-libs/opencascade) amd64  [json vtk]
   `--  sci-libs/orocos_kdl-1.5.1  (sci-libs/orocos_kdl) amd64
   `--  sys-libs/zlib-1.3.1-r1  (sys-libs/zlib) amd64
   `--  virtual/libusb-1-r2  (virtual/libusb) amd64
   `--  dev-libs/openssl-3.3.2  (dev-libs/openssl) amd64
   `--  net-misc/curl-8.10.1-r1  (net-misc/curl) amd64
   `--  sci-libs/vtk-9.3.0-r3  (sci-libs/vtk) amd64  [qt5 rendering]
   `--  media-libs/coin-4.0.3  (>=media-libs/coin-4.0.0) amd64
   `--  virtual/glu-9.0-r2  (virtual/glu) amd64
   `--  virtual/opengl-7.0-r2  (virtual/opengl) amd64
   `--  dev-qt/designer-5.15.14  (dev-qt/designer) amd64
   `--  dev-qt/qtgui-5.15.14  (dev-qt/qtgui) amd64
   `--  dev-qt/qtopengl-5.15.14  (dev-qt/qtopengl) amd64
   `--  dev-qt/qtprintsupport-5.15.14  (dev-qt/qtprintsupport) amd64
   `--  dev-qt/qtsvg-5.15.14  (dev-qt/qtsvg) amd64
   `--  dev-qt/qtwidgets-5.15.14  (dev-qt/qtwidgets) amd64
   `--  dev-qt/qtx11extras-5.15.14  (dev-qt/qtx11extras) amd64
   `--  sci-libs/pcl-1.14.1  (sci-libs/pcl) amd64  [qt5]
   `--  dev-python/matplotlib-3.9.2  (dev-python/matplotlib) amd64  [python_targets_python3_10(-)]
   `--  dev-python/pivy-0.6.8  (>=dev-python/pivy-0.6.5) amd64  [python_targets_python3_10(-)]
   `--  dev-python/pyside2-5.15.14  (dev-python/pyside2) M[package.mask]  [gui svg webchannel python_targets_python3_10(-)]
   `--  dev-python/shiboken2-5.15.14  (dev-python/shiboken2) M[package.mask]  [python_targets_python3_10(-)]
   `--  dev-qt/qttools-6.7.3  (dev-qt/qttools) amd64  [designer]
   `--  dev-qt/qt5compat-6.7.3  (dev-qt/qt5compat) amd64
   `--  dev-qt/qtsvg-6.7.3  (dev-qt/qtsvg) amd64
   `--  dev-python/pyside6-6.7.3  (dev-python/pyside6) amd64  [gui svg webchannel python_targets_python3_10(-)]
   `--  dev-python/shiboken6-6.7.3  (dev-python/shiboken6) amd64  [python_targets_python3_10(-)]
   `--  media-gfx/netgen-6.2.2302  (media-gfx/netgen) amd64  [opencascade]
   `--  media-gfx/openscad-2021.01-r5  (media-gfx/openscad) amd64
   `--  dev-python/numpy-2.1.3  (dev-python/numpy) amd64  [python_targets_python3_10(-)]
   `--  dev-python/pybind11-2.13.6  (dev-python/pybind11) amd64  [python_targets_python3_10(-)]
   `--  dev-python/gitpython-3.1.43  (dev-python/gitpython) amd64  [python_targets_python3_10(-)]
   `--  dev-python/ply-3.11-r2  (dev-python/ply) amd64  [python_targets_python3_10(-)]
   `--  dev-cpp/eigen-3.4.0-r1  (>=dev-cpp/eigen-3.3.1) amd64
   `--  dev-cpp/ms-gsl-4.0.0  (dev-cpp/ms-gsl) amd64
   `--  dev-python/pyyaml-6.0.2  (dev-python/pyyaml) amd64  [python_targets_python3_10(-)]
   `--  dev-qt/qttest-5.15.14  (dev-qt/qttest) amd64
   `--  app-text/dos2unix-7.5.2  (app-text/dos2unix) amd64
   `--  dev-lang/swig-4.2.1  (dev-lang/swig) amd64
   `--  app-alternatives/ninja-1  (app-alternatives/ninja) amd64
   `--  dev-build/cmake-3.30.5  (>=dev-build/cmake-3.20.5) amd64
   `--  dev-util/desktop-file-utils-0.27-r1  (dev-util/desktop-file-utils) amd64
   `--  x11-misc/shared-mime-info-2.4-r1  (x11-misc/shared-mime-info) amd64

Ich würde mir zunächst Open Cascade anschauen. Dies ist ein sogenannter CAD Kernel. Diese Kernels kann man nutzen um CAD Software zu bauen. 

Man sollte hierbei auch bedenken das alleine bei Freecad hunderte an Entwicklern über Jahre an der Software gearbeitet haben. Überlegt euch, welche Ziele ihr erreichen könnt. Wenn eure Ziele zu hoch sind, werden eure Ideen im Sande verlaufen.
Ich würde wahrscheinlich erst mal versuchen ohne GUI eine art Durchstoß zu schaffen, um zu sehen, ob eure Ideen überhaupt tragfähig sind. Überlegt euch auch, für wen ihr das machen wollt. Die Zielgruppe muss ja das Produkt am Ende des Tages annehmen.

 

  • 0
Geschrieben

Danke für die Rückmeldung. Letztlich ist genau das unser Ziel zu versuchen erstmal ohne das Ganze drumherum, wie GUIs etc. ein Stück Software zu haben, dass aus dem Input einen Output generiert. Ziel ist es halt möglichst wenig selbst zu coden. Deshalb war die Ausgangsidee ein Sprachmodell zu nutzen, das automatisch zeichnet. Hat jemand damit Erfahrung? Gibt es eventuell ein chatgpt Zeichenmodul?

  • 0
Geschrieben

Ich hab die Befürchtung, dass es so nicht funktionieren wird, was ihr da vorhabt. So funktionieren Bildgeneratoren einfach nicht. Sie basieren auf Zufall und Wahrscheinlichkeitsberechnungen und nicht auf exakte angaben. Das Ergebnis ist nicht deterministisch und schon gar nicht der Norm entsprechend. Darum haben Bildgeneratoren z.B. ein Problem mit Texten. Sie können Texte einfach nicht richtig darstellen, obwohl es genug Trainingsmaterial gibt, das man auch leicht selbst erstellen kann. Ihr werdet es also nicht hinbekommen, mit einem Prompt exakt das gewünschte Ergebnis zu bekommen, was meiner Meinung sowieso total unmöglich ist. Man sieht es ja an der Softwareentwicklung. Die klare Beschreibung der Anforderung ist seit der Geburtsstunde der Softwareentwicklung ein riesiges Problem.

Auch ist ein Bildgenerator nicht in der Lage, Vektorgrafiken zu erzeugen, sondern ausschließlich Rastergrafiken aber mit Rastergrafiken kommt man nicht weit, weil Konstruktionszeichnungen auf auf DIN A0 gedruckt werden und da muss die Zeichnung weiterhin scharf bleiben, was nur mit Vektorgrafiken möglich ist.

  • 0
Geschrieben (bearbeitet)
vor 19 Stunden schrieb Whiz-zarD:

Ich hab die Befürchtung, dass es so nicht funktionieren wird, was ihr da vorhabt. So funktionieren Bildgeneratoren einfach nicht. Sie basieren auf Zufall und Wahrscheinlichkeitsberechnungen und nicht auf exakte angaben. Das Ergebnis ist nicht deterministisch und schon gar nicht der Norm entsprechend. Darum haben Bildgeneratoren z.B. ein Problem mit Texten. Sie können Texte einfach nicht richtig darstellen, obwohl es genug Trainingsmaterial gibt, das man auch leicht selbst erstellen kann. Ihr werdet es also nicht hinbekommen, mit einem Prompt exakt das gewünschte Ergebnis zu bekommen, was meiner Meinung sowieso total unmöglich ist. Man sieht es ja an der Softwareentwicklung. Die klare Beschreibung der Anforderung ist seit der Geburtsstunde der Softwareentwicklung ein riesiges Problem.

Auch ist ein Bildgenerator nicht in der Lage, Vektorgrafiken zu erzeugen, sondern ausschließlich Rastergrafiken aber mit Rastergrafiken kommt man nicht weit, weil Konstruktionszeichnungen auf auf DIN A0 gedruckt werden und da muss die Zeichnung weiterhin scharf bleiben, was nur mit Vektorgrafiken möglich ist.

Danke für die ausführliche Antwort. Gibt es denn eventuell die Möglichkeit eine eigene Software zu bauen, die Vektorgrafiken erzeugt ? 

Bearbeitet von daniel861
  • 0
Geschrieben
vor 9 Stunden schrieb daniel861:

Gibt es denn eventuell die Möglichkeit eine eigene Software zu bauen, die Vektorgrafiken erzeugt ? 

Klar gibt es die. SVG ist ein ziemlich einfaches plaintext format. Als Softwareentwickler solltest du aber doch schon mal mit solchen Sachen konfrontiert worden sein, oder?

Am 26.11.2024 um 20:27 schrieb Whiz-zarD:

Das Ergebnis ist nicht deterministisch

KI Modelle selbst sind deterministisch. Muss nur richtig in der API konfiguriert werden. Sprachmodell können aber nicht wirklich mit Zahlen und Bits jonglieren. Es wäre möglich, eine syntaktische Beschreibungssprache wie JSON Graph oder ähnliches erzeugen zu lassen, woraus du Grafiken erstellen könntest. Je bekannter desto höher die Erfolgswahrscheinlichkeit. Es könnte nötig sein, zusätzliche Finetuning Schritte durchzuführen. Da hätte ich Zweifel, ob das für dich so einfach umsetzbar wäre.

  • 0
Geschrieben (bearbeitet)
vor 9 Stunden schrieb Shannon:

Klar gibt es die. SVG ist ein ziemlich einfaches plaintext format. Als Softwareentwickler solltest du aber doch schon mal mit solchen Sachen konfrontiert worden sein, oder?

KI Modelle selbst sind deterministisch. Muss nur richtig in der API konfiguriert werden. Sprachmodell können aber nicht wirklich mit Zahlen und Bits jonglieren. Es wäre möglich, eine syntaktische Beschreibungssprache wie JSON Graph oder ähnliches erzeugen zu lassen, woraus du Grafiken erstellen könntest. Je bekannter desto höher die Erfolgswahrscheinlichkeit. Es könnte nötig sein, zusätzliche Finetuning Schritte durchzuführen. Da hätte ich Zweifel, ob das für dich so einfach umsetzbar wäre.

Danke für die Rückmeldung. Bin im SAP-Umfeld unterwegs, aber klar es gibt für alles Bibliotheken. Die Frage war etwas unpräzise formuliert. Die Antwort hilft mir aber sehr weiter. 

Bearbeitet von daniel861

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...