<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.cad.pythonocc.user">
    <title>gmane.comp.cad.pythonocc.user</title>
    <link>http://blog.gmane.org/gmane.comp.cad.pythonocc.user</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1058"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1045"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1044"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1041"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1040"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1039"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1037"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1034"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1008"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1002"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1001"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/995"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/989"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/985"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1058">
    <title>How to use undo/redo?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1058</link>
    <description>&lt;pre&gt;Hi! I'm trying to figure out how to use the undo/redo functionality in 
pythonOCC. From reading docstrings and source code I guess I'll have to use an 
instance of OCC.PAF.Context.ParametricModelingContext with "undo" and "commit" 
set to True. But I didn't get any further. Can somebody please provide some 
example or explanation on how it works?

PS: Once I understand how it works I'd like to help by providing some 
documentation for this. Would the github wiki be the right place to put it?

Thanks, Marko

&lt;/pre&gt;</description>
    <dc:creator>Marko Knöbl</dc:creator>
    <dc:date>2012-04-05T00:03:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1045">
    <title>Decompose BSpline to arcs and lines?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1045</link>
    <description>&lt;pre&gt;Hi, all ( especially Jelle ):

I'm trying to solve a problem i just know someone else has solved:
converting a bspline into arcs and lines. ( Actually in my  case i have a
list of points, through which I am interpolating a bspline-- so i could
skip that step actually. )

Anyway, I came across this OCC thread, which yielded several ideas but its
not clear there was a solution:

http://www.opencascade.org/org/forum/thread_20706/

I tried to fetch the URL Jelle Posted for hb-robotics-code on google, but
the link is dead.


Does anyone know if there s any pythonOCC code I can grab that will make
solving this problem easier?  If not, I certainly think its worth adding to
pythonOCC.

Since my problem doesnt care about the intermediate bspline ( I have a list
of points ), then I may instead use something along the lines of one of
these  algorithms:

http://miarn.sourceforge.net/pdf/a1738b.pdf
http://www.bmva.org/bmvc/1988/avc-88-040.pdf

which seems very fast. It is for arc detection, but of course what's left
is just lines.

Has anyone else had experience with this problem?
thanks a lot!
Dave
&lt;/pre&gt;</description>
    <dc:creator>Dave Cowden</dc:creator>
    <dc:date>2012-03-14T00:07:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1044">
    <title>RE : Re:  Working with python and STEP</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1044</link>
    <description>&lt;pre&gt;Hi steve,

This branch was deleted.

Try tp/python-generator-stage2.

Thomas
- sent from my Android phone

Le 9 mars 2012, 8:00 AM, "Stephen Waterbury" &amp;lt;waterbug-FFcJY8UNpa1gS2CCKAk+cA&amp;lt; at &amp;gt;public.gmane.org&amp;gt; a
écrit :

Hi Thomas,

