Below you can see a simplified code snippet from GEOM on how to create a
compound object.
It is in c++ but i think it will not be so difficult to translate in python

    BRep_Builder B;
    TopoDS_Compound C;
    B.MakeCompound(C);
    for (ind = 1; ind <= nbshapes; ind++) {
      B.Add(C, aShape_i);
    }
    aCompoundShape = C;

Fotis

On Tue, Jun 22, 2010 at 3:54 PM, Charles McCreary <
charles.r.mccre...@gmail.com> wrote:

> I've removed the display initialization until after all of the geometry
> calculations, not a factor in this case. The longitudinal cuts take ~10
> minutes each!
>
> Thanks for the excellent suggestions. I don't think parallelization will
> work in this particular case, but I think that it will help in a variant of
> this case, i'll be examining the referenced code.
>
> I'd like to try the cut with compound object but I cannot find any
> examples. Perhaps some pseudo-code indicating how to make a compound object
> out of a list of solids.
>
> On Tue, Jun 22, 2010 at 3:42 AM, Jelle Feringa <jelleferi...@gmail.com>wrote:
>
>> You can also speedup the slicing process by distributing the computation
>> over many cores (with the help of the multiprocess python module). Have a
>> look to the slides 17 and 18 of this slideshow:
>> http://www.pythonocc.org/resources/presentations_events/product-data-exchange-2009-conference-pde2009/.
>> This multiprocess slicing is enabled by the shared serialization of
>> TopoDS_Shape objects.
>>
>> The source code is available at:
>> http://code.google.com/p/pythonocc/source/browse/trunk/src/examples/Level2/Concurrency/parallel_slicer.py
>>
>>
>> True, for computing slices the multi-core approach works.
>> However -and I think this is the case we're dealing with- if you change
>> the object than of course using several processes doesn't speed things up,
>> since the processes will simple be waiting for another process to finish.
>> Fotios advice on constructing a compound object and than performing the
>> boolean operation is most likely the way to go. I also used that trick a
>> number of times with success.
>>
>> A note on display speed; by default, the display.DisplayShape method
>> updates the viewer. If you use the display.DisplayShape( someShape,
>> update=False ) the viewer will not redraw, which results in a considerable
>> speed up. Note that you can also supply a list of TopoDS_* instances as
>> argument.
>>
>> -jelle
>>
>> _______________________________________________
>> Pythonocc-users mailing list
>> Pythonocc-users@gna.org
>> https://mail.gna.org/listinfo/pythonocc-users
>>
>>
>
>
> --
> Charles McCreary P.E.
> CRM Engineering
> 903.643.3490 - office
> 903.224.5701 - mobile/GV
>
> _______________________________________________
> 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