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,
>
>
--
Linganesan
Undergraduate Student ,
Department of Computer Science and Engineering
University of Moratuwa
p: 0776040342
e: linganesanm...@gmail.com
e: linganesan...@cse.mrt.ac.lk
------------------------------------------------------------------------------
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