Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
zerach
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 08 wrz 2010, 00:06
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: zerach »

Witam
Na początku chciałbym zaznaczyć, że jestem zielony z programowania i dlatego proszę o wyrozumiałość.
Chciałbym wam zadać czysto hipotetyczne pytanie. Podejrzewam, że wielu z was zajmuje się programowaniem zawodowo więc będziecie w stanie zająć stanowisko w dyskusji.
Bardzo ubolewam nad tym, że w pośród wielu dostępnych na Linuksa aplikacji brakuje programów typu CAD 3D. Nie rozwodząc się nad przyczynami takiego stanu rzeczy chciałbym się was spytać:
  • ile waszym zdaniem trwały by pracę nad stworzeniem od podstaw aplikacji typu CAD 3D?
  • jak liczny musiał by być zespół programistów?
  • jaki język programowania doradzacie?
  • czy można by wykorzystać silnik graficzny np. z Blendera?
Pewnie wielu z was popuka się w głowę ale kwestia tworzenie takiej aplikacji nurtuje mnie od jakiegoś czasu.
Chciałbym też poinformować, że od najnowsza wersja programu Briscada V10 jest dostępna również na systemy linuksowe. Więcej informacji znajdziecie tutaj
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: ethanak »

zerach pisze::
ile waszym zdaniem trwały by pracę nad stworzeniem od podstaw aplikacji typu CAD 3D?
ok. 5 lat do pierwszej używalnej wersji (wersja optymistyczna)
jak liczny musiał by być zespół programistów?
Główny zespół - 10 osób przy założeniu niezmienności składu osobowego.
Oczywiście mówię tu o zespole programistów, a nie projektantów.
jaki język programowania doradzacie?
Taki jaki najlepiej znają programiści. Teoretycznie jest to C++/Java, praktycznie C++
czy można by wykorzystać silnik graficzny np. z Blendera?
Pewnie tak... można wykorzystać dowolny silnik graficzny. Akurat najlepszy byłby ten który znają programiści.
Pewnie wielu z was popuka się w głowę ale kwestia tworzenie takiej aplikacji nurtuje mnie od jakiegoś czasu.
Z jednej strony też bym sie w głowę popukał... ale znam parę projektów które były teoretycznie skazane na niepowodzenie w chwili powstania, a dziś się dobrze mają.

Ale tak szczerze - to radzę zmienić zainteresowania. Praktycznie nie widzę szans powodzenia takiego projektu.
Кто жопой родился, чижиком не помрёт
zerach
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 08 wrz 2010, 00:06
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: zerach »

Jestem raczej użytkownikiem takich programów i generalnie nie mam wyobrażenia o rozmiarach takiego przedsięwzięcia.
Ale co jest ciekawe. Wyciągnąłem mój malutki kalkulatorek i spróbowałem oszacować koszty. Z niewielkim marginesem wyszła mi okrągła suma 10 mln zł.
Myślę, że program CAD można porównać do Blendera (chociażby pod względem mnogości funkcji i pokrewieństwa stosowania). Należałby więc rozumieć, że stworzenie Blendera kosztowało dużo mln euro, a jak czytamy na wiki: "Uwolnienie" Blendera nastąpiło po odkupieniu przez Blender Foundation, za kwotę 100 000 euro, praw do programu od jego właścicieli (NaN holding)."
I nawet mało ważne tu się wydaje, że NaN ubiło kiepski interes, ale że program wart kupę kasy jest udostępniany na licencji GPL, co oczywiście cieszy i daje do myślenia.
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: luzakwielki »

zerach pisze:
  • ile waszym zdaniem trwały by pracę nad stworzeniem od podstaw aplikacji typu CAD 3D?
  • jak liczny musiał by być zespół programistów?
  • jaki język programowania doradzacie?
  • czy można by wykorzystać silnik graficzny np. z Blendera?
