Topic: Module: Open file  (gelezen 3958 keer)


Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Gepost op: 04 december 2013, 14:22:15 pm »
:D , ik ben blij dat ik deze module kan laten zien! Ik heb em zelf nodig voor de mp3 speler die ik aan het bouwen ben. Met deze module is het namelijk mogelijk om bestandspaden in te laden in je script door simpelweg het bestand te selecteren in een browser!

Ik heb zelf nog maar 4 weken ervaring met python programmeren dus ik ben op zoek gegaan op internet hoe ik met python een bestand kan selecteren in een browser. Ik dacht mazzel te hebben toen ik las dat python daar een eigen module voor heeft > tkinter geheten. Helaas kwam ik er net zo snel weer achter dat blender deze module niet heeft! Blender draait namelijk op een aangepaste versie van python. Ik heb vanalles geprobeerd om deze module alsnog in de python versie van blender te krijgen, maar dat lukte niet. Nadat ik wat onderzoek gehad gedaan op diverse blender fora bleek dat wel meer gebruikers hier tegen aan liepen, maar niemand had een werkende oplossing.

Terwijl ik die fora aan het afstruinen was kreeg langzaamaan een steeds duidelijker idee. Dit idee heb ik uitgewerkt, en hiervan een module gemaakt. De basis van het idee is dat ik dit script aftrap in zijn eigen python omgeving. Deze omgeving heb ik gemaakt door een basis python versie te pakken (50 a 60 mb) en (bijna) alles eruit te gooien behalve die tkinter module. Toen hield ik een versie over van nog geen 3 mb. Vervolgens roep ik die python omgeving aan en geeft mee dat ie die tkinter module moet aftrappen. Hoe dit werkt zie je hieronder. Ik heb dit vast in het engels gedaan, er van uitgaande dat als dit echt werkt dat ook blenderaars buiten nl/be dit willen gebruiken.


In onderstaand voorbeeld zie je hoe dit eruit ziet en wat er dan in de file variabele staat (rechts in de commandconsole).


Dropbox link naar de module in zipformaat

MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline Jogai

  • Member
  • *
  • Berichten: 238
    • Bekijk profiel
    • http://jogai.nl
« Reactie #1 Gepost op: 04 december 2013, 16:42:12 pm »
Nice work!

Is tkinter niet los te downloaden?
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »

Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Reactie #2 Gepost op: 04 december 2013, 18:25:12 pm »
als los staande applicatie bedoel je?
ik heb het niet kunnen vinden.

Bedankt voor je compliment.

Als iemand trouwens de module wil testen... graag! Ik vind het zelf nog een beetje onwerkelijk dat het me gelukt is. Zou inhouden dat ik met mijn 4 weken python ervaring voor elkaar krijg, wat anderen al jaren niet lukt? Ik kan het eigenlijk nog niet echt geloven...

Ik heb de module voor windows gebouwd, maar naar mijn idee moet ik het vrij makkelijk cross platform kunnen krijgen.

MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline RDL

  • Member
  • *
  • Berichten: 314
    • Bekijk profiel
« Reactie #3 Gepost op: 04 december 2013, 20:47:34 pm »
dank u ..voor dit

 heel nuttig


mvg rudi
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »

Offline Jogai

  • Member
  • *
  • Berichten: 238
    • Bekijk profiel
    • http://jogai.nl
« Reactie #4 Gepost op: 04 december 2013, 20:55:45 pm »
Het werkt, maar dan moet je wel zelf python 3.3.3 met tkinter geinstalleerd hebben staan. De bijgeleverde python3x faalt met de melding dat er geen python3.dll geregistreerd is.
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »

Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Reactie #5 Gepost op: 04 december 2013, 22:16:50 pm »
Citaat van: "Jogai"
Het werkt, maar dan moet je wel zelf python 3.3.3 met tkinter geinstalleerd hebben staan. De bijgeleverde python3x faalt met de melding dat er geen python3.dll geregistreerd is.

zie, daar was ik al bang voor, maar ik denk dat ik al een idee heb om dit op te lossen. Ik laat het nog weten.

Bedankt jogai!

EDIT: Ik heb mijn oplossing werkend gekregen: nieuwe versie!

Ik heb van het script een executable met ingebouwde python gemaakt. Gedaan met de tool cx_freeze. Hierdoor issie wel iets groter geworden, maar ja. Wat ik wel jammer vind van deze constructie is dat gebruikers niet kunnen zien wat die .exe nou eigenlijk allemaal doet. Broncode van de gui.exe er maar bij plaatsen tzt. Iemand die em wil testen? Jogai?  ;)

