Pomysły projektów na długie zimowe wieczory?
Pomysły projektów na długie zimowe wieczory?
Dla zabicia codziennej monotonii tli się we mnie chęć pokucowania[1]. Zastanawiam się co by można zrobić z wykorzystaniem FreeCAD-a i jednocześnie stworzyć coś pożytecznego.
Na początek przyszły mi do głowy dwie rzeczy:
1. czysto programowy: moduł fotogrametrii, integracja OpenMVG https://github.com/openMVG/openMVG/ Uzyskałem ładne efekty nawet tanim, 10-letnim cyfrakiem http://imgur.com/a/xQkaj Do szczęścia brakuje przyjaznego GUI, może by spróbować zrobić ładny moduł w FreeCAD-zie? Tutaj trochę problem leży w moich umiejętnościach, bo pomimo, że mam przy łóżku stos książek o C++ i Pythonie, to ciągle nie mogę znaleźć czasu na ich dobre zgłębienie (nie jestem programistą a konstruktorem) a i umysł chyba nieco mniej chłonny niż 10 lat temu...
2. programowo-sprzętowy: prosta obrabiarka CNC "Castorama edyszyn". Trochę zainspirował mnie ten post viewtopic.php?f=24&t=11684 ale mam chęć na coś bardziej niskopoziomowego, bez Arduino i kobylastych bibliotek i pewnie bez G-Codu. Wala się u mnie parę płytek z Atmegami i mały komputerek z LPT http://wkupiesila.blogspot.com/2015/01/ ... rator.html, który jest równie dobry (ostatnio nawet przeportowałem sobie na niego (z AVR) sterownik wyświetlacza PCF8833;).
Chciałbym wykorzystać Path z FreeCAD-a i implementację sterownika silników krokowych, wzorowaną na rasteryzacji - tylko zamiast pikseli byłyby kroki silników.To też pytanie czy warto bawić się w silniki bipolarne i duet L297 L298 (co kiedyś dla mnie działało https://wtryskpaliwa.wordpress.com/ukla ... echniczne/) czy iść na łatwiznę i w ULN2003 + silniki unipolarne.
[1] programowania, lutowania, skręcania i innych twórczych czynności
Może jakieś inne pomysły?
Zima zimna, wieczory długie, szkoda je przesypiać, lub tracić tylko na sączenie piwa.
Na początek przyszły mi do głowy dwie rzeczy:
1. czysto programowy: moduł fotogrametrii, integracja OpenMVG https://github.com/openMVG/openMVG/ Uzyskałem ładne efekty nawet tanim, 10-letnim cyfrakiem http://imgur.com/a/xQkaj Do szczęścia brakuje przyjaznego GUI, może by spróbować zrobić ładny moduł w FreeCAD-zie? Tutaj trochę problem leży w moich umiejętnościach, bo pomimo, że mam przy łóżku stos książek o C++ i Pythonie, to ciągle nie mogę znaleźć czasu na ich dobre zgłębienie (nie jestem programistą a konstruktorem) a i umysł chyba nieco mniej chłonny niż 10 lat temu...
2. programowo-sprzętowy: prosta obrabiarka CNC "Castorama edyszyn". Trochę zainspirował mnie ten post viewtopic.php?f=24&t=11684 ale mam chęć na coś bardziej niskopoziomowego, bez Arduino i kobylastych bibliotek i pewnie bez G-Codu. Wala się u mnie parę płytek z Atmegami i mały komputerek z LPT http://wkupiesila.blogspot.com/2015/01/ ... rator.html, który jest równie dobry (ostatnio nawet przeportowałem sobie na niego (z AVR) sterownik wyświetlacza PCF8833;).
Chciałbym wykorzystać Path z FreeCAD-a i implementację sterownika silników krokowych, wzorowaną na rasteryzacji - tylko zamiast pikseli byłyby kroki silników.To też pytanie czy warto bawić się w silniki bipolarne i duet L297 L298 (co kiedyś dla mnie działało https://wtryskpaliwa.wordpress.com/ukla ... echniczne/) czy iść na łatwiznę i w ULN2003 + silniki unipolarne.
[1] programowania, lutowania, skręcania i innych twórczych czynności
Może jakieś inne pomysły?
Zima zimna, wieczory długie, szkoda je przesypiać, lub tracić tylko na sączenie piwa.
Re: Pomysły projektów na długie zimowe wieczory?
Bardzo mi się podoba 1 i miałbym zastosowanie od ręki Projektuję komputer rowerowy opatry ma raspberry pi i zamiast modelować wszystkie elementy (gps, czujnik cisnienia/temp, akcelerometr, baterię, moduł ładowania, ekran itp) mógłbym operować na skanie i chmurze punktów albo zrobić modele na tej podstawie. Z pythonem chętnie pomogę (jest w miarę prosty, przynajmniej do pewnego momentu), C++ nie lubię i używam tylko jak muszę. Co do umysłu to tylko wykręt - jestem tego pewnien
Re: Pomysły projektów na długie zimowe wieczory?
Na pewno przy projekcie 1 jest szansa na szersze grono odbiorców.
Jak chcesz sprawdzić jak to działa, to tzw. rzadką chmurę punktów udawało mi się wygenerować tym skryptem Pythona https://github.com/openMVG/openMVG/blob ... line.py.in
To co jest na screenshotach, to gęsta (dense) chmura, którą się robi na bazie rzadkiej - niestety tu musiałem się posiłkować już dodatkowym oprogramowaniem, którego chciałbym uniknąć. I tu jest cały szkopuł...
Jak chcesz sprawdzić jak to działa, to tzw. rzadką chmurę punktów udawało mi się wygenerować tym skryptem Pythona https://github.com/openMVG/openMVG/blob ... line.py.in
To co jest na screenshotach, to gęsta (dense) chmura, którą się robi na bazie rzadkiej - niestety tu musiałem się posiłkować już dodatkowym oprogramowaniem, którego chciałbym uniknąć. I tu jest cały szkopuł...
Re: Pomysły projektów na długie zimowe wieczory?
Przez jakiś czas pracowałem z chmurą wygenerowaną przez skaner laserowy w autocadzie i dokladnie wiem czego tam brakuje. Nie mam chwilowo czasu popatrzeć w szczegóły, ale raspberry pi + kamera + FreeCAD i mógłby powstac bardzo ciekawy skaner 3D.
Masz jakies pliki z chmurą punktów kompatybilne z FreeCADem? W FreeCADzie jest Points wb, ale nie wiem czy i jak działa.
Masz jakies pliki z chmurą punktów kompatybilne z FreeCADem? W FreeCADzie jest Points wb, ale nie wiem czy i jak działa.
Re: Pomysły projektów na długie zimowe wieczory?
Zajrzyj do tego katalogu https://drive.google.com/folderview?id= ... sp=sharing
pliki structure* to sparse mesh, option-0000.ply to dense mesh. Niestety importer PLY FreeCAD-a nie daje sobie rady, choć to zwykły ASCII w stylu:
x y z red green blue
Otworzyłem więc plik PLY w Meshlabie i zapisałem jako XYZ (bez normalnych). Potem zmieniłem rozszerzenie na ASC (patrz option-0000.asc) i to już Point Workbench strawił. Niestety bez kolorów, bo pliki tego typu mają format
x y z
pliki structure* to sparse mesh, option-0000.ply to dense mesh. Niestety importer PLY FreeCAD-a nie daje sobie rady, choć to zwykły ASCII w stylu:
x y z red green blue
Code: Select all
0.0244736 -0.155054 -0.146626 0 255 0
Otworzyłem więc plik PLY w Meshlabie i zapisałem jako XYZ (bez normalnych). Potem zmieniłem rozszerzenie na ASC (patrz option-0000.asc) i to już Point Workbench strawił. Niestety bez kolorów, bo pliki tego typu mają format
x y z
Code: Select all
-0.414759 -1.206610 3.460400
Re: Pomysły projektów na długie zimowe wieczory?
OK, dzięki! Muszę popatrzeć w importer, kolory by się przydały. asc działa tak jak piszesz.
Re: Pomysły projektów na długie zimowe wieczory?
Wygląda na to, że mając tylko jeden obiekt (chmurę punktów), można mieć tylko jeden kolor.
Skleciłem skrypt, który otwiera plik PLY i wstawia każdy punkt jako osobny obiekt, razem z kolorem:
Niestety wydajność pozostawia wiele do życzenia, otwarcie czegokolwiek ponad 1000 punktów (f.readlines()[13:1000]) trwa wieczność - co jest zresztą oczywiste.. Pytanie jak zrobić wyświetlanie,kolorów bez osobnych obiektów, pewnie skończy się na napisaniu własnego viewprovidera.
Code: Select all
>>> import Points
>>> Points.open('3points.asc')
>>> p = App.ActiveDocument._points.Points
>>> p.Points
[Vector (-0.4147590100765228, -1.2066099643707275, 3.460400104522705), Vector (-0.41023901104927063, -1.2066999673843384, 3.462860107421875), Vector (-0.4029189944267273, -1.2068599462509155, 3.461899995803833)]
>>> vp = Gui.ActiveDocument.getObject("_points")
>>> vp.ShapeColor
(0.800000011920929, 0.800000011920929, 0.800000011920929, 0.0)
Code: Select all
import Part
f = open('option-0000.ply', 'r')
lines = f.readlines()[13:1000]
i = 0
for line in lines:
pos = [float(x) for x in line.split()]
App.ActiveDocument.addObject("Part::Vertex","Vertex"+str(i))
App.ActiveDocument.getObject("Vertex"+str(i)).X = pos[0]
App.ActiveDocument.getObject("Vertex"+str(i)).Y = pos[1]
App.ActiveDocument.getObject("Vertex"+str(i)).Z = pos[2]
FreeCADGui.ActiveDocument.getObject("Vertex"+str(i)).PointColor = (pos[6]/255.0, pos[7]/255.0, pos[8]/255.0)
i += 1
f.close()
Re: Pomysły projektów na długie zimowe wieczory?
Hmmm. w FemTools jest funkcja ktora przyjmuje liste id węzłow i listę wartości. Lista id wezłów jest z siatki fem, lista wartości to może byc cokolwiek. Ta lista wartości jest zamieniana na skale kolorów i jako rezultat otrzymujemy pokolorowaną siatkę.
Właśnie sprawdziłem, że węzły i krawędzie nie sa kolorowe, czyli mój pomysł, żeby użyć siatki FEM nie ma sensu, przynajmniej bez modyfikacji viewprovidera Kolorowe są tylko powierzchnie (Jaki jest polski odpowiednik słowa face??)
Właśnie sprawdziłem, że węzły i krawędzie nie sa kolorowe, czyli mój pomysł, żeby użyć siatki FEM nie ma sensu, przynajmniej bez modyfikacji viewprovidera Kolorowe są tylko powierzchnie (Jaki jest polski odpowiednik słowa face??)
Re: Pomysły projektów na długie zimowe wieczory?
Stawiałbym na "ściany", bo "facetki" mi nie leży...PrzemoF wrote:(Jaki jest polski odpowiednik słowa face??)
Re: Pomysły projektów na długie zimowe wieczory?
Ściana brzmi nieźle.. Czyli siatka MES ma kolorowe ściany, ale węzły zostają bez koloru