- Zależy od tego jacy to programiści - od roku do nieskończoności ;p
- Tyle na ile pozwoli budżet, ale dobrze byłoby, żeby nie mniej niż 10 (1x UI, 2x viewport, 3x zarządzanie zasobami, format pliku i danych w pamięci, 2x rendering, 2x narzędzia modelarskie i z 4x narzędzia wspomagające projektowanie i obliczanie - dodatkowo potrzeba projektantów i klepaczy, którzy przepiszą z książek wytrzymałości, elastyczności materiałów, oraz grafików do wykonania standardowych śrubek i innych elementów dostępnych na rynku).
- C++
- Mógłby... ale nie powiedziałbym, że jest to dobry pomysł ;p.
zerach pisze:Jestem raczej użytkownikiem takich programów i generalnie nie mam wyobrażenia o rozmiarach takiego przedsięwzięcia.
Ale co jest ciekawe. Wyciągnąłem mój malutki kalkulatorek i spróbowałem oszacować koszty. Z niewielkim marginesem wyszła mi okrągła suma 10 mln zł.
Myślę, że program CAD można porównać do Blendera (chociażby pod względem mnogości funkcji i pokrewieństwa stosowania). Należałby więc rozumieć, że stworzenie Blendera kosztowało dużo mln euro, a jak czytamy na wiki: "Uwolnienie" Blendera nastąpiło po odkupieniu przez Blender Foundation, za kwotę 100 000 euro, praw do programu od jego właścicieli (NaN holding)."
I nawet mało ważne tu się wydaje, że NaN ubiło kiepski interes, ale że program wart kupę kasy jest udostępniany na licencji GPL, co oczywiście cieszy i daje do myślenia.
( 10 mln / ( 5 * 12 miesiecy) ) / 10 programistów = 16,6 tysięcy
Jeśli pozyskałbyś programistów wartych takiej miesięcznej pensji to pewnie wyrobiliby się w 2 lata.
Blender nie ma pokrewnego zastosowania jak CAD (wręcz całkowicie odmienne), blender ma też mniej funkcji niż powinien mieć przyzwoity CAD. Blender w czasie kiedy został wykupiony to nie jest ten sam blender co dziś (był to bardzo ubogi program).
Założyciel NaN Ton Rossendaal i inwestorzy NaN zrobili dobry interes - NaN upadło i nie zarobiliby nic, a blender po prostu przestałby istnieć... pół roku później Ton dogadał się z inwestorami, że kod Blendera sprzedadzą za 100k euro (lepsze to niż nic), więc Ton stworzył Blender Fund. zrobił zbiórkę i wykupił "sam od siebie" Blendera. Teraz Ton jest szefem Blender Fund. opłaca siebie i innych programistów z funduszy BF i rozwija swoje dziecko na licencji GPL (i dalej ma decydujące zdanie w sprawie rozwoju blendera). Ta transakcja była opłacalna dla inwestorów, Tona i dla Nas - więc Nan ubiło świetny interes (alternatywą było bankructwo i brak jakiejkolwiek kasy).
Awatar użytkownika
warlock24
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 102
Rejestracja: 20 cze 2008, 22:35
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: warlock24 »

zerach pisze: jaki język programowania doradzacie?
Jeżeli to ma być poważna aplikacja, która nie może zbyt zamulać to napewno język kompilowany. Standardem w dzisiejszym świecie jest C/C++.
zerach pisze: czy można by wykorzystać silnik graficzny np. z Blendera?
Podejrzewam że programistów wiedzących jak działa blender od środka jest zdecydowanie mniej niż tych, którzy wiedzą jak działa OpenGL. Myślę że napisanie aplikacji od podstaw byłoby o wiele mniej pracochłonne w końcu blender to pewnie ok. 400 000 lini kodu, kto by się w nim połapał oprócz autorów?
zerach pisze: Pewnie wielu z was popuka się w głowę...
Gdy powstawało Wine ludzie też pukali :grin:
zerach pisze: Chciałbym też poinformować, że od najnowsza wersja programu Briscada V10 jest dostępna również na systemy linuksowe. Więcej informacji znajdziecie tutaj
To jakaś reklama przez pytanie, aby admini nie usunęli wątku? :razz:
zerach pisze: Z niewielkim marginesem wyszła mi okrągła suma 10 mln zł.
Dużo z tego to może być siła Open Source, dużo ludzi zgromadziło się w celu stworzenia czegoś nie domagając się zapłaty za swój wkład.
zerach pisze: Myślę, że program CAD można porównać do Blendera (chociażby pod względem mnogości funkcji i pokrewieństwa stosowania).
Wielu go porównuje właśnie do tego typu programów, zawsze zastanaiało mnie co różni programy CAD od bardzo zaawansowanych programów do grafiki 2D/3D.
Awatar użytkownika
borzole
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 127
Rejestracja: 10 sie 2010, 11:48
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: borzole »

