Hack of the day: offsetting a curve

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Hack of the day: offsetting a curve

Post by DeepSOIC »

I'm thinking of implementing a Py feature. But:
1. If newer OCC can already do it, is it worth it?
2. This method will probably fail with non-tangent connections (haven't tried yet).
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Hack of the day: offsetting a curve

Post by triplus »

Newer OCC most likely won't use Sweep for Offsetting purposes. Therefore if you would implement good algorithm that does the correct thing at intersections it could be used as alternative to try out when OCC/OCE default Offset tools fail. In complex scenarios user will probably need to clean up the geometry manually.

But then again "Sweep Offset" tool will most likely work in a lot of scenarios and maybe once it will be implemented you will have an idea on how to do more stuff with it. Like for example Offsetting a face edges by only selecting a face.

If for example i try to offset Facebinder feature in Draft WB FreeCAD crashes. I know this is not the intended workflow but maybe the approach by using Sweep Offset could work here. I can get the edges of the face and use it for a Sweep path without issues.

Therefore do we need a tool for that or does the user already have enough tools to do that manually instead when needed. I guess having an automated tool for that wouldn't hurt!
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: Hack of the day: offsetting a curve

Post by cox »

I would relay like to see a automated feature like this, the need for it comes up quite often, but not often enough that I remember how I solved it last time, so it becomes trial an error before i reach a solution. And I always feal like I did something wrong.

Nice work :D
Need help? Feel free to ask, but please read the guidelines first
Post Reply