Hi Sean,

The OpenCascade API is huge, it took me almost two years to get familiar
with it. 'Familiar' does not mean that I know all method/classes and how to
use them, but I know how to dive into new concepts that I never used to work
with.

pythonOCC aims at making the first steps with OCC quicker and easier. You
got a box and a cylinder displayed on your machine? Perfect! I worked dozens
(hundreds?) of hours only to have this small demo working, that mean we are
on the good way! pythonOCC suffers from a lack of documentation for
beginners, a kind of 'get started' or 'tutorial' but here is how you could
proceed to get done with your projects:

1. The basics of OCC data model is the concept of shapes, wire, edge,
vertex, shell etc. If you understand what they are, you can do anything with
the API: the rest is just algorithms that take/return such objects. I
suggest you read the Roman Lygin's blog dedicated to this topic (a serie of
five articles). It is perfectly written, and you'll learn a lot from it:
http://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html

2. Traverse the /samples directory of pythonOCC. The samples are classified
into folders with a functional structure. The pythonOCC is splitted into 2
levels :
- the wrapper level (Level1), which is just a set of bindings of OCC to
python. The way to deal with the Level1 API is really close to the C++ one.
It will ensure your app is easily portable to C++ but, on the other hand,
you will not really benefit from the power of python,
- the Level2 API, which is a set of python classes/functions built upon
Level1 objects, in order to make development with pythonOCC much easier,
quicker and, most important, *pythonic*.

3. To have details about the pythonOCC API, check the API reference
documentation (generated with epydoc) at http://api.pythonocc.org. A few
methods had actually to be transformed in order to be used from python,

4. Whenever you have a problem, send an email to this ml. You'll get a quick
answer. You can also try to search/post/browse the OCC official forum :
http://www.opencascade.org/org/forum/,

5. When you're familiar enough with OCC data model and algorithms, you can
try to read the official OCC documentation. It's not for beginners,

At last, the material removal simulation is something we discussed on this
ml a few weeks ago (see
https://mail.gna.org/public/pythonocc-users/2010-03/msg00041.html). It
appears that boolean ops over BRep shapes are too slow to perform a
simulation. The idea would rather be to use the Voxel package, although
there still are implementation issues. BTW Sébastien, did you go further
with it?

Welcome to you Sean, and have fun!

Best Regards,

Thomas

2010/4/14 Dave Cowden <dave.cow...@gmail.com>

> Hi sean, welcome!
>
> The first tip is to poke around the opencasade forums. Many elementary
> topics are addressed there in c++ language, and can be translated to
> python easily.
>
> Another great resource is to read romans' series of occ blogs:
> opencascade.blogspot.com.  He has a great set or intro articles that
> help with the basics.
>
>
> Lastly, make sure to check out the occ samples: there is a lot of code
> in there that demonstrates the basics.
>
>
> Material removal simulations are a great occ application, you have
> chosen well.
>
> On 4/13/10, Sean McAllister <smcal...@gmail.com> wrote:
> > I'm trying to come up with a little application to help me with my wood
> > working.  Basically I want to use a router to cut patterns into panels,
> and
> > I'd like to be able to visualize them on the computer before hand.  This
> > would basically consist of just having a mesh for the work piece (usually
> a
> > rectangle), and then having a profile of the bit I'm going to use, and
> > extruding it along a path (determined by user parameters), "removing"
> > material from the mesh as I go.  I'm solid with Python, but don't have
> any
> > experience with OpenCascade or pythonOCC, so I was helping someone could
> > give me a few pointers on where to get started.   I've got a basic app
> > starting up with a Qt backend displaying a cylinder and a rectangle, but
> > that's it right now.
> >
> > Sean
> >
>
> _______________________________________________
> Pythonocc-users mailing list
> Pythonocc-users@gna.org
> https://mail.gna.org/listinfo/pythonocc-users
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to