* Zamiast tworzyć od podstaw, lepiej wspomóc (mogą być pieniążki ;) ) jeden z już istniejących projektów:
http://www.tech-edv.co.at/lunix/CADlinks.html .
* Istnieje projekt użycia Blender do CAD
http://projects.blender.org/projects/blendercad/
* Najszybciej jednak będzie, gdy duża firma przeportuje swój soft na linuxa.
zerach
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 08 wrz 2010, 00:06
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: zerach »

warlock24 pisze:... zawsze zastanaiało mnie co różni programy CAD od bardzo zaawansowanych programów do grafiki 2D/3D.
Moim zdaniem główne cechy programu CAD to:
- parametryzacja
Jeżeli przykładowo rysuje prostopadłościan o gabarytach a,b i c to muszę mieć możliwość narzucenia pewnych zależności np: a = 100, b = a * 0.5, c = b - a.
Jeżeli mam dwa elementy i wiązanie między nimi typu: odległość jednej płaszczyzny od drugiej to też chciałbym narzucić tam zależności
- wiązania geometryczne pomiędzy elementami z złożeniach
- możliwość tworzenia dokumentacji 2D

Producenci oprogramowania CAD tworzą dodatkowe moduły dla swoich programów np:
- generatory ram
- moduły do rysowania instalacji rurowych
- moduły MES
- moduły do inteligentnego wstawiania elementów typu: śrubka + nakrętka
- moduły do symulacji ruchu
- moduły do renderingu i inne

A wszystko to musi być maksymalnie proste w obsłudze.
Mark1
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 126
Rejestracja: 20 wrz 2010, 18:07
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: Mark1 »

Nie prawda, że nie ma CAD-a pod Linuxa. Jest SIEMENS NX !!! Jest PTC PRO/Engineer !!! - oba bardzo dobre, wręcz genialne. Jest też jakiś darmowy FreeCAD czy freeCAD (ale jeszcze system jest w powijakach, czeka ich sporo pracy). Jest też BRL-CAD ale nie byłem nim zachwycony :)

zerach - parametryczność w CAD to akurat prosta sprawa, jedna z prostszych rzeczy. Najtrudniejsza to te dodatkowe moduły (jak MES, DMU, render i inne). Zobacz pakiet CAELinux - na początek warto się z nim zaprzyjaźnić.

Jedyny język wart zainteresowania to C++ - ze względu na prędkość, wydajnosć.

Myślę, że zespołowi 10-15 osób zajmie przynajmniej kilka (7-10) dobrych lat żeby stworzyć dobrego CAD-a coś na wzór Inventora, SW czy SE i kolejne kilkanaście żeby dołożyć do tego moduły o których piszesz.

