Wissens-Resourcen zur Entwicklung von CAD Software
-
Hallo,
ich bin aktuell auf der Suche nach guten Wissens-Quellen zur (2D-)CAD Software Entwicklung.
Hierbei suche ich nach allem was es gibt, also Bücher, Tutorials, Univorlesungen, ...
Ich würde mich freuen, wenn da evtl. jemand ein paar gute Tipps für mich hätte.
Vielen Dank und
MfGNils
Standard-Disclaimer: Nein, ich bin nicht zu Faul zum Suchen, ich bin lediglich auf der Suche nach Empfehlungen...
-
suchst du eher was zu UI programmierung, zur arhitektur von software (MVC) oder ueber die verwendung von apis? oder vielleicht spezielle CAD algorithmen wie z.b. boolean operations?
ein all umfassendes buch wird es vermutlich nicht geben, wenn du einzelne bereiche aufgreifst, hast du bessere chancen. zudem kannst du dir immer open source software anschauen, daraus kann man am lebenden objekt lernen, z.b. Blender3D
-
Es geht mir dabei tatsächlich nicht um 3D sondern um 2D.
Ich möchte mal ein wenig in dieses Gebiet hineinschnuppern und habe vor mir als Lernprojekt ein kleines Elektronik CAD zum Schaltplanentwurf/Platinenlayout zu schreiben (wohl gemerkt ohne Anspruch auf ein Fertigwerden, es geht mir lediglich darum zu lernen).
Hier suche ich im "Speziellen" nach allgemeinen (^^) Informationen zu der Grundidee des ganzen. Also z.B. was sind sinnvolle Ansätze um teils Mikrometer genaue Strukturen an einem Bildschirm darzustellen (sozusagen das Mapping von Strukturen wie Leiterbahnen auf Pixel). Wie realisiert man hierbei, dass man auf unterschiedlichen Zoom-Stufen arbeiten kann und die Größenverhältnisse beibehalten werden (gehört wohl eher zur Allgemeinen graphischen Datenverarbeitung als zu CAD aber naja). Solche Dinge
Hintergrundgedanke ist das Thema der "best practice", ich habe mittlerweile ein paar Jahre Erfahrung in der Softwareentwicklung und habe auch Ideen wie ich so etwas lösen könnte, mich würde aber einfach interessieren, was andere schon an Erfahrungen gesammelt haben in dem Bereich.
Eine Möglichkeit um genau zu definieren nach was ich suche, wäre ein Titel a la "Using OpenGL for CAD applications" ;).
Danke und
MfG
Nils
-
Du denkst viel zu konkret. Ich würde sagen, dir fehlen noch etliche Jahre Erfahrung, um mit so einem Projekt anzufangen.
Bücher oder Vorlesungen oder was auch immer zu der "Grundidee des ganzen" wirst du sicher nicht finden. Dazu gehört auch viel mehr als du vielleicht zu wissen glaubst. Um so konkrete Sachen wie "Mapping von Strukturen" auf Pixel geht es überhaupt nicht. Und wenn du das nach angeblich ein paar Jahren Softwareentwicklung (zumindest ich stell mir drunter etwas halbwegs professionelles und nicht die ersten Gehversuche eines Schülers vor) immer noch solche Fragen stellst, dann hast du was falsch gemacht.
Einen 2D Platinenlayouter stell ich mir übringes wesentlich einfacher vor, als ein 2D CAD Programm für Maschinenbau, das sollte durchaus ein realistisches Projekt sein (in einem gewissen Rahmen natürlich, man sollte die Anforderungen von Anfang an klar definieren und es damit nicht übertreiben), wenn du erstmal genügend Ahnung von Softwareentwicklung hast.
-
Mechanics schrieb:
Du denkst viel zu konkret. Ich würde sagen, dir fehlen noch etliche Jahre Erfahrung, um mit so einem Projekt anzufangen.
Bücher oder Vorlesungen oder was auch immer zu der "Grundidee des ganzen" wirst du sicher nicht finden. Dazu gehört auch viel mehr als du vielleicht zu wissen glaubst. Um so konkrete Sachen wie "Mapping von Strukturen" auf Pixel geht es überhaupt nicht. Und wenn du das nach angeblich ein paar Jahren Softwareentwicklung (zumindest ich stell mir drunter etwas halbwegs professionelles und nicht die ersten Gehversuche eines Schülers vor) immer noch solche Fragen stellst, dann hast du was falsch gemacht.
Einen 2D Platinenlayouter stell ich mir übringes wesentlich einfacher vor, als ein 2D CAD Programm für Maschinenbau, das sollte durchaus ein realistisches Projekt sein (in einem gewissen Rahmen natürlich, man sollte die Anforderungen von Anfang an klar definieren und es damit nicht übertreiben), wenn du erstmal genügend Ahnung von Softwareentwicklung hast.Wie kommst du darauf, dass mir hierbei Erfahrung fehlt, bzw. was lässt dich vermuten, dass das die ersten Gehversuche eines Schülers sind?
Um was geht es dabei deiner Meinung nach?Lass mich versuchen, das zu verdeutlichen: Angenommen, ich hätte alles Wissen, was ich brauche um ein Spiel zu entwickeln, habe aber keine Ahnung von KI (respektive das, was in einem Computerspiel so unter Künstlicher Intelligenz oft verstanden wird), würde jetzt aber gerne Anfangen, automatisch gesteuerte Gegner in das Spiel einzubauen. Dann bietet sich doch spontan z.B. ein Buch wie "AI for Game Developers" (ISBN 978-0-596-00555-9) an.
Analog meine Situation: Ich habe bereits eine gewisse Erfahrung in der Softwareentwicklung (wie viel, wie lang, wie gut sei mal alles dahingestellt) und habe in die Grafikprogrammierung mit OpenGL reingeschnuppert. Jetzt suche ich nach Informationen zu CAD Programmen.
Nicht mehr und nicht weniger. Vielleicht sollte ich eher an meiner Art mich auszudrücken arbeiten...
MfG
Nils
-
Es ist jedenfalls ziemlich unklar was für "Informationen" das genau sein sollen, die du da suchst...
Wenn du schonmal was mit OpenGL gemacht hast, dann weißt du ja wie du Linien malst und Zoomen kannst. Was genau hält dich davon ab, eben einfach mal so ein Zeichenprogramm zu basteln, wenn es dich doch so interessiert?
-
Irrenhaus schrieb:
Wie kommst du darauf, dass mir hierbei Erfahrung fehlt, bzw. was lässt dich vermuten, dass das die ersten Gehversuche eines Schülers sind?
Um was geht es dabei deiner Meinung nach?Das was ich gleich am Anfang geschrieben habe. Du denkst viel zu konkret, oder es hat zumindest den Eindruck. Was für Informatiker ganz wichtig ist, ist abstraktes Denken.
Niemand wird Bücher über so etwas konkretes wie "Programmierung von CAD Anwendungen" schreiben. Entweder schreibt man allgemeinere Bücher, oder konkretere. Natürlich schreibt man sehr viele Bücher über ganz konkrete Themengebiete, und ich hätte auch kein Problem damit gehabt, wenn du eine konkrete technische Frage gehabt hättest. Aber so wie du deine Frage formuliert hast, hab ich den Eindruck, du hättest nicht wirklich viel Erfahrung in richtigen (großen) Projekten.
Die Frage über das Zoomen oder genaue Zeichnen von Pixeln sind sehr konkret im Vergleich zu der sehr allgemeinen Frage nach der "Grundidee des Ganzen". Für die Grundidee sollte die Softwarearchitektur stehen. Da gibt es viele Bücher und viele Konzepte. Das hat auch nichts speziell mit CAD zu tun und da sollte man sich auf jeden Fall gut auskennen und auch einiges an Erfahrung haben, um sinnvolle Architekturen zu entwerfen. Ohne eine sinnvolle Architektur sind Probleme von vornherein vorprogrammiert. Und bevor man mit Softwarearchitekturen anfängt, sollte man natürlich die Grundlagen der Informatik wie z.B. Algorithmen und Datenstrukturen beherrschen und ein Gefühlt dafür entwickeln.
Wenn man soweit ist, stellt man eigentlich nur noch selten solche Fragen wie duIch will dir nur verdeutlichen, warum ich mit deiner Frage nichts anfangen kann. Dann kommt vielleicht noch auf konkretere, aber sehr wichtige Fragen, die dazu gehören. z.B. um die Mathematik hinter den typischen CAD Operationen. Oder Open GL im 2D Bereich. Oder in welche Datenstrukturen man am besten parametrische Modelle packt. Da können tausende von konkreten Fragen aufkommen, manche allgemeiner Natur, andere sehr speziell. Aber wenn du Fragen nach Zoomstufen stellst, ist es zum einen trivial (ich bin schon als Schüler zig mal mit solchen Fragen in Berührung gekommen, als Student sowieso und in der Arbeit auch, da darf ich doch annehmen, dass jemand mit ein bisschen Erfahrung solche Fragen eben nicht stellt) zum anderen zeugt es davon, dass du eine falsche Sichtweise auf die Gesamtproblematik hast.