Dutch Blender Community

Creaties => Onderhanden werk => Topic gestart door: ExLibris op 06 december 2020, 21:01:25 pm

Titel: Van een database naar een animatie
Bericht door: ExLibris op 06 december 2020, 21:01:25 pm
Professioneel werk ik met een pakket dat SAS heet. Het is bedoeld voor datawarehousing en data analyse. Als hobby vind ik het leuk om met Blender te spelen. Tot nu hadden deze twee pakketten eigenlijk geen overlap, maar ik heb nu het idee om deze met elkaar te gaan verbinden. Wat ik eigenlijk wil is dat aan de hand van een dataset en parameters ik een complete animatie in Blender zou moeten kunnen genereren. Vrijwel alles moet dan dus procedureel zijn, want ik weet van tevoren niet welke waarden de dataset zal gaan bevatten.

Voor zover ik het nu kan bedenken moet ik dus oplossingen zoeken voor de volgende stappen:

- Zet database om in een leesbaar formaat voor Blender (CSV, Json)
- Genereer aan de hand van de data en parameters een Python script dat in Blender: objecten aanmaakt, materialen toevoegt, objecten animeert, camera bedient, animatie genereert, et cetera.
- Ik wil graag staafdiagrammen, lijndiagrammen, heat maps, pie charts en kaartjes kunnen maken.
- Ik wil kijken of ik de objecten zelf ook kan animeren
- Ik wil dmv een parameter de sfeer, kleurgebruik, bedrijfslogo en dergelijke aan kunnen passen, misschien kan ik hiervoor templates maken.
- Laat via de command line de animatie genereren
- Voeg verschillende animaties samen tot een filmpje

Eigenlijk wil ik heel deze pipeline met de druk van een knop uit kunnen voeren of elke dag kunnen schedulen.

Een animatie als dit zou kunnen draaien op een website, een powerpoint,  of op een informatiebord achter een balie of zo.

Om hier mee een start te maken, ben ik begonnen met Python in Blender. Ik had tot zo ver eigenlijk nog nooit met Python gewerkt (wel veel geprogrammeerd in andere talen). Vandaag heb ik dus de stoute schoenen aangetrokken en ben begonnen met het leren van Python. Ik wilde aan de hand van parameters helemaal procedureel een 3D staafdiagram maken .

Tot zo ver ben ik nu gekomen:


(https://i.postimg.cc/nXt8ZCWR/First-test.png) (https://postimg.cc/nXt8ZCWR)


Om dit te genereren gebruik ik de volgende Python code. Waarbij ik alleen van tevoren drie materialen heb aangemaakt
-Bar_GYR_noframe
-Plane
-Text

Op termijn moeten deze ook helemaal procedureel worden.

Voor de hoogte van de bars en de tekstelementen moet straks een CSV of Json uitgelezen worden, nu zijn de waarden nog random, dus elke keer als ik het script uitvoer ziet de staafdiagram er weer anders uit.
:

import bpy
import random
from math import radians

#Start with a clean environment


bpy.ops.object.select_all(action='SELECT')


bpy.ops.object.delete(use_global=False)

#Set parameters

numbars=10

#Add objects

#Plane

bpy.ops.mesh.primitive_plane_add(size=100, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
mat = bpy.data.materials.get("Plane")
bpy.context.active_object.data.materials.append(mat)
#Lights

bpy.ops.object.light_add(type='POINT', radius=10, align='WORLD', location=(0, 0, 5), scale=(1, 1, 1))
bpy.context.object.data.energy = 1000

bpy.ops.object.light_add(type='POINT', radius=10, align='WORLD', location=(6, 3, 5), scale=(1, 1, 1))
bpy.context.object.data.energy = 100

#Camera

bpy.ops.object.camera_add(enter_editmode=False, align='VIEW', location=(25 , -15 , 12 ),
rotation=(radians(78), 0, radians(44)), scale=(1, 1, 1))


bpy.context.scene.cursor.location = (0,0,0)

for f in range (0, numbars):
    height=random.randint(1,500)/100
    print (height)
    bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD',
    location=(0,0,1), scale=(1, 1, 1))
   
    bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
   
    bpy.ops.transform.resize(value=(1, 1, height), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

    bpy.ops.transform.translate(value=(0, (f*2.3), 0.1), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, True, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
    mat = bpy.data.materials.get("Bar_GYR_noframe")
    bpy.context.active_object.data.materials.append(mat)

   
#    Add a bevel to the mesh
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.mesh.bevel(offset=0.03, offset_pct=0, segments=5, release_confirm=True)

    bpy.ops.object.mode_set(mode = 'OBJECT')
    bpy.ops.object.shade_smooth()
   

   
    bpy.ops.object.text_add(enter_editmode=False, align='WORLD', location=(1, (f*2.3), 0.1), scale=(1, 1, 1))
    mat = bpy.data.materials.get("Text")
    bpy.context.active_object.data.materials.append(mat)
    bpy.context.object.data.body = "Object "+str(f)


Titel: Re: Van een database naar een animatie
Bericht door: IJpe op 07 december 2020, 13:40:09 pm
Dit gaat allemaal boven mijn pet maar we hebben hier het lid PKHG en dat is Peter die is helemaal weg van Python.
Ik hoop dat Peter dit topic ziet.
Maar in ieder geval succes met je project.
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 08 december 2020, 18:09:21 pm
Gisteravond weer een stukje verder gekomen. Ik heb een tamelijk willekeurig open source bestand gedownload. In mijn geval het COVID-19 rioolwaterbestand van de RIVM.

https://data.rivm.nl/covid-19//

Dat ziet er ongeveer zo uit:

Date_measurement,RWZI_AWZI_code,RWZI_AWZI_name,X_coordinate,Y_coordinate,Postal_code,Security_region_code,Security_region_name,Percentage_in_security_region,RNA_per_ml,Representative_measurement,RNA_flow_per_100000

2020-03-30,32002,Tilburg,132554,401565,5048TD,VR20,Midden- en West-Brabant,1,1837,TRUE,

2020-03-31,3010,Assen,234705,558203,9403AK,VR03,Drenthe,1,2254,TRUE,

2020-03-31,1033,Garmerwolde,240219,585040,9798TC,VR01,Groningen,1,427,TRUE,

2020-03-31,2032,Harlingen,159027,576146,8861KT,VR02,Friesland,1,869,TRUE,

2020-03-31,2011,Leeuwarden,184401,578940,8937AN,VR02,Friesland,1,424,TRUE,

2020-03-31,1008,Stadskanaal,260571,559393,9501LH,VR01,Groningen,1,200,TRUE,

Omdat deze data ook de X- en Y coördinaten (Rijksdriehoeksmeting, https://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten (https://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten)) van de rioolzuiveringsinstallaties bevat, had ik het idee om deze te plotten op een kaartje van Nederland. Op termijn wil ik de bars laten animeren en door de scene vliegen bijvoorbeeld en een animatie per veiligheidsregio maken.

Dit is het voorlopige resultaat. Alles wordt door het Python script gegenereerd (ik gooi alle objecten weg zodra het script start), behalve de materialen.


(https://i.postimg.cc/jLfnStbk/First-test3.png) (https://postimg.cc/jLfnStbk)
Titel: Re: Van een database naar een animatie
Bericht door: koos2 op 08 december 2020, 19:41:01 pm
Knap hoor, enige jaloersheid voel ik nu wel.
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 08 december 2020, 20:36:23 pm
Knap hoor, enige jaloersheid voel ik nu wel.

Zouden jullie het leuk vinden als ik een Youtube filmpje maak of een keer een uitleg geef in Teams of zo? Dan moet ik wel al wat verder zijn dan nu vind ik, ik ben nog teveel aan het prutsen en uitproberen op het moment.
Titel: Re: Van een database naar een animatie
Bericht door: koos2 op 09 december 2020, 08:38:31 am
Ik zou het erg leuk vinden. Waarschijnlijk ga ik begin volgend jaar met pensioen en bij leven en welzijn wil ik me dan ook in Python verdiepen. De koppeling met data is iets wat natuurlijk heel veel mogelijkheden biedt
Titel: Re: Van een database naar een animatie
Bericht door: IJpe op 09 december 2020, 10:32:42 am
Python is niets voor mij maar ik ga het wel allemaal bekijken dus laat de filmpjes maar komen. ;)
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 14 december 2020, 18:54:54 pm
Ik ben weer een klein stukje verder met mijn projectje.

Aan de hand van deze dataset kan ik nu een animatie genereren.
PROVINCIE,X_COORD,Y_COORD,VALUE
Drenthe,245714,538526,12
Flevoland,154396,488875,4
Friesland,175888,569005,9
Gelderland,194384,445695,15
Groningen,232156,577293,3
Limburg,192459,348430,17
Noord-Brabant,144019,397916,16
Noord-Holland,120887,514113,4
Overijssel,224788,486575,7
Utrecht,140965,453928,5
Zeeland,35089,380734,11
Zuid-Holland,92964,441994,9

De textures zijn nog niet automatisch gegenereerd en de camera wil ik ook nog laten bewegen. Verder wil ik ook automatisch kunnen inzoomen, dus als ik een bijbehorende set heb van gemeentes, dat dan per provincie ingezoomd wordt om de gemeentes te laten zien. In principe zou ik met een set van gemeentes eigenlijk al voldoende hebben bedenk ik me nu. Hiermee kan ik 3 niveaus laten zien: heel Nederland, de provincies en de gemeentes.  Stel dat een animatie per niveau 10 seconden duurt zou ik dan 10 (Nederland)+10 (alle provincies)+10x12 (alle gemeenten per provincie) = 140 seconden aan animatie genereren., met maar 1 waarde.

Stand van zaken:


- Zet database om in een leesbaar formaat voor Blender (CSV, Json)
- Genereer aan de hand van de data en parameters een Python script dat in Blender: objecten aanmaakt, materialen toevoegt, objecten animeert, camera bedient, animatie genereert,, materialen genereert, et cetera.
- Ik wil graag staafdiagrammen, lijndiagrammen, heat maps, pie charts en kaartjes kunnen maken.
- Ik wil kijken of ik de objecten zelf ook kan animeren
- Ik wil dmv een parameter de sfeer, kleurgebruik, bedrijfslogo en dergelijke aan kunnen passen, misschien kan ik hiervoor templates maken.
- Laat via de command line de animatie genereren
- Voeg verschillende animaties samen tot een filmpje
- Automatisch inzoomen

https://youtu.be/YLhMW79fOQg
Titel: Re: Van een database naar een animatie
Bericht door: koos2 op 17 december 2020, 18:52:25 pm
Fantastisch gemaakt. Alleen ik zie dat de staaf die het hoogste komt op de plek staat waar de ouders van de vriendin van mijn zoon wonen. Hopelijk weten ze de corona buiten de deur te houden.
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 17 december 2020, 19:42:46 pm
Fantastisch gemaakt. Alleen ik zie dat de staaf die het hoogste komt op de plek staat waar de ouders van de vriendin van mijn zoon wonen. Hopelijk weten ze de corona buiten de deur te houden.

De exacte plaatsen tov van de kaart kloppen nog niet helemaal, maar dat is nu van minder belang. De hoogte van de staven heb ik nu zelf ingegeven als testje. Mijn render zegt dus helemaal niks :). 
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 21 december 2020, 18:43:31 pm
Dit gaat allemaal boven mijn pet maar we hebben hier het lid PKHG en dat is Peter die is helemaal weg van Python.
Ik hoop dat Peter dit topic ziet.
Maar in ieder geval succes met je project.

Ja, het klopt, ik heb al een heleboel ervaring met Python (en Blender en Gimp) ,  het een of ander vergeten
omdat bijde programmas helemaal vernieuwd zijn, Maar in princiepe  ... ;-)

Ik ga nu eerst een keer lezen wat je geschreven hebt ExLib ;-0
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 21 december 2020, 19:37:37 pm
Heb het eerst script maar gedraaid, dat ziet er goed uit!
(https://i.postimg.cc/0rNfDjd5/animatie-Ex-Libirs.jpg) (https://postimg.cc/0rNfDjd5)

Je hebt toch de Scripting interface gebruikt?

de data ... die ik zag sahen er van hier gedoenload vreemd uit , ik kijk er morgen na ...

Groetjes
        Petet (opa)
`
oh de data zijn actueel van https://data.rivm.nl/covid-19//  super!
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 22 december 2020, 18:37:30 pm
Ik ben weer een stukje verder gekomen. Ik heb een svg-file van Nederland gedownload en omgezet naar een mesh. Met de volgende code kan ik dus nu de camera van provincie naar provincie laten vliegen (ik ben alleen Utrecht en Flevoland ergens onderweg kwijtgeraakt). De camera gaat alleen objecten af die in de collection "Nederland" staan.

https://freesvg.org/cafuego-nederland (https://freesvg.org/cafuego-nederland)

https://youtu.be/xKCphL4hzNI

import bpy

collection_object='Nederland'
empty_object='Empty'

#clear motion data
bpy.data.objects[empty_object].animation_data_clear()

bpy.context.scene.frame_end = 2400
curframe = int(0)
bpy.context.scene.frame_set(curframe)


for obj in bpy.data.collections[collection_object].all_objects:
    bpy.context.scene.frame_set(curframe)

#    Select current object
    object=str(obj.name)
    bpy.context.view_layer.objects.active = bpy.data.objects[object]
   
    province = bpy.data.objects[object]
    empty = bpy.data.objects[empty_object]
    empty.location = province.location
   
    empty.keyframe_insert(data_path="location")
   
    bpy.context.scene.frame_set(curframe)
    empty.keyframe_insert(data_path="location")
    curframe=bpy.context.scene.frame_current +100
    bpy.context.scene.frame_set(curframe)
   




Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 22 december 2020, 19:04:13 pm
Je bent snel gevorderd met Blender , in zijn mogelijkheden.
Camera besturen ... Pet af!

Ik kijk morgen naar je script ...
vanavond gaat het niet meer ...

Fijne avond nog
       Peter
(https://i.postimg.cc/DWRZk11y/cafuego-Nederland.jpg) (https://postimg.cc/DWRZk11y)


Dit plaatje als achtergrond in Blender gebruiken?
En dan daar de zuilen laten groeien?'

En er een addon van maken? Een besturing bedenken?

Kan er in princiepe bij helpen
(naar youtoube .... ooit EEN keer gedaan om iets te laten zien, ik dacht met
geodesic domes , via de preferences in Blender nieuwste versie is geodesic domes nog altijd aanwezig ;-) .

Iets van mij, hi hi gevonden:
https://www.youtube.com/watch?v=ko8oWxptcKE
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 23 december 2020, 13:47:09 pm




Dit plaatje als achtergrond in Blender gebruiken?
En dan daar de zuilen laten groeien?'

En er een addon van maken? Een besturing bedenken?

Kan er in princiepe bij helpen
(naar youtoube .... ooit EEN keer gedaan om iets te laten zien, ik dacht met
geodesic domes , via de preferences in Blender nieuwste versie is geodesic domes nog altijd aanwezig ;-) .



Mooi filmpje, ben wel benieuwd hoe je dat gedaan hebt.

Ik ben er nog niet helemaal uit waar het naartoe gaat met mijn knutselwerk. Wie weet kan ik er een add on of zo voor maken. Mijn eerste idee was om door middel van externe data bijvoorbeeld elke nacht automatisch een animatie te kunnen renderen met de laatste cijfers van een bedrijf of zo. Dat zou dan bijvoorbeeld op een display achter de balie kunnen draaien of bij een beurs of zo. Helemaal gaaf zou het dan zijn als je live een logo en bedrijfskleuren kan toevoegen en klanten een op maat gemaakt filmpje kan toezenden.

Geen idee of het zo ver komt. Eerst wil ik weten wat er allemaal mogelijk is en vervolgens de boel snappen, zodat ik het ook zelf kan maken en onder controle kan hebben. Als het hierbij blijft is het ook goed...
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 23 december 2020, 16:24:18 pm
Lang geleden dat filmpje bij youtube ... weet het niet meer precies. Maar moet te herhalen zijn ...  EEN keer gedaan, dan MOET dat herhaald kunnen worden, hi hi.

ExLibris, heb je al een van de (alleen) met Blender gemaakte films gezien?
Zoek maar b.v. naar Spring Blender Films ik denk dit zou het kunnen worden:
https://www.youtube.com/watch?v=WhWc3b3KhnY&t=45s


En er kunnen ook andere dingen met Blender EN zoals je al weet, bijna alles via Python te bereiken ...

En als we echt iets met samen werken aan tot stand zouden brengen is het uitwisselen van *.blend files nodig.

Ik heb via mijn www-provider de mogelijkheid om *.blend files accesseerbaar (downloaden) te maken. Voordeel: heel erg privé , zonder dat men cookies en weet ik wat moet toelaten (privé gegevens om te vermarkten, heb ik een hekel aan)

Films maken is zeker met Blender mogelijk ...
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 23 december 2020, 16:39:51 pm
Lang geleden dat filmpje bij youtube ... weet het niet meer precies. Maar moet te herhalen zijn ...  EEN keer gedaan, dan MOET dat herhaald kunnen worden, hi hi.

ExLibris, heb je al een van de (alleen) met Blender gemaakte films gezien?
Zoek maar b.v. naar Spring Blender Films ik denk dit zou het kunnen worden:
https://www.youtube.com/watch?v=WhWc3b3KhnY&t=45s


En er kunnen ook andere dingen met Blender EN zoals je al weet, bijna alles via Python te bereiken ...

En als we echt iets met samen werken aan tot stand zouden brengen is het uitwisselen van *.blend files nodig.

Ik heb via mijn www-provider de mogelijkheid om *.blend files accesseerbaar (downloaden) te maken. Voordeel: heel erg privé , zonder dat men cookies en weet ik wat moet toelaten (privé gegevens om te vermarkten, heb ik een hekel aan)

Films maken is zeker met Blender mogelijk ...

Het is jammer dat je niet gewoon hier op de site blender files kan uploaden. Dit soort projectjes zijn nog lang niet goed genoeg om via blendswap beschikbaar te maken. Google docs of Github zijn natuurlijk wel opties.

Ik heb wel al 2 gescande modellen op Blendswap staan: https://blendswap.com/profile/1019335/blends (https://blendswap.com/profile/1019335/blends)
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 23 december 2020, 18:40:31 pm
Heb het tutorial voor de lens met tekst erachter gevonden:

https://www.youtube.com/watch?v=jnAsjyRq854

Dat heb ik duidelijk jaren geleden gebruikt, zo te zien, hi hi.

Er is een MAAR, het is voor een oude Blender (2.7 ...) en in 2.90.1  en dat is wel even lastig, het begin (te vertalen) is wel gelukt, maar eerst het maken van de lens, en die goed laten verschijnen (nog niet) ik zal het voor 2.90.1 samenvatten (via text, misschien ook met plaatjes) ... als Python Notebook.

Prettige avond
      Peter
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 02 januari 2021, 11:59:30 am
Beste wensen voor 2021  :)

Python kan in principe externe www-data ophalen, of  dat met Blender kan, weet ik (nog) niet, men heeft de ... daarvoor nodig.
MAAR men moet dan misschien Python direct gebruiken en de data op een voor Blender bekende plaats opslaan. Een (minimaal) tweetraps raket.

Welke data (www adressen van verder boven?) of ander ...
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 02 januari 2021, 14:41:46 pm
Happy New Year 2021,

Hi exibris, kun je wget gebruiken?  Data voor blender binnenslepen?!
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 03 januari 2021, 10:02:05 am
Hi Exlibris, men kan met Python wel websites benaderen (bijna al gelukt) en dan de info in een lokaal bestand opslaan (misschien iets aangepast), wat men dan met Blender python kan lezen en inbouwen.

Had al twee keer op Reageer geklikt, maar dat is hier helaas niet verschenen. nu maar Snel beantwoorden ;-)M

Nee was eigen domme fout van mij moest op de 2 klikken  :-\
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 03 januari 2021, 11:24:42 am
Hi Exlibris, men kan met Python wel websites benaderen (bijna al gelukt) en dan de info in een lokaal bestand opslaan (misschien iets aangepast), wat men dan met Blender python kan lezen en inbouwen.

Had al twee keer op Reageer geklikt, maar dat is hier helaas niet verschenen. nu maar Snel beantwoorden ;-)M

Nee was eigen domme fout van mij moest op de 2 klikken  :-\

Ik heb dit al aan de praat, in mijn geval met COVID data:

import bpy
import requests
import os

site='https://data.rivm.nl/covid-19//'
path=bpy.path.abspath('//')

def download_text_from_web(file):
   f = open(path+'data/'+file, "w")
   r = requests.get(site+file)
   
   for line in r.text.split("\n"):
        parts = line.rstrip()
        print(parts, file=f)
   f.close()
   
download_text_from_web('COVID-19_rioolwaterdata.csv')   
download_text_from_web('COVID-19_aantallen_gemeente_cumulatief.csv')
download_text_from_web('COVID-19_aantallen_gemeente_per_dag.csv')
download_text_from_web('COVID-19_casus_landelijk.csv')
download_text_from_web('COVID-19_gedrag.csv')
download_text_from_web('COVID-19_gehandicaptenzorg.csv')
download_text_from_web('COVID-19_thuiswonend_70plus.csv')
download_text_from_web('COVID-19_verpleeghuizen.csv') 
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 03 januari 2021, 15:21:41 pm
exlibris, welke Blender versie was dit?
Werkt bij 2.90.1 NIET!

Heb bij mij een subdirectory datacvs aangemaakt en de script werd nu:
import bpy
import requests
import os
import sys
site='https://data.rivm.nl/covid-19//'
#path=bpy.path.abspath('//')
sys.path.append('c:\\Users\Eigenaar\datacvs')
path = sys.path[-1]
def download_text_from_web(file):
   f = open(path+'\\'+file, "w")
   r = requests.get(site+file)
   
   for line in r.text.split("\n"):
        parts = line.rstrip()
        print(parts, file=f)
   f.close()
   
download_text_from_web('COVID-19_rioolwaterdata.csv')   
download_text_from_web('COVID-19_aantallen_gemeente_cumulatief.csv')
download_text_from_web('COVID-19_aantallen_gemeente_per_dag.csv')
download_text_from_web('COVID-19_casus_landelijk.csv')
download_text_from_web('COVID-19_gedrag.csv')
download_text_from_web('COVID-19_gehandicaptenzorg.csv')
download_text_from_web('COVID-19_thuiswonend_70plus.csv')
download_text_from_web('COVID-19_verpleeghuizen.csv') 
en alle CVS binnen ;-)

gewone text bestanden zo lijkt het voorbeeld ( start ...)

Date_of_report;Municipality_code;Municipality_name;Province;Total_reported;Hospital_admission;Deceased
2020-03-13 10:00:00;GM0003;Appingedam;Groningen;0;0;0
2020-03-13 10:00:00;GM0010;Delfzijl;Groningen;0;0;0
2020-03-13 10:00:00;GM0014;Groningen;Groningen;3;0;0
2020-03-13 10:00:00;GM0024;Loppersum;Groningen;0;0;0
2020-03-13 10:00:00;GM0034;Almere;Flevoland;1;1;0

Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 03 januari 2021, 20:42:33 pm
exlibris, welke Blender versie was dit?
Werkt bij 2.90.1 NIET!

Heb bij mij een subdirectory datacvs aangemaakt en de script werd nu:
import bpy
import requests
import os
import sys
site='https://data.rivm.nl/covid-19//'
#path=bpy.path.abspath('//')
sys.path.append('c:\\Users\Eigenaar\datacvs')
path = sys.path[-1]
def download_text_from_web(file):
   f = open(path+'\\'+file, "w")
   r = requests.get(site+file)
   
   for line in r.text.split("\n"):
        parts = line.rstrip()
        print(parts, file=f)
   f.close()
   
download_text_from_web('COVID-19_rioolwaterdata.csv')   
download_text_from_web('COVID-19_aantallen_gemeente_cumulatief.csv')
download_text_from_web('COVID-19_aantallen_gemeente_per_dag.csv')
download_text_from_web('COVID-19_casus_landelijk.csv')
download_text_from_web('COVID-19_gedrag.csv')
download_text_from_web('COVID-19_gehandicaptenzorg.csv')
download_text_from_web('COVID-19_thuiswonend_70plus.csv')
download_text_from_web('COVID-19_verpleeghuizen.csv') 
en alle CVS binnen ;-)

gewone text bestanden zo lijkt het voorbeeld ( start ...)

Date_of_report;Municipality_code;Municipality_name;Province;Total_reported;Hospital_admission;Deceased
2020-03-13 10:00:00;GM0003;Appingedam;Groningen;0;0;0
2020-03-13 10:00:00;GM0010;Delfzijl;Groningen;0;0;0
2020-03-13 10:00:00;GM0014;Groningen;Groningen;3;0;0
2020-03-13 10:00:00;GM0024;Loppersum;Groningen;0;0;0
2020-03-13 10:00:00;GM0034;Almere;Flevoland;1;1;0


Ik gebruik nu 2.91.0

Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 04 januari 2021, 09:38:49 am
heb blender 2.91 geïnstalleerd, maar je script om de CVS op te halen
werkt (nog niet) , alleen als ik er op mijn manier mee knutsel  :-[
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 05 januari 2021, 10:22:13 am
Oh, wist niet meer, dat ik aan Ivy-gen meegewerkt had, sta er inderdaad
in als mede-auteur, ;-)

ook bij geodesic-domes, en dat weet ik nog een beetje. Een aantal onderdelen
heb ik inderdaad lang geleden aangemaakt.

De interface is anders dan bij Ivy Gen
Shift-A => Mesh => Geodesic Domes dan is onderaan links net als bij andere objecten de besturing  te vinden EN te gebruiken.
Zoiets heb je misschien voor je doel nodig Exlibris??
Of zoals in Ivy-gen

Maar, ik zou er 'staps-gewijs' naar toe werken.
B.v. will je via een blender opject de percentage of een aantal van ... laten zien
en well op een kaart van Nederland of per provincie, of per stad of ???

Dan iets maken om de CVS met data netjes uitbuiten (met procedures, zeg python functies, en dat via een menu en later in een   'Alles doen script , addon?

Zeg het maar Exlibris
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 05 januari 2021, 18:36:39 pm
Oh, wist niet meer, dat ik aan Ivy-gen meegewerkt had, sta er inderdaad
in als mede-auteur, ;-)

ook bij geodesic-domes, en dat weet ik nog een beetje. Een aantal onderdelen
heb ik inderdaad lang geleden aangemaakt.

De interface is anders dan bij Ivy Gen
Shift-A => Mesh => Geodesic Domes dan is onderaan links net als bij andere objecten de besturing  te vinden EN te gebruiken.
Zoiets heb je misschien voor je doel nodig Exlibris??
Of zoals in Ivy-gen

Maar, ik zou er 'staps-gewijs' naar toe werken.
B.v. will je via een blender opject de percentage of een aantal van ... laten zien
en well op een kaart van Nederland of per provincie, of per stad of ???

Dan iets maken om de CVS met data netjes uitbuiten (met procedures, zeg python functies, en dat via een menu en later in een   'Alles doen script , addon?

Zeg het maar Exlibris

Dank voor het aanbod Peter, maar voorlopig zie ik nog te weinig aanknopingspunten om er iets officieels als een add-on voor te maken. Volgens mij gaat het me nog heel veel tijd kosten om zo ver te komen. Hoe meer ik de diepte in ga, hoe minder documentatie er natuurlijk over is. Dit kost me veel tijd, wat ik op zich helemaal geen probleem vind.

Op het moment ben ik aan het kijken hoe ik een taartdiagram kan maken.

Wellicht dat dit filmpje me daar bij kan helpen, maar dan moet ik bijvoorbeeld uit gaan zoeken of er een koppeling mogelijk is tussen Python en het node systeem van Blender:


https://www.youtube.com/watch?v=BZcKSmZspYU&ab_channel=DefaultCube

Rob


Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 05 januari 2021, 21:28:22 pm
oh addon (moet men inderdaad zijn of men het nodig heeft)
be
Men moet zien dat Python (sec) en Python in Blender Twee dinge zijn, die elkaar gedeeltelijk overlappen.

Hier denk ik eigenlijk slecht aan Python in en door Blender ;-)
En het node-system, vermoed ik is ook via de Python van Blender bereikbaar , Ik kijk er binnen kort na ...

De Film boven over de munten kan misschien dienen als startpunt om de nodes (weer te gaan leren, vroeger mee gespeeld, maar in de 2.91 versie en contakt met het interne Python, kan heel wat anders geworden zijn)

Tot dan en WTR
Peter
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 10 januari 2021, 09:44:45 am
Als men met de nodes editor knutselt kan men de erbij horende Python commando's 'zien' als men de "Info editor" opend
copy is mogelijk  en  dat dan ergens opslaat, om vanuit de Python-editor (in Blender) later te gebruiken ;-)

Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 25 januari 2021, 08:15:23 am
Goede morgen
ExLibris, gestopt met dit project?

Groetjes
      Peter
Titel: Re: Van een database naar een animatie
Bericht door: ExLibris op 26 januari 2021, 10:34:35 am
Goede morgen
ExLibris, gestopt met dit project?

Groetjes
      Peter

Op dit moment ben ik er niet (meer) mee bezig, maar dat kan zo maar weer gebeuren. Zo gaat het meestal met mijn projectjes, sommige maak ik af en andere start ik en kom dat halverwege tot de conclusie dat het voor mij geen nut heeft of te ingewikkeld blijkt, of dat gewoon mijn interesse verdwijnt.

Bij dit project had/heb ik geen echt heel gericht doel, anders dan Blender en Python te leren kennen. Wie weet dat ik er later weer mee ga beginnen.

Rob
Titel: Re: Van een database naar een animatie
Bericht door: PKHG op 27 januari 2021, 15:07:43 pm
OK, begrepen

Ja Blender heeft ontzetten veel mogelijkheden net als Python.

voor python de eerst link in
https://voorpython.pkhg.nl/ (https://voorpython.pkhg.nl/)
de tweede is hobby (en indirect python via anaconda3 => Python Notebooks )

Groetjes
        Peter