Program CalculiX (MES dla Windows i Linuxa) powstawał kilka lat, robiony przez speców z MTU Aero Engines. Jest dobry, ale zainstaluj go sobie i zobacz ile jeszcze mu brakuje !
... zawsze zastanaiało mnie co różni programy CAD od bardzo zaawansowanych programów do grafiki 2D/3D.
To co pisze zerach + dokładność wymiarowa. W programie graficznym wymiary są przybliżone lub wręcz "na oko". Projekt graficzny ma się podobać i wystarczy. Projekt z CAD-a idzie często na maszyny CNC i tam często z dokładnością do setnych częsci mm jest wytwarzany. Geometria w CAD-zie jest bardzo dokładnie opisana, z bardzo dużą dokładnością. Ponoć najlepszą dokładność zapewniają Siemens (UG) NX (w bryłach) i IBM/DS CATIA v5/v6 (w powierzchniach).

Ponadto - formaty danych CAD vs grafika znacznie się różnią.

Tak jak pisze luzakwielki - stosowanie Blendera czy innego programu graficznego jako podstawę do powstania CAD mija się z celem...
Windows 7 & Ubuntu & Fedora powered by INTEL Core i7.
Android OS powered by SE Xperia X8.
Ubuntu for Netbook powered by INTEL Atom
Awatar użytkownika
tsr
Sędziwy Jeż
Sędziwy Jeż
Posty: 82
Rejestracja: 23 wrz 2005, 23:28
Płeć: Mężczyzna
Wersja Ubuntu: 22.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Katowice
Kontakt:

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: tsr »

Są jeszcze takie ciekawe programy CAD 3D:
VariCAD http://www.varicad.com/en/home/
GraphiteOne 3D CAD http://www.graphiteone-cad.com/
Słowianin
Awatar użytkownika
pixelenter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 194
Rejestracja: 31 gru 2009, 15:41
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: pixelenter »

Trochę odchodzimy od tematu. Kolega chciał się dowiedzieć jak zabrać się za pisanie programu CAD, oraz co taki program powinien mieć.
http://uwolnijlaptopa.pl
http://counter.li.org/cgi-bin/certificate.cgi/528644
Mark1
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 126
Rejestracja: 20 wrz 2010, 18:07
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: Mark1 »

Trochę odchodzimy od tematu. Kolega chciał się dowiedzieć jak zabrać się za pisanie programu CAD, oraz co taki program powinien mieć.


Jak zabrać się to już dostał odpowiedź - usiąść do nauki C++, jest to IMO jedyny wart zainteresowania język dla CAD-a, a szczególnie MES.

A co taki program powinien mieć - to mam wrażenie, że autor wątku chyba dobrze to wie, w końcu sam wymienił potrzebne moduły. W razie czego służę pomocą :)

Generalnie system CAD pod linuxa, powinien mieć to co CAD pod windoze :) Wystarczy się przyjrzeć średniej półce CADów (Solidworks, Solidedge, Inventor) i już wszystko jest jasne. Gorzej z wykonaniem tego, tj. zakodowaniem. To robota na kilka(naście) dobrych lat w zależności od wielkości i doświadczenia zespołu programistycznego i budżetu projektu.
Windows 7 & Ubuntu & Fedora powered by INTEL Core i7.
Android OS powered by SE Xperia X8.
Ubuntu for Netbook powered by INTEL Atom
zerach
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 08 wrz 2010, 00:06
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: zerach »

Zobacz pakiet CAELinux - na początek warto się z nim zaprzyjaźnić.
Zaprzyjaźniam się właśnie i jestem mile zaskoczony bogactwem programów tam zawartych. Warto dodać, że najnowsza wersja CEALinux 2010 została oparta na Ubuntu 10.04.
Chciałbym też poinformować, że od najnowsza wersja programu Briscada V10 jest dostępna również na systemy linuksowe. Więcej informacji znajdziecie tutaj
Nie chciałem tu nic reklamować :) O ile dobrze pamiętam to ostatnia dostępna wersja BriscCAD'a na Linuxa była w wersji V6 wydana kilka, a może kilkanaście lat temu. Chciałem więc poinformować, bo być może nie wszyscy wiedzą, że wznowiono rozwój BriscCAD dla systemów linuksowych. Mam nadzieje, że to początek nowej tendencji i inne firmy taki pomysł "podchwycą".

