Bryan Bishop a écrit :
> On Tue, Apr 7, 2009 at 6:36 AM, Bryan Cole <bryan.c...@teraview.com> wrote:
>   
>> I've been working with pythonOCC for a week or two now. Can anyone give
>> me some pointers on how to construct assemblies in OpenCascade. I
>> suspect I need the OCAF framework for this, but I'm not too sure. Will
>> Compound Shapes achieve this?
>>     
>
> I'm not aware of any "asssemblies" stuff done with OCC, so I've been
> implementing my own part mating stuff. Does anyone know if this is
> redundant?
>   

Hi Bryan,

I'm surprised to see here a discussion related to assemblies and part 
mating. As I think that a mating system is relevant for a 2D sketcher, I 
don't consider this is an issue for assembly stuff.

Basically, an assembly is a set of parts that are positioned in a 3D 
space. You have then only 2 ways to achive that:
- a relative location of each part in relation with the other parts (1),
- an absolute location in the 3D space (2).

The assembly mates (parallelism, distance, etc.) are clearly in the 
first field. I was really impressed when I discovered very efficient 
mating systems in SolidWorks or Catia V5, and really became a mate 
addict. Then I realized a few years ago that these systems actually 
create more problems than they solve. In a few words: if you work alone 
on a small project, assembly mates are practical. If you are a member of 
a project team in charge of the design of a car or an aircraft, it 
becomes impossible to deal with mating stuff: mates increase complexity 
of the system (in the sense that the number of connections in the system 
increases as well) that make a big problem not separable in smaller ones 
(and then conflicting with Descartes' method!). On the other hand, if 
you want to share product information, you have to store product data 
with a small granularity in PDM systems. You have here a strong conflict 
(complexity/granularity) that can, as far is I know and from what I've 
seen, be simply solved by this way:
- the assembly is a simple XML file that contain pointers to other CAD 
files and an absolute 3x4 position matrix,
- store the CAD files and the XML in your PDM system,
- generate the 'assembly view' on the fly whenever requested.
That is, the second solution (absolute positioning) seems to be the more 
robust. That's why I think part mating is not an issue anymore: I (and 
other people) gave up with that!

At last, if one really wants to be rigourous, follow the STEP PDM Schema 
1.2 specifications: 
http://www.steptools.com/support/stdev_docs/express/pdm/pdmug_release4_3.pdf 
. This document is a master piece, in my opinion the best ever written 
about assemblies (and a lot more things), that everyone should read once!

Best Regards,

Thomas


_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to