daniel861
User
-
Registriert
-
Letzter Besuch
Reputationsaktivität
-
Das wäre der Ansatz, den ich auch wählen würde. TeXCAD 4.6 kann das auch (s. Beispiel).
https://texcad.sourceforge.io
-
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.
-
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.
-
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.