Hoe het nu werkt:


MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline Jogai

  • Member
  • *
  • Berichten: 238
    • Bekijk profiel
    • http://jogai.nl
« Reactie #6 Gepost op: 06 december 2013, 12:00:39 pm »
openfilepythongui.exe laat idd een file select window zien. Hij drukt echter niet meer de bestandsnaam af na selecteren. De vorige versie deed dat wel, en dat vond ik wel handig.
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »

Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Reactie #7 Gepost op: 06 december 2013, 13:09:22 pm »
Hoi Jogai,

Dan gok ik dat je de exe gewoon uitgevoerd heb, ipv deze aan te roepen vanuit een script in blender?
De .exe geeft namelijk een output, maar die wordt gelezen en teruggegeven aan het blender script door getwindow.py
als je dan in het script "print (file)" doet zie je die in de console terug.

nogmaals bedankt Jogai.

een *nix versie zal ik later proberen te bouwen. Probleem is dat het bouwen daarvan op een *nix systeem moet gebeuren, en die heb ik (nog) niet.

MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline Jogai

  • Member
  • *
  • Berichten: 238
    • Bekijk profiel
    • http://jogai.nl
« Reactie #8 Gepost op: 06 december 2013, 14:07:09 pm »
Ja, had je instructies niet echt gelezen  :oops:

*nix kan toch prima op een vm? Ik heb er altijd wel 1 in virtualbox hangen voor wat experimenten.
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »

Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Reactie #9 Gepost op: 06 december 2013, 15:14:35 pm »
raad is wat ik aant was toen ik jou post las?

Opensuse aant installeren op virtual box.  :lol:

MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline PKHG

  • Member
  • *
  • Berichten: 525
    • Bekijk profiel
« Reactie #10 Gepost op: 10 januari 2014, 11:41:23 am »
Hi MAD,
kan het zijn, dat je aangepaste python alleen op een 64-bits windows PC werkt?

Peter

Net ook gezocht en 'iets' gevonden:

http://wiki.blender.org/index.php/Exten ... ipt_Runner

Indien deze plugin is geïnstalleerd en geactiveerd, ontstaat er in het linker menu gedeelte (standard versie) een
nieuwe toevoeging: Script runner, met een klik opent een keuze menu IN Blender ...

Maar ik denk dat de video tutorial laat zien wat de script kan ...?!

Moet het nog echt doen ... hoe te gebruiken ...
« Laatst bewerkt op: 10 januari 2014, 12:04:44 pm door PKHG »
Doei
       Peter

Offline Mark aka Dark

  • *
  • *
  • Berichten: 771
    • Bekijk profiel
    • Mijn eigen site
« Reactie #11 Gepost op: 10 januari 2014, 12:01:29 pm »
Ik heb het op en 64 bits pc gebouwd, misschien dat dat het is.

MAD
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
MAD staat voor: Mark Aka Dark
Problemen met inloggen? Mail naar: info@dbc-3d.nl

Offline PKHG

  • Member
  • *
  • Berichten: 525
    • Bekijk profiel
« Reactie #12 Gepost op: 10 januari 2014, 12:06:11 pm »
Oh, je antwoord niet gezien ( klopt dus dat 64 bits ...)

Heb boven een interessante link  toegevoegd! Kijk maar of dat niet is wat je eigenlijk ook zoekt?

Uitgeprobeerd met een eenvoudige script
test.py, die slechts een print("....") bevat , ging uitstekend!

Peter
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
Doei
       Peter

Offline PKHG

  • Member
  • *
  • Berichten: 525
    • Bekijk profiel
« Reactie #13 Gepost op: 11 januari 2014, 12:16:31 pm »
En door dezelfde auteur is een prachtige "Breakpoint" addon!
Heeft men gauw nodig, om fouten op te sporen  :)
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
Doei
       Peter

Offline PKHG

  • Member
  • *
  • Berichten: 525
    • Bekijk profiel
« Reactie #14 Gepost op: 12 januari 2014, 18:12:07 pm »
voor snell naar een addon gaan met een EXTERNE editor (zeer geschikg notepad++) is
er een addon (nieuw!)
Kijk hier: http://www.blenderartists.org/forum/sho ... s-Operator

Je krijgt in de 'user-preferences' bij elke addon, die je kunt/wilt activeren een extra 'knop' "Edit Source"
en notpad++ opent dan automatisch alles wat je ervoor zou moeten kunnen bekijken ...
Groetjes
       Peter
« Laatst bewerkt op: 01 januari 1970, 01:00:00 am door Guest »
Doei
       Peter