Wracając do tematu. Znam programy VariCAD i FreeCAD. Oczywiście dużo im brakuje ale dobrze, że są. (Kilka lat temu nawet zastanawiałem się nad kupne VariCAD'a. O ile dobrze pamiętam cena była zachęcająca - ok 1600 zł)

Raczej nie zamierzam pisać nowego CAD'a na linuxa. Nie mam głowy do programowania i podejrzewam, że życia by mi na to nie starczyło. Chciałem jedynie orientacyjnie wiedzieć jak wielki i kosztowny jest taki projekt. Z waszych wypowiedzi wnioskuję, że jest to dość karkołomne przedsięwzięcie.
Gdyby jednak udało się zdobyć fundusze (czynnik krytyczny)... w głowie kołaczą mi się setki pomysłów jak taki program powinien wyglądać, co powinien zawierać itd.

Chciałbym się was teraz spytać czy znacie jakieś sposoby uzyskiwania funduszy na takie projekty. Wygrana we włoską loterią rozwiązała by problem, lecz trzeba być realistą. Jedyne co mi przychodzi do głowy to szukanie sponsora lub inwestora.
Awatar użytkownika
dawwin
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 202
Rejestracja: 18 kwie 2009, 09:16
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: dawwin »

zerach pisze: Chciałbym się was teraz spytać czy znacie jakieś sposoby uzyskiwania funduszy na takie projekty. Wygrana we włoską loterią rozwiązała by problem, lecz trzeba być realistą. Jedyne co mi przychodzi do głowy to szukanie sponsora lub inwestora.
Przede wszystkim musiałbyś przekonać ewentualnego sponsora, dlaczego to właśnie Twój projekt jest wart tych funduszy, a nie jakiś inny (bo istniejących już programów CAD jest troche i twój pomysł musiałby się naprawdę czymś wyróżnić)
Moje programy - http://dawwin.users.sourceforge.net/
Nie pomagam na PW
didek666
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 31 sie 2006, 22:02
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Kontakt:

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: didek666 »

Napisanie programu typu CAD od podstaw bez dobrego projektu (czyli w tybie: sit&code) jest, jak na mój nos, praktycznie niemożliwe ze względu na wiele problemów które pojawią się po drodze, czyli bez projektu ani rusz.
Zdecydowanym pretendentem do pisania tego typu aplikacji jest C++ z OpenGL. Zdecydowanym, Blendera można użyć - ale kto chce się jego uczyć za nic?
Budżet takiego przedsięwzięcia liczę na niemało 200k pln. Jak dobrze pójdzie, nie licząc, że musisz wykarmić programistów, projektantów i koordynatora.
Dlatego właśnie nie ma konkretnych CAD 3D na linuksa.
Niepełny informatyk\przyczajony troll...
Awatar użytkownika
pixelenter
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 194
Rejestracja: 31 gru 2009, 15:41
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: pixelenter »

Dlatego lepiej wesprzeć jakiś inny program tego typu, zamiast pisać od NULL;
http://uwolnijlaptopa.pl
http://counter.li.org/cgi-bin/certificate.cgi/528644
zerach
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 08 wrz 2010, 00:06
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Tworzenie programu CAD od podstaw. Niezobowiązująca dyskusja.

Post autor: zerach »

...czyli bez projektu ani rusz.
To prawda. Ponadto wydaje mi się, że tworzenie nowego CAD'a 3D opartego na dzisiejszych standardach jakie oferują Inventor czy SolidWorks, z góry skazuje program na niepowodzenie. Za 10 lat będą one oferowały zupełnie nowe standardy. Nowy program musiał by być na tyle innowacyjny, aby w momencie wydania pierwszej wersji nie odstawał od innych. Trzeba więc myśleć z dużym wyprzedzeniem, co zwiększa zespół pracujący nad aplikacją o etat wróżki.
Dlatego lepiej wesprzeć jakiś inny program tego typu, zamiast pisać od NULL;
Na dzień dzisiejszy pewnie tak.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 14 gości