CAD Software coden (Allgemeines)

Julian @, Friday, 08.10.2021, 13:57 (vor 1142 Tagen)

Hi zusammen,

Ich wollte schon lange mal ein CAD-Programm programmieren für die Auswertungen von Messdaten für Ingenieur von Messungen, also bspw. bestandspläne.

Nächster Schritt wären dann auch punktwolken weil es hier für genügend Bibliotheken gibt.

Programmiersprachen mit denen ich bisher gecoded habe sind JavaScript und Python und da kommt auch schon die Frage welche Programmiersprache am besten geeignet ist.

Ich lese immer wieder dass Julia sehr performant ist und eine verständliche Alternative zu c++ ist.

Was würdest du empfehlen Michael? Gibt es schon fertige Bibliotheken für normale CAD Funktionen?

Avatar

CAD Software coden

MichaeL ⌂, Bad Vilbel, Saturday, 09.10.2021, 14:51 (vor 1141 Tagen) @ Julian

Hallo Julian,

Ich wollte schon lange mal ein CAD-Programm programmieren für die Auswertungen von Messdaten für Ingenieur von Messungen, also bspw. bestandspläne.

Respekt, sicher keine Aufgabe, die man mal so nebenbei macht zumindest wenn ich mir die Funktionalitäten moderner CAD-Applikationen so ansehe. Wenn Du es zunächst auf bestimmte, für Dich wichtige Aufgaben, begrenzt, ist es sicher einfacher. Insbesondere lassen sich so Fehler im Konzept schneller beheben bzw. korrigieren.

Nächster Schritt wären dann auch punktwolken weil es hier für genügend Bibliotheken gibt.

Hier wäre die Frage, was Du Dir vorstellst? Reicht die Visualisierung oder sollen aus den Punktdaten auch geometrische Objekte abgeleitet werden. Wird aus Punkten einer Ebene später eine Wand? Willst Du vor allem konstruieren mit dem CAD oder auch Ausgleichen? Bibliotheken gibt es sicher aber sicher wird in der Summe keine genau das machen, was Du suchst. Es bleiben also noch genügend TODOs für Dich. ;-)

Programmiersprachen mit denen ich bisher gecoded habe sind JavaScript und Python und da kommt auch schon die Frage welche Programmiersprache am besten geeignet ist.

Wenn Du schon mit der einen oder anderen Bibliothek liebäugelst, dann ist die Frage i.A. schnell beantwortet. Such Dir eine Sprache, die diese Bibliothek auch einsetzen kann. Meistens ist die Sprache nicht so wichtig. Performante und gute Programme entstehen nicht dadurch, dass Du C++, Java oder Python (Liste beliebig erweiterbar) verwendest, sondern weil Du beim Entwickeln auf die Performance achtest. Programmieren kann man in allen Sprachen schlecht. ;-)

Was würdest du empfehlen Michael?

Ich würde mir eine Sprache wählen, in der ich ggf. schon Erfahrungen habe oder bei der ich meine Erfahrungen leicht übertragen kann. Das erleichtert den Einstieg ungemein und letztlich spielt die Sprache keine wesentliche Rolle für die meisten Applikationen.

Ich entwickle in Java. Das liegt nicht daran, dass ich zuvor geschaut habe, was es noch gibt, sondern weil ich es im Studium einige Semester hatte. Java bot sich an, da ich dort meine Prüfung ablegen musste. JAG3D war somit auch Mittel zum Zweck. Programmieren lernt man nur durch programmieren und JAG3D war eins meiner Testprojekte, um in Java besser reinzukommen, aber auch um ein besseres Verständnis in der Parameterschätzung zu bekommen. Ich konnte so mehrere Sachen während meines Studiums verbinden.

Gibt es schon fertige Bibliotheken für normale CAD Funktionen?

Java kann zumindest direkt primitive Geometrien zeichnen. Diese Funktionalität bringt es von sich aus mit. Für ein CAD wird es vermutlich nicht reichen, da Du dort auch Schnittpunkte berechnen willst, Lotfußpunkte brauchst usw. Was es hier gibt, weiß ich nicht, da ich in diesem Bereich nicht sonderlich viel recherchiert habe.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

CAD Software coden

Julian @, Tuesday, 16.11.2021, 14:13 (vor 1103 Tagen) @ MichaeL

Hallo Julian,

Ich wollte schon lange mal ein CAD-Programm programmieren für die Auswertungen von Messdaten für Ingenieur von Messungen, also bspw. bestandspläne.


Respekt, sicher keine Aufgabe, die man mal so nebenbei macht zumindest wenn ich mir die Funktionalitäten moderner CAD-Applikationen so ansehe. Wenn Du es zunächst auf bestimmte, für Dich wichtige Aufgaben, begrenzt, ist es sicher einfacher. Insbesondere lassen sich so Fehler im Konzept schneller beheben bzw. korrigieren.

