Hi, Thomas:

I have one other suggestion also, coming from the 'agile' point of view.
 the HLA is a huge and daunting task-- and thus the reason any discussions
quickly become large.  I would recommend that a scope of work be decided
that is managable and allows producing something that we can get experience
with, rather than attempting to drive any particular approach ( top-down or
bottom up ) for the entire scope of the HLA.

For example, perhaps we could agree that although the HLA contains much
scope, the scope that is most needed and straightforward is the creation of
primitives and basic CSG operations.  The rationale would be that these are
the first operations new users are likely to perform, and are thus a good
starting point.  Explicitly _out_ of scope would then be considerations of
parametrics, assemblies, fancy curves, multi-process coordination of
entities, etc.

The best way I see to define this scope would be for you to approve the user
stories that the first release supports. For example:

  * "as a user of the HLA, i can programmatically create a sphere by
specifying its diameter and center point in space"

 * "as a user of the HLA, i can translate an object that has been created
without creating another variable reference. Preferably, the creation and
translation are accomplished in a single line"

* ".... i can perform the union of a two objects, creating a third one, and
convieniently return the resulting object for further manipulation"

Presumably these user stories would become test cases or suites for the HLA.

Something we could reach consensus on and release, however small in scope,
would be better than spending too long on discussions attempting to consider
the entire scope.  I think having something conceptually simple that we can
iterate from would be very beneficial to coming up with an API that works
well. We are certain to find that we must re-work some of these initial
implementations to provide later functionality, but as long as the test
cases and user stories match well, this effort will be managable.

On Mon, Dec 27, 2010 at 8:07 AM, Thomas Paviot <tpav...@gmail.com> wrote:

> Hi,
>
> Regarding the second point (basic primitives such as point, line, circle
> etc. or other entities like coord_sys, group etc.), this is exactly what
> we're thinking about for the 'High Level API' (HLA) for pythonOCC. In my
> opinion, it is the most important part of the pythonOCC project, since we
> all agree that the OCC library is too granular in order to be easily,
> quickly and efficiently deployed.
>
> On the other hand, this could solve one of the major issue of the pythonOCC
> project : the lack of documentation and/or tutorials/howtos/getting started.
> As it is currently designed (a python wrapper for the OCC library), writing
> doc for pythonOCC is the same thing as writing docs for the OCC project. It
> is clearly not our intent, and out of our skills/free time/etc. We are
> convinced that the use of both python and a HLA can really add value the OCC
> modeling kernel. Our documentation efforts would then focus on the HLA.
>
> However, the scope of this HLA has to be explicit and clearly delimited,
> and the semantics of the basic constructs must be shared among the pythonocc
> users or related projects. For instance, in the pycado project, you defined
> a 'group' entity. According to what I read in your code, the 'group'
> contains a set of basic operations/instance creation. In my opinion, this
> entity is not really a 'group' but rather an 'ordered set' since you cannot
> inverse the order of the elements of the group. It's however a good idea,
> but it has to be made explicit in order to avoid ambiguities in the use of
> this entity. I would like to work about that (a Platform Independent
> Model-PIM) before thinking about the implementation issues and the
> underlying technologies (python packages/modules, pycado or something else
> scripts, SOA and webservices, MOM etc.), that is to say before designing a
> set of Platform Specific Models (PSM) that would share a consistent,complete
>  and extensible semantics (a top-down approach).
>
> I will post a new entry in the coming days, to sum up the exchanges related
> to the "have you seen this" thread and suggest a way/plan to let everybody
> interested in this work contribute the development of the HLA (the dual
> bottom-up approach).
>
> Cheers,
>
> Thomas
>
> 2010/12/23 julien blanchard <julien...@yahoo.fr>
>
> Hi,
>>
>> The layer above python was matching the best with our goals, in fact, I
>> see two
>> main parts in our project:
>> - the "IDE part" providing an optimized syntax for CAD and an efficient
>> graphical visualization (by updating only components being modified in the
>> script since last refresh)
>> - the high level API written in pure python. This API should be used both
>> in
>> python project and pycado projects.
>> For now, the API contains the following primitives (can have several
>> "constructors"):
>> coord_sys (coordinate system), point, line, circle, vector, surface,
>> solid,
>> group (a group can join any primitive)
>>
>> Julien.
>>
>> ----- Message d'origine ----
>> De : Dave Cowden <dave.cow...@gmail.com>
>> À : pythonOCC users mailing list. <pythonocc-users@gna.org>
>> Envoyé le : Mer 22 décembre 2010, 19h 35min 20s
>> Objet : Re: [Pythonocc-users] Re : Anyone seen this? (Dave Cowden)
>>
>> Hi,
>>
>> I am not a fan of pre-processors and scripts that are not pure python.
>> I think that such an architecture is unnecessary in a dynamic
>> language like python or javascript.  Is it not possible to accomplish
>> the abstractions without pre-proccessing or another layer of syntax
>> above python?
>>
>>
>>
>>
>> _______________________________________________
>> 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
>
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to