I just tried to check out the python-generator-dev branch of the
StepClassLibrary using the directions on the wiki (link [4]
below) but it didn't work -- apparently git doesn't recognize
that branch, or any branch other than "master", in the SCL repo
... here is my session:
------------------------------**------------------------------**-----
$ git clone git://github.com/mpictor/**StepClassLibrary.git&amp;lt;http://github.com/mpictor/StepClassLibrary.git&amp;gt;
Initialized empty Git repository in /home/waterbug/src/**
StepClassLibrary/python-**generator-dev/**StepClassLibrary/.git/
remote: Counting objects: 5623, done.
remote: Compressing objects: 100% (1600/1600), done.
remote: Total 5623 (delta 4107), reused 5442 (delta 3945)
Receiving objects: 100% (5623/5623), 8.26 MiB | 257 KiB/s, done.
Resolving deltas: 100% (4107/4107), done.
$ cd StepClassLibrary/
$ git checkout tp/python-generator-dev
error: pathspec 'tp/python-generator-dev' did not match any file(s) known
to git.
$ git branch
* master
$
------------------------------**------------------------------**-----

Am I doing something wrong?

Cheers,
Steve

On 01/11/2012 02:15 AM, Thomas Paviot wrote:



______________________________**_________________
Pythonocc-users mailing list
Pythonocc-users-8nu/KwtRnEU&amp;lt; at &amp;gt;public.gmane.org
https://mail.gna.org/listinfo/**pythonocc-users&amp;lt;https://mail.gna.org/listinfo/pythonocc-users&amp;gt;
&lt;/pre&gt;</description>
    <dc:creator>Thomas Paviot</dc:creator>
    <dc:date>2012-03-09T07:31:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1041">
    <title>Why is new TopoDS_Shape object always generatedwhen shape is selected</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1041</link>
    <description>&lt;pre&gt;Hi everybody!

I was wondering, why the following happens. Lets imagine that we draw a
simple cube:

display.DisplayShape(BRepPrimAPI_MakeBox(1,1,1).Shape())

however, when we select this shape we get this as output:
Current selection (single): &amp;lt;OCC.TopoDS.TopoDS_Shape; proxy of &amp;lt;Swig Object
of type 'TopoDS_Shape *' at 0x060BD638&amp;gt; &amp;gt;

and if we select it again:
Current selection (single): &amp;lt;OCC.TopoDS.TopoDS_Shape; proxy of &amp;lt;Swig Object
of type 'TopoDS_Shape *' at 0x060BD650&amp;gt; &amp;gt;

which is a different object.

What can be done to uniquely identify selected shapes? Is there a way to
hash TopoDS shapes for example?

Best regards,
Milos
&lt;/pre&gt;</description>
    <dc:creator>Milos Davidovic</dc:creator>
    <dc:date>2012-03-08T18:29:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1040">
    <title>Using pythonOCC on Ubuntu 11.10</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1040</link>
    <description>&lt;pre&gt;I'm trying to get pythonOCC running right on my Ubuntu 11.10 64bit box.

I started with instructions on this page:
http://www.pythonocc.org/resources/build_install/installrun-pythonocc-on-ubuntu-10-04-lucid-lts-in-5-steps-and-10-minutes/

Which says to use this PPA:  http://ppa.launchpad.net/cae-team/ppa/ubuntu/

However that PPA does not have pyhonOCC package for Ubuntu Oneiric 11.10.

Then I found hmeyer's comment on that same page, about his own PPA, which
eventually led me to this PPA
https://launchpad.net/~hmeyer/+archive/3d?field.series_filter=oneiric
which contains the oneiric packages.

I was able to install pythonOCC from this PPA, but when I run the example
from the install instructions:
from OCC.Display.SimpleGui import *
from OCC.BRepPrimAPI import *
display, start_display, add_menu, add_function_to_menu = init_display()
my_box = BRepPrimAPI_MakeBox(10.,20.,30.).Shape()
display.DisplayShape(my_box)
start_display()


I get the following error:
 ###### 3D rendering pipe initialisation #####
Display3d class initialization starting ...
Traceback (most recent call last):
  File "tut1.py", line 7, in &amp;lt;module&amp;gt;
    display, start_display, add_menu, add_function_to_menu = init_display()
  File "/usr/lib/pymodules/python2.7/OCC/Display/SimpleGui.py", line 161,
in init_display
    win.canva.InitDriver()
  File "/usr/lib/pymodules/python2.7/OCC/Display/qtDisplay.py", line 108,
in InitDriver
    self._display.Create()
  File "/usr/lib/pymodules/python2.7/OCC/Display/OCCViewer.py", line 84, in
Create
    self.Init(self._window_handle)
RuntimeError: Aspect_GraphicDeviceDefinitionError
libftgl.so.2: cannot open shared object file: No such file or directory


I have these packages installed already:  ftgl-dev, libftgl-dev, libftgl2.
I'm not sure where libftgl.so.2 is supposed to come from.

Can anyone tell me what else I need for this to work?

Thanks,
Hans
&lt;/pre&gt;</description>
    <dc:creator>Hans L</dc:creator>
    <dc:date>2012-03-07T06:37:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1039">
    <title>SMESH: Creating Group On Geometry</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1039</link>
    <description>&lt;pre&gt;Hello Experts,

I have just managed to install python OCC 0.6 together with oce 0.8.0,
GEOM 6.3.1 and SMESH 5.1.2 on Ubuntu 11.10.

My intention is to create meshes for CFD with the SMESH classes.
Everything works so far: I have created geometry and a hexahedral mesh
and could export it in a UNV file.

Now I want to name the boundaries by creating "GroupOnGeom". I followed
the example/Level1/grouping.py (seems a bit outdated, it needed some
changes to run) but this example does not work when I change the output
from ExportDAT to ExportUNV.
The script terminates when writing the groups to the UNV file with a
"segmentation fault"

Is there some common mistake, which I could have stumbled over? What is
the preferred way to name the boundaries?

Thanks for any info.

Regards, Hannes


&lt;/pre&gt;</description>
    <dc:creator>Hannes Kröger</dc:creator>
    <dc:date>2012-01-23T22:46:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1037">
    <title>Working with python and STEP</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1037</link>
    <description>&lt;pre&gt;Hi,

This message might be off-topic, but those of you using to work with python
and STEP/EXPRESS product data will perhaps be interested in the python
generator I contributed to the StepClassLibrary project [1][2]. This early
release was announced [3] yesterday. A wiki entry [4] introduces the
project purpose, how to get/build/install/getting started etc.

This project is not a dependency of pythonocc (nor the opposite), but it is
closely related and could be a 'partner': one can imagine, for instance, a
STEP Part21 file quality checker based upon python/SCL, processing an AP203
file before it is sent to pythonOCC for rendering.

Regards,

Thomas

[1] http://www.nist.gov/el/msid/scl.cfm
[2] https://github.com/mpictor/StepClassLibrary
[3]
http://groups.google.com/group/scl-dev/browse_thread/thread/55b2d8edc05eeb44
[4] https://github.com/mpictor/StepClassLibrary/wiki/python-generator
&lt;/pre&gt;</description>
    <dc:creator>Thomas Paviot</dc:creator>
    <dc:date>2012-01-11T10:15:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1034">
    <title>Python OCC and Win64 compilation</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1034</link>
    <description>&lt;pre&gt;Hi,

i've try to compile Python OCC with VS2010, Win64 and Python 2.7

compilation and build of OCE-bundle OK
compilation and build of OCE ( fresh git ) OK

but for compilation of pythonocc, i've this error :
fatal error C1083: Cannot open include file: 'Standard_Static.hxx'

in fact, this file doesn't exist

thx for your help

Kermit
&lt;/pre&gt;</description>
    <dc:creator>Kermit</dc:creator>
    <dc:date>2012-01-10T15:53:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032">
    <title>pythonocc reference api/ tutorial?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032</link>
    <description>&lt;pre&gt;Hello *,

is there a reference api besides http://api.pythonocc.org/ - which is
quite commentless and therefore still leaves a lot of room for
questions. Or is there even an tutorial?
Or is all documentation to be based on OCC-doc? How to get it, if I
don't want to give them my personal data?

and...practically speaking: How do I do CSG with 2d-shapes, e.g. Union
of two Geom2d_Circle?

Thank you,

Henning

&lt;/pre&gt;</description>
    <dc:creator>Henning Meyer</dc:creator>
    <dc:date>2012-01-08T20:17:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011">
    <title>Opencascade and PyQt: Possible licenseincompatibilities (Open CASCADE Technology Public License vs GPL)</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011</link>
    <description>&lt;pre&gt;Hi! I'm new to pythonOCC. So far learning and working with pythonOCC has been 
a really great experience, so I want to say thank you to everyone who has 
contributed to this project!

I have started using pythonOCC and PyQt for writing a free CAD application. 
However after some investigations I now think that an application linking with 
both OCC and PyQt would violate the GPL and the application would be 
undistributable. Thus I also think that pythonOCC itself is not legally 
distributable in its current form as it links with PyQt too.

The Problem
-----------
First off I want to say that I'm not an expert on free software licensing and I 
could be wrong on this. So I'd like to get some feedback by others on whether 
my assumptions are correct. 

I found out about the problem through a Debian bug report[1] which is about a 
similar problem in the FreeCAD application. FreeCAD has been removed from 
Debian testing because of this issue and will not be included in Debian 7 
anymore. According to the bug report the problem about FreeCAD is that it 
links with both a library which is licensed under the GPL and with OCC, which 
is licensed under a GPL-incompatible license.

I think that the same is true about pythonOCC: pythonOCC links with both PyQt 
(GPL) and with OCC (GPL-incompatible). So I think that the distribution of 
pythonOCC is violating the GPL. The GPL would require all software which links 
with PyQt to be relicensed under the terms of the GPL as well. This is 
possible for software licensed under the LGPL (like pythonOCC), but not for 
OCC, which is licensed under the OCTPL.

Further legal information on combining GPL-software with other software can be 
found in the GNU GPL FAQ[2], in the section "Combining work with code released 
under the GNU licenses". The question on GPL-incompatible libraries[3] 
explains that using a GPL-incompatible library with GPL software is not 
allowed unless explicitly permitted by the author of the GPL-licensed 
software.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617613
[2] http://www.gnu.org/licenses/gpl-faq.html
[3] http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs

Possible Solutions
------------------
Even though this issue has yet to be confirmed by others I'm already listing 
possible solutions here. These could be considered in order to resolve the 
issue if it is confirmed:
1) Have OCC relicensed under the LGPL: The author of the Debian bug report 
talks about a possibility of having OCC relicensed under the LGPL if there are 
enough people trying to persuade Open CASCADE S.A.S.
2) Get a linking exception in PyQt: PyQt already has 26 linking exceptions for 
many popular free software licenses, so asking its developer to add another 
one for the OCTPL might be successful.
3) Port pythonOCC to PySide: PySide is basically "PyQt under LGPL". Porting 
pythonOCC to PySide should be quite easy.

If action has to be taken in order to achieve license-compatibility I'd be 
happy to help by writing either mails or code.

Regards,
Marko

&lt;/pre&gt;</description>
    <dc:creator>Marko Knöbl</dc:creator>
    <dc:date>2012-01-05T00:16:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032">
    <title>pythonocc reference api/ tutorial?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032</link>
    <description>&lt;pre&gt;Hello *,

is there a reference api besides http://api.pythonocc.org/ - which is
quite commentless and therefore still leaves a lot of room for
questions. Or is there even an tutorial?
Or is all documentation to be based on OCC-doc? How to get it, if I
don't want to give them my personal data?

and...practically speaking: How do I do CSG with 2d-shapes, e.g. Union
of two Geom2d_Circle?

Thank you,

Henning

&lt;/pre&gt;</description>
    <dc:creator>Henning Meyer</dc:creator>
    <dc:date>2012-01-08T20:17:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011">
    <title>Opencascade and PyQt: Possible licenseincompatibilities (Open CASCADE Technology Public License vs GPL)</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011</link>
    <description>&lt;pre&gt;Hi! I'm new to pythonOCC. So far learning and working with pythonOCC has been 
a really great experience, so I want to say thank you to everyone who has 
contributed to this project!

I have started using pythonOCC and PyQt for writing a free CAD application. 
However after some investigations I now think that an application linking with 
both OCC and PyQt would violate the GPL and the application would be 
undistributable. Thus I also think that pythonOCC itself is not legally 
distributable in its current form as it links with PyQt too.

The Problem
-----------
First off I want to say that I'm not an expert on free software licensing and I 
could be wrong on this. So I'd like to get some feedback by others on whether 
my assumptions are correct. 

I found out about the problem through a Debian bug report[1] which is about a 
similar problem in the FreeCAD application. FreeCAD has been removed from 
Debian testing because of this issue and will not be included in Debian 7 
anymore. According to the bug report the problem about FreeCAD is that it 
links with both a library which is licensed under the GPL and with OCC, which 
is licensed under a GPL-incompatible license.

I think that the same is true about pythonOCC: pythonOCC links with both PyQt 
(GPL) and with OCC (GPL-incompatible). So I think that the distribution of 
pythonOCC is violating the GPL. The GPL would require all software which links 
with PyQt to be relicensed under the terms of the GPL as well. This is 
possible for software licensed under the LGPL (like pythonOCC), but not for 
OCC, which is licensed under the OCTPL.

Further legal information on combining GPL-software with other software can be 
found in the GNU GPL FAQ[2], in the section "Combining work with code released 
under the GNU licenses". The question on GPL-incompatible libraries[3] 
explains that using a GPL-incompatible library with GPL software is not 
allowed unless explicitly permitted by the author of the GPL-licensed 
software.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617613
[2] http://www.gnu.org/licenses/gpl-faq.html
[3] http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs

Possible Solutions
------------------
Even though this issue has yet to be confirmed by others I'm already listing 
possible solutions here. These could be considered in order to resolve the 
issue if it is confirmed:
1) Have OCC relicensed under the LGPL: The author of the Debian bug report 
talks about a possibility of having OCC relicensed under the LGPL if there are 
enough people trying to persuade Open CASCADE S.A.S.
2) Get a linking exception in PyQt: PyQt already has 26 linking exceptions for 
many popular free software licenses, so asking its developer to add another 
one for the OCTPL might be successful.
3) Port pythonOCC to PySide: PySide is basically "PyQt under LGPL". Porting 
pythonOCC to PySide should be quite easy.

If action has to be taken in order to achieve license-compatibility I'd be 
happy to help by writing either mails or code.

Regards,
Marko

&lt;/pre&gt;</description>
    <dc:creator>Marko Knöbl</dc:creator>
    <dc:date>2012-01-05T00:16:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032">
    <title>pythonocc reference api/ tutorial?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1032</link>
    <description>&lt;pre&gt;Hello *,

is there a reference api besides http://api.pythonocc.org/ - which is
quite commentless and therefore still leaves a lot of room for
questions. Or is there even an tutorial?
Or is all documentation to be based on OCC-doc? How to get it, if I
don't want to give them my personal data?

and...practically speaking: How do I do CSG with 2d-shapes, e.g. Union
of two Geom2d_Circle?

Thank you,

Henning

&lt;/pre&gt;</description>
    <dc:creator>Henning Meyer</dc:creator>
    <dc:date>2012-01-08T20:17:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011">
    <title>Opencascade and PyQt: Possible licenseincompatibilities (Open CASCADE Technology Public License vs GPL)</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1011</link>
    <description>&lt;pre&gt;Hi! I'm new to pythonOCC. So far learning and working with pythonOCC has been 
a really great experience, so I want to say thank you to everyone who has 
contributed to this project!

I have started using pythonOCC and PyQt for writing a free CAD application. 
However after some investigations I now think that an application linking with 
both OCC and PyQt would violate the GPL and the application would be 
undistributable. Thus I also think that pythonOCC itself is not legally 
distributable in its current form as it links with PyQt too.

The Problem
-----------
First off I want to say that I'm not an expert on free software licensing and I 
could be wrong on this. So I'd like to get some feedback by others on whether 
my assumptions are correct. 

I found out about the problem through a Debian bug report[1] which is about a 
similar problem in the FreeCAD application. FreeCAD has been removed from 
Debian testing because of this issue and will not be included in Debian 7 
anymore. According to the bug report the problem about FreeCAD is that it 
links with both a library which is licensed under the GPL and with OCC, which 
is licensed under a GPL-incompatible license.

I think that the same is true about pythonOCC: pythonOCC links with both PyQt 
(GPL) and with OCC (GPL-incompatible). So I think that the distribution of 
pythonOCC is violating the GPL. The GPL would require all software which links 
with PyQt to be relicensed under the terms of the GPL as well. This is 
possible for software licensed under the LGPL (like pythonOCC), but not for 
OCC, which is licensed under the OCTPL.

Further legal information on combining GPL-software with other software can be 
found in the GNU GPL FAQ[2], in the section "Combining work with code released 
under the GNU licenses". The question on GPL-incompatible libraries[3] 
explains that using a GPL-incompatible library with GPL software is not 
allowed unless explicitly permitted by the author of the GPL-licensed 
software.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617613
[2] http://www.gnu.org/licenses/gpl-faq.html
[3] http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs

Possible Solutions
------------------
Even though this issue has yet to be confirmed by others I'm already listing 
possible solutions here. These could be considered in order to resolve the 
issue if it is confirmed:
1) Have OCC relicensed under the LGPL: The author of the Debian bug report 
talks about a possibility of having OCC relicensed under the LGPL if there are 
enough people trying to persuade Open CASCADE S.A.S.
2) Get a linking exception in PyQt: PyQt already has 26 linking exceptions for 
many popular free software licenses, so asking its developer to add another 
one for the OCTPL might be successful.
3) Port pythonOCC to PySide: PySide is basically "PyQt under LGPL". Porting 
pythonOCC to PySide should be quite easy.

If action has to be taken in order to achieve license-compatibility I'd be 
happy to help by writing either mails or code.

Regards,
Marko

&lt;/pre&gt;</description>
    <dc:creator>Marko Knöbl</dc:creator>
    <dc:date>2012-01-05T00:16:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1008">
    <title>python-occ / oce user/dev meeting &lt; at &gt; 28C3</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1008</link>
    <description>&lt;pre&gt;Hello *,

I'm currently &amp;lt; at &amp;gt;28C3 in Berlin. I'd be interested in meeting other
python-occ / oce devs/ users. Anybody else?
My local Dect is 4232.

Regards,

Henning

&lt;/pre&gt;</description>
    <dc:creator>Henning Meyer</dc:creator>
    <dc:date>2011-12-27T18:06:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1002">
    <title>Getting a Dump of TopoDS shapes</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1002</link>
    <description>&lt;pre&gt;Hi,

I'm trying to print a dump of my TopoDS shape to screen.  I tried:

BRepTools.Dump(s1, sys.stdout)

where s1 is the shape, but it wants a Standard_OStream structure for the second
argument.  I couldn't find any information on how to create a Standard_OStream
structure in pythonocc.  I tried:

from OCC.Standard import *
sos = Standard_OStream()

but Standard_OStream doesn't seem to be part of the Standard module.

Can someone help?  I'm using pythonocc0.5.

Thanks In Advance,
Charles 


&lt;/pre&gt;</description>
    <dc:creator>Charles Sharman</dc:creator>
    <dc:date>2011-12-26T19:34:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1001">
    <title>3D beam elements modelisation (civil and buildingfea)</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/1001</link>
    <description>&lt;pre&gt;Hello

I developped some tool using salome (GEOM and SMESH module). And I wonder
if it will be better to use python OCC instead.

The purpose of the first tool is to generate a space frame structure for
structural analysis given a top (curved) surface (given from rhino) and
maybe a bottom surface.
It will be very usefull form me if this tool could be used under MSwindows.
what I need is :
graphical selection of component (for deleting and cleaning of file)
SMESH meshing capability (quad and triangle, 1d mesh and 2d mesh)
intersection between curved surface and line or plane
export to mesh file (med in particular)

Do these feature are aviable with python OCC ?

Another tool use salome in order to generate a 3D view of this space frame
it will be very usefull if it could be launch from code aster (python
interface FEA). Is pythonOCC a librairy that could be called from any other
python software?


Regards

Frédéric
&lt;/pre&gt;</description>
    <dc:creator>frederic renou</dc:creator>
    <dc:date>2011-12-16T15:49:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/995">
    <title>Why pythonocc is so big ?</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/995</link>
    <description>&lt;pre&gt;Hi !

I just compile OCE 0.8 and the last pythonocc 0.6dev and everything is 
fine but I'm very surprised about the size of pythonocc.
OCE takes around 300Mo and pythonocc too...
PythonOCC is "just" a wrapper so why does it take so much space ?


Seb

&lt;/pre&gt;</description>
    <dc:creator>Sébastien Ramage</dc:creator>
    <dc:date>2011-12-12T14:37:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/989">
    <title>RE : Re:  Wireframe/solid generation</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/989</link>
    <description>&lt;pre&gt;Did you try to cast the compound to a TopoDS-Solid?

Thomas
- sent from my Android phone

Le 8 déc. 2011, 10:07 AM, "Jayesh Salvi" &amp;lt;jayeshsalvi-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; a écrit :

After more investigation of why NotDone is thrown, I have found some info.

The Fuse operation has ErrorStatus() function on it. I found that it
returns the error code 110.

Then I looked into OCC code to find out what 110 stands for. I think these
two locations in code can throw that error
[1&amp;lt;https://github.com/tpaviot/oce/blob/master/src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx#L315&amp;gt;]
and [2&amp;lt;https://github.com/tpaviot/oce/blob/master/src/BRepAlgoAPI/BRepAlgoAPI_BooleanOperation.cxx#L390&amp;gt;
]

The actual error code is 10. Further digging for it, I found that there are
two locations that throw that error code.
[1&amp;lt;https://github.com/tpaviot/oce/blob/master/src/BOP/BOP_ShellSolid.cxx#L145&amp;gt;]
and [2&amp;lt;https://github.com/tpaviot/oce/blob/master/src/BOP/BOP_WireSolid.cxx#L90&amp;gt;
]

Both are caused by issues with type of the shape that is passed as
arguments.

It looks like the code has problem if one shape is of type TopAbs_SHELL and
other is TopAbs_SOLID. In our case I tried to find out the ShapeType's of
the two shapes we pass. One of them (box created by BRepPrimAPI_MakeBox) is
TopAbs_SOLID and the other (that we constructed by hand) is
TopAbs_COMPOUND. This confuses me because arg type checking code has no
condition that mentions COMPOUND shape type.

Any ideas are welcome.
--
Jayesh

On Thu, Dec 8, 2011 at 12:56 PM, Jayesh Salvi &amp;lt;jayeshsalvi-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
wrote: &amp;gt; &amp;gt; Hi, &amp;gt; &amp;gt; I tried ...

_______________________________________________
Pythonocc-users mailing list
Pythonocc-users-8nu/KwtRnEU&amp;lt; at &amp;gt;public.gmane.org
https://mail.gna.org/listinfo/pythonocc-users
&lt;/pre&gt;</description>
    <dc:creator>Thomas Paviot</dc:creator>
    <dc:date>2011-12-08T11:00:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/985">
    <title>Keyboards shortcuts</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/985</link>
    <description>&lt;pre&gt;Dear pythonocc users,

Again a newbie question, sorry.

Since I am not familiar with CAD system, it is quite difficult to guess the list of keyboards shortcuts of pythonOCC trough a display ? I guesses the following active keys
      f 'fit'
      w 'wired'
      q ?
      s ?
      v 'visible'
      b 'blanked'
      Ctrl+MouseButton1 for zoom,
      Ctrl+MouseButtonB2 for pan, etc)

Where these shortcuts are defined ? in pythonOCC, in OCC, in the relation with a backend ?

How can I define new shortcuts ?

Another question : how can i cite PythonOCC in a scientific paper ?

Regards,
Vincent A.


--
Vincent ACARY                                                           Chargé de recherche
INRIA/ BIPOP                                     http://bipop.inrialpes.fr/people/acary





&lt;/pre&gt;</description>
    <dc:creator>Vincent Acary</dc:creator>
    <dc:date>2011-12-06T11:08:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.cad.pythonocc.user/972">
    <title>Viewing a STEP file</title>
    <link>http://comments.gmane.org/gmane.comp.cad.pythonocc.user/972</link>
    <description>&lt;pre&gt;Dear pyhtonocc users,

I use the following file script to try to us view a STEP file, byt nothing appear ?

Do you have an idea where is my (huge) mistake ?

Is there an equivalent example in the repository ?

Vincent

from OCC.BRepPrimAPI import *
from OCC.gp import *
from OCC.TopLoc import *
from OCC.AIS import *
from OCC.Display.SimpleGui import *
display, start_display, add_menu, add_function_to_menu = init_display()
v = display.GetView().GetObject()

from OCC import STEPControl,Quantity

step_reader = STEPControl.STEPControl_Reader()
status =  step_reader.ReadFile(filename)
if(status == STEPControl.IFSelect.IFSelect_RetDone):
    #Interface_TraceFile::SetDefault();
    failsonly = False
    step_reader.PrintCheckLoad( failsonly, STEPControl.IFSelect.IFSelect_ItemsByEntity )
    nbr = step_reader.NbRootsForTransfer()
    step_reader.PrintCheckTransfer( failsonly, STEPControl.IFSelect.IFSelect_ItemsByEntity )
    for n in range(1,nbr+1) :
        ok = step_reader.TransferRoot( n )
        nbs = step_reader.NbShapes()
        trans=2.0
        print "importSTEP Solid, nb shapes ", nbs
        if  nbs &amp;gt; 0  :
            for i in range(1,nbs+1) :
                #TopoDS_Shape shape = aReaderManette.Shape( i );
                pAis=AIS_Shape( step_reader.Shape( i ))
                #pAis.SetTransparency(1)
                pAis.SetColor(Quantity.Quantity_NOC_DARKVIOLET);
                #pAis.SetMaterial(Graphic3d_NOM_PLASTIC);
                toto = Handle_AIS_InteractiveObject(pAis)
                display.Context.Display(toto, True )
                
    display.Context.UpdateCurrentViewer() 
else:
    print "An error occured when loading", filename

--
Vincent ACARY                                                           Chargé de recherche
INRIA/ BIPOP                                     http://bipop.inrialpes.fr/people/acary





&lt;/pre&gt;</description>
    <dc:creator>Vincent Acary</dc:creator>
    <dc:date>2011-12-03T15:10:27</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.cad.pythonocc.user">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.cad.pythonocc.user</link>
  </textinput>
</rdf:RDF>