Nächster Schritt wären dann auch punktwolken weil es hier für genügend Bibliotheken gibt.


Hier wäre die Frage, was Du Dir vorstellst? Reicht die Visualisierung oder sollen aus den Punktdaten auch geometrische Objekte abgeleitet werden. Wird aus Punkten einer Ebene später eine Wand? Willst Du vor allem konstruieren mit dem CAD oder auch Ausgleichen? Bibliotheken gibt es sicher aber sicher wird in der Summe keine genau das machen, was Du suchst. Es bleiben also noch genügend TODOs für Dich. ;-)

Programmiersprachen mit denen ich bisher gecoded habe sind JavaScript und Python und da kommt auch schon die Frage welche Programmiersprache am besten geeignet ist.


Wenn Du schon mit der einen oder anderen Bibliothek liebäugelst, dann ist die Frage i.A. schnell beantwortet. Such Dir eine Sprache, die diese Bibliothek auch einsetzen kann. Meistens ist die Sprache nicht so wichtig. Performante und gute Programme entstehen nicht dadurch, dass Du C++, Java oder Python (Liste beliebig erweiterbar) verwendest, sondern weil Du beim Entwickeln auf die Performance achtest. Programmieren kann man in allen Sprachen schlecht. ;-)

Was würdest du empfehlen Michael?


Ich würde mir eine Sprache wählen, in der ich ggf. schon Erfahrungen habe oder bei der ich meine Erfahrungen leicht übertragen kann. Das erleichtert den Einstieg ungemein und letztlich spielt die Sprache keine wesentliche Rolle für die meisten Applikationen.

Ich entwickle in Java. Das liegt nicht daran, dass ich zuvor geschaut habe, was es noch gibt, sondern weil ich es im Studium einige Semester hatte. Java bot sich an, da ich dort meine Prüfung ablegen musste. JAG3D war somit auch Mittel zum Zweck. Programmieren lernt man nur durch programmieren und JAG3D war eins meiner Testprojekte, um in Java besser reinzukommen, aber auch um ein besseres Verständnis in der Parameterschätzung zu bekommen. Ich konnte so mehrere Sachen während meines Studiums verbinden.

Gibt es schon fertige Bibliotheken für normale CAD Funktionen?


Java kann zumindest direkt primitive Geometrien zeichnen. Diese Funktionalität bringt es von sich aus mit. Für ein CAD wird es vermutlich nicht reichen, da Du dort auch Schnittpunkte berechnen willst, Lotfußpunkte brauchst usw. Was es hier gibt, weiß ich nicht, da ich in diesem Bereich nicht sonderlich viel recherchiert habe.

Das ist super! In Python gibt es PythonOCC bzw. OpenCascade aber auch hier finde ich leider nicht viele Tutorials.

Schade das es von AutoCAD keine SDK gibt sonst könnte man hier mit viel größerer Einfachkeit sich sein eigenes CAD programm basteln :-).
Für AutoCAD selbst ist es auch wohl möglich Plugins mit vb.net zu programmieren aber ich hasse diese Programmiersprache!

Visual Basic hatte ich tatsächlich auch im Studium aber ich bin da schon sehr sehr lange raus! Das letzte was ich dort programmiert hatte, war ein Programm umd OSM Daten einzulesen und als Karte anzuschauen.:-|

Viele Grüße
Micha

CAD Software coden

rafl, Wednesday, 17.11.2021, 10:07 (vor 1102 Tagen) @ Julian

Hallo Julian,

hast du mal darüber nachgedacht, deine Ideen in das FreeCAD-Projekt einfließen zu lassen? Dann musst du nicht bei Null anfangen.
https://de.wikipedia.org/wiki/FreeCAD
https://www.freecadweb.org/?lang=de

CAD Software coden

Julian @, Wednesday, 17.11.2021, 10:22 (vor 1102 Tagen) @ rafl

Hallo Julian,

hast du mal darüber nachgedacht, deine Ideen in das FreeCAD-Projekt einfließen zu lassen? Dann musst du nicht bei Null anfangen.
https://de.wikipedia.org/wiki/FreeCAD
https://www.freecadweb.org/?lang=de

Das habe ich :-),

nur ist die GNU Lizenz soweit ich weiß zwar veränderbar, aber nicht kommerziell nutzbar und ich weiß nicht so recht wie ich bei so einem Umfangreichen programm hineinfinden soll.

Viele Grüße
Julian

Avatar

CAD Software coden

MichaeL ⌂, Bad Vilbel, Wednesday, 17.11.2021, 14:29 (vor 1102 Tagen) @ Julian

Hallo,

nur ist die GNU Lizenz soweit ich weiß zwar veränderbar, aber nicht kommerziell nutzbar

Diese Lizenz legt fest, wie mit dem Quellcode zu verfahren ist - spricht Offenlegung. Ob ein Programm privat oder kommerziell genutzt wird, wird durch diese nicht geregelt.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

RSS-Feed dieser Diskussion