Hello Linganesan, thanks for sharing the link, I added some comments to your proposal.
Regards, Stefan On Wednesday, March 23, 2016 11:14:33 AM Linganesan Mani wrote: > Hi, > > Actually I've shared a '*google doc*' through the Gsoc website( > https://summerofcode.withgoogle.com/ ) in '*anyone can accessible and > commentable*' mode. Please take a look, your comments and suggestions are > appreciated. > > Thanks, > > On 23 March 2016 at 10:31, Stefan Tröger <stefantroe...@gmx.net> wrote: > > 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