Hi, Guys, thanks:

My offset is 0.15, and i have changed tolerance to 0.001, and still have a
segfault. The problem is shape-dependent, I've found.  I'm reading STL
files, and converting them to solids.  I can produce the error consistently
with one particular part, but two others always work. ShapeFix_Shape reports
in both cases successful completion with "One free shell fixed".

One thing that annoys me about tolerances is that they must change based on
unit of measure. IE, realistically, if the model is in mm, a tolerance of
0.01 works well, but if the model is in inches it should be 0.0005. Jelle,
thanks for the feedback on that, I suspect my code might run faster if i go
through and set these tolerances correctly everywhere instead of just being
lazy and putting it always 'very small'

On Sun, Apr 18, 2010 at 8:38 AM, Jelle Feringa <jelleferi...@gmail.com>wrote:

> You're right, but I far as I know the use of a C++ debugger is the only way
> "to get a stacktrace from a segfault" if the segfault comes from OCC.
>
>
> Correct, but I wouldnt go for it after not having exhausted _all_ other
> methods ;')
>
> This method allows you to test lots of possibilities in a very short
>> time...
>> Though I do think the tolerance your setting is not reasonable for
>> most CAD kernels...
>>
>
> Can you go further with this interesting argument?  What is, according to
> you, a "reasonable tolerance for a CAD kernel"?
>
>
> Well, I should say "practical tolerance", usually 0.001
> If you use really really high tolerances ( < 0.001 ) than the algorithms in
> the kernel, all based on calculus just have to work so much harder, with far
> less error margin.
> So the smaller your tolerance, the more sensitive your geometry becomes for
> error, more CPU cycles are used...
> The point is; use practical tolerances, don't set these greater nor lower
> than you explicitly need.
> My experience ( surely domain specific! ) is that you rarely need to go
> lower than 0.01
> In architecture we deal with different tolerances than other industries
> however.
> I can imagine that you need very low tolerances for mechanical parts for
> instance.
>
> Offsetting is a very complex operation, and a tolerance of 0.00001 is very
> very low... almost as low as the tolerances used in OCC  ( 1e-5, 1e-6 ), so
> I'm not surprised that you run into problems...
> ( tolerances are a complex topic however, an angular tolerance of 0.01 is
> completely unacceptable for instance, OCC uses 1e-12 if I recall
> correctly... )
>
> -jelle
>
> _______________________________________________
> 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