Hello, thanks for the draft proposal. Please share it also as google doc or on our wiki in a sandbox so that I can have a look and directly write some comments in.
Regards, Stefam On Wednesday, March 23, 2016 02:18:39 AM Linganesan Mani wrote: > Hi, I have just shared my draft proposal on 'IPython notebook integration' > via the GSoC website. I would highly > appreciate it, if you can quickly review it and provide some valuable > feedback. Thanks in advance. > > Regards, > > On 22 March 2016 at 02:04, Stefan Tröger <stefantroe...@gmx.net> wrote: > > Hello, > > > > >Hi, I'm getting dizzy about inventor scenegraph conversions! > > > > Good The concepts of FreeCAD, OpenInventor and IPython are complex and > > not > > easy to gasp in short time, so don't feel discouraged. > > > > >Actually I get the idea about one to one mapping of nodes, between coin3D > > > > and > > > > > SceneJs/ThreeJs. Like call the whole FreeCAD Document scenegraph through > > > coin3D actions and create the proper node types of the javascript webGL > > > library, in the same traverse order! > > > > Yes, you traverse the scene graph with an inventor action and handle each > > node > > by writing it to a JavaScript file as an equivalent SceneJS/ThreeJS item. > > > > > It's more like building an open > > > inventor scenegraph(.iv file) parser for that particular Js library! > > > > Isn't > > > > > it? > > > > Well in a certain sense yes. But you don't handle a file but a > > datastructure. > > Also the logic is in FreeCAD, hence it is not a parser of the JS library, > > but > > is a writer in FreeCAD. Basicly you output code written in that JS > > library. > > > > >Actually ThreeJs has a vrml loader itself, but it's not fully done [1]. > > > > Ah interesting. That would be of course the simplest of all solutions, we > > could use the existing coin vrml writer and input it directly into > > ThreeJS. > > But this import/export needs some investigating too. For example for the > > standalone WebGL export we want a single html file. This is easy if one > > writes > > JS code with all geometry inside, but don't know if this works with a code > > JS > > file implementing the viewer and a datafile holding the scene graph. > > > > > I'm still researching on the inventor scenegraph conversions! But I > > > > didn't > > > > > made any working implementation to prove that concept! Afraid that I > > > > cannot > > > > > be able to implement a working draft source in before the > > > deadline(proposal). Now I can only propose a workflow, which I think it > > > will work out, but maybe after some point it gonna change to a different > > > direction in implementation! Is it fine? > > > > Yes this is fine in general. Best is to write your proposal and share it > > before submitting. This gives us the chance of looking into it and > > discussing > > it. Also note that the inventor scene graph traversing is only one part of > > the > > process, and one we can help you with. You need also to consider the > > javascript viewer that is part of the project, and make a proposal on how > > it > > should work and what it should be capable of. > > > > But also note that it seems that we have multiple applications for > > freecad. > > Writing some code or fixing a bug is always a good way to show capability > > and > > motivation. > > > > Regards, > > Stefan > > > > > [1] https://github.com/mrdoob/three.js/issues/3979 > > > > > > regards > > > > > > On 13 March 2016 at 14:45, Stefan Tröger <stefantroe...@gmx.net> wrote: > > > > Hello Linganesan, > > > > > > > > thanks for your interest. The freecad dependencies should actually be > > > > installed pretty easily, for windows we provide a libpack with all > > > > dependencies and for linux they should be all installable by > > > > repositories. > > > > > > > 1. As I understand, we can import FreeCAD python Api as a > > > > > seperate > > > > > module[4] which can be used by IPython. > > > > > > > > Yes, FreeCAD can be importet as standalone python module into IPython. > > > > FreeCAD > > > > is seperated between an App and an GUI part. As for IPython we do not > > > > want > > > > > > to > > > > show up the FreeCAD GUI but need the GUI parts for visualisation (the > > > > viewproviders) have a look at FreeCADGui.setupWithoutGui() > > > > > > > > > 2. So here we need a '3D web viewer' to render the models which > > > > are > > > > > > > generated by IPython(Qtconsole/Jupyter). > > > > > > > > Yes. The models are generated in ipython via the freecad API. > > > > Internally > > > > > > document objects are generated, which in itself cannot be visualized. > > > > But > > > > > > the > > > > GUI part provides visualisation for each document object via a > > > > viewprovider. > > > > Those viewproviders generate the 3d scene graph which should be > > > > visualized > > > > > > via > > > > the qt console/jupyter. > > > > > > > > > 3. OpenInventor API generates scenegraph which is constructing by > > > > > > > > coin3D > > > > > > > > > library in a 3D viewer. > > > > > > > > Yes, the viewproviders build up the openinventor scene graph. We use > > > > coin3d > > > > for this. The construction of the scene graph is however independend > > > > from > > > > > > the > > > > rendering. We cannot directly render with coin3d into ipython GUI, but > > > > we > > > > > > can > > > > use the already constructed scenegraph and traverse it. An example for > > > > this is > > > > the coin3d SoToVRML converter action which could be used as example of > > > > how > > > > > > to > > > > traverse the scenegraph and create something out of it. > > > > https://bitbucket.org/Coin3D/coin/src/ > > > > 559be0543cbce3235cdc6dce13c8cc112eb212a5/src/actions/SoToVRMLAction.cpp? > > > > > > at=default&fileviewer=file-view-default > > > > > > > > > If I'm not wrong, here we can use pythonOCC with > > > > > webgl [2] [3] instead of coin3d. > > > > > > > > No this is not possible. FreeCAD does not use opencascades > > > > visualisation > > > > > > at > > > > all, hence it is not easily transfered to python occ webgl viewer. > > > > Also we > > > > > > visualize many more things than only occ data structures, and all of > > > > this > > > > > > needs to be possible to render in ipython too. This is why we want to > > > > mirror > > > > the 3d scenegraph directly. The basic idea was to find a webgl js > > > > library > > > > > > which has a scene structure pretty close to openinventor and then > > > > simply > > > > > > traverse the scenegraph and create a new webgl scene graph from it in > > > > a > > > > new > > > > html file. This webgl file can than be exported standalone and also > > > > used > > > > > > to > > > > show the scene in ipython, which allows javascript visualisation. How > > > > to > > > > > > incorporate ineractive webgl into ipython qtconsole/jupyter needs some > > > > research, but it is possible as shwon by other implmentations. > > > > > > > > > Now I'm analyzing the source code to get a clear > > > > > view. > > > > > > > > Feel free to ask questions on irc and especially the forum. FreeCAD > > > > is > > > > not > > > > easy to grasp, it is a rather large code base with too little > > > > documentation. > > > > > > > > Regards, > > > > Stefan > > > > > > > > On Sunday, March 13, 2016 05:52:09 AM Linganesan Mani wrote: > > > > > Hi Stefan, > > > > > > > > > > Thanks for your reply and suggestion, When I was gone through your > > > > > recommend page I found this IPython integretion page[1] which got my > > > > > > > > great > > > > > > > > > attention. Here I need some clarifications according to what I have > > > > > understood, > > > > > > > > > > 1. As I understand, we can import FreeCAD python Api as a > > > > > seperate > > > > > module[4] which can be used by IPython. > > > > > 2. So here we need a '3D web viewer' to render the models which > > > > are > > > > > > > generated by IPython(Qtconsole/Jupyter). > > > > > 3. OpenInventor API generates scenegraph which is constructing by > > > > > > > > coin3D > > > > > > > > > library in a 3D viewer. If I'm not wrong, here we can use > > > > pythonOCC > > > > > > with > > > > > > > > > webgl [2] [3] instead of coin3d. > > > > > > > > > > Also I forked the FreeCAD repository and successfully compiled on my > > > > > machine. Seriously, those dependencies took whole day to find the > > > > ways > > > > > > > to > > > > > install each of them :P. Now I'm analyzing the source code to get a > > > > > clear > > > > > view. > > > > > > > > > > [1] > > > > http://www.freecadweb.org/wiki/index.php?title=IPython_notebook_integratio > > > > > > n > > > > > > > > > [2] > > > > http://www.pythonocc.org/features_overview/experimental-webgl-renderer-tow > > > > > > ar> > > > > > > > > > ds-cad-in-a-browser/ > > > > > > > > > > [3] https://www.youtube.com/watch?v=0GXbfzWV8qk > > > > > > > > > > [4] http://www.freecadweb.org/wiki/index.php?title=Embedding_FreeCAD > > > > > > > > > > On 8 March 2016 at 22:57, Stefan Tröger <stefantroe...@gmx.net> > > > > wrote: > > > > > > Hello Linganesan, > > > > > > > > > > > > as you seem to be interested in exposing geometric functionality > > > > > > to > > > > > > > > python > > > > > > > > > > I > > > > > > like to take the chance and point you to another project idea with > > > > > > this > > > > > > scope: > > > > > > http://www.freecadweb.org/wiki/index.php? > > > > > > title=Extend_Part_workbench_python_API > > > > > > It is a bit different in the sense that it requires not a pure > > > > wrapper > > > > > > but > > > > > > > > > > also some coding and API design. For your consideration. > > > > > > > > > > > > Regards, > > > > > > Stefan > > > > > > > > > > > > On Tuesday, March 08, 2016 05:48:12 PM Linganesan Mani wrote: > > > > > > > Hi, > > > > > > > I am Linganesan, undergraduate computer engineering student. I > > > > have > > > > > > > > > a > > > > > > > > > > > > sound > > > > > > > > > > > > > knowledge in python and great enthusiasm in computer graphics. > > > > I've > > > > > > gone > > > > > > > > > > > through Python Geometry[1] page in Brlcad wiki. I'm really > > > > excited > > > > > > > > > to > > > > > > > contribute this project. I cloned the git repository which given > > > > on > > > > > > that > > > > > > > > > > > page, but I get some error while I tried to install > > > > > > > > python-brlcad.[2] I > > > > > > > > > > > guess those are some issues causing by ctypesgen! How can I > > > > resolve > > > > > > > > > those > > > > > > > issues? Also now the project is on python 2.x, Is feasible to > > > > > > > convert > > > > > > > > > > > > that > > > > > > > > > > > > > in to python 3.x? Could you please help me to continue on this > > > > > > > > project. > > > > > > > > > > > [1] - http://brlcad.org/wiki/Python_Geometry > > > > > > > [2] - http://pastebin.com/hSvQzVRe > > > > > > > > > > > > > > Thank you, ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140 _______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel