Thanks to all for helping out! Timing runs indicate that in this case, a cut
with a compound object is actually slower than individual cuts. Is there any
other way to make cuts on a box primitive other than using booleans?

On Tue, Jun 22, 2010 at 8:40 AM, Charles McCreary <
charles.r.mccre...@gmail.com> wrote:

> Thanks! I was following the bottle example in which the thread is added to
> the bottle and came up with a similar solution. But how should I cut with
> the compound object?
>
> On Tue, Jun 22, 2010 at 8:27 AM, Fotios Sioutis <sfo...@gmail.com> wrote:
>
>> 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
>>>
>>>
>>
>
>
> --
> Charles McCreary P.E.
> CRM Engineering
> 903.643.3490 - office
> 903.224.5701 - mobile/GV
>



-- 
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

Reply via email to