Running external module and accessing the created objects
Kene.Meniru at illom.org
Sat Mar 9 16:34:53 CET 2013
OK. Sorry to have caused all the confusion. Let me try this again.
To use my program the user needs a script file I will call user.py.
Functions from my program must be imported into this file with
something like "from myapp import *".
myapp.py is a module in my program that has all the functions that the
user needs to describe building components. There is also a main
controller object that is imported into myapp.py module called app.
When python parses user.py module, the functions the user has provided
creates building components which are then saved in a dictionary
located in an object called doc that is part of my program.
The user is free to use the functions in myapp.py to describe building
components. When this process is complete or when the user wants to
view their work-in-progress, they have to place a function called
view() on the last line in user.py. This function currently exports
the components into POV-Ray or OpenSCAD format. These are CAD programs
that read script files to render or create images of the described
artifacts. So this means that to view their work the user needs to run
python on user.py to export the building and then run POV-Ray or
OpenSCAD on the exported file to see the building.
I want to make it possible for the user to preview the building
components without having to use the external rendering programs. I
can currently have the app object provide this preview but it means
that the user will have to process user.py with python then exit the
graphic window each time they need to see changes.
So the solution I am looking for is to have a graphic window open that
watches user.py for changes. If there is a change the graphic window
updates the rendition of the created components without further
intervention by the user. However this means that the graphic must
somehow run python to parse user.py and then be able to access the
objects stored in doc so that the coordinates can be used to update
the view. This is where I am having difficulty.
I hope this is clearer.
KeMeniru at gmail.com
More information about the Python-list