Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
Linear3000
Posts: 13
Joined: Sun Feb 23, 2020 1:10 am

Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post by Linear3000 »

Hello students, teachers, and developers of FreeCAD!

I want to first say thank you so much to all the developers of freecad and the people who have spent time responding to forum posts, making videos, and making tutorials that have been exceptionally useful in getting to know the basics of this great open source project. It seems to be getting better all the time. I'm truly amazed and impressed that this exists!

Anyway, on to the problem: please do read my entire problem below --- and this is just the most visually simplified example of something I'd like to do on much more complex geometries and paths. I realize that a simple workaround for what I'm describing here is to just cut a cone with a cylinder using primitives. I do already do know how to do that. That's not the solution I'm looking for here.


I am having a bit of trouble trying to make a sweep (part workbench sweep) of a non-simply-connected sketch (i.e. a sketch that has a hole in it)
I want to sweep along the green path (see following image)
sweep.png
sweep.png (208.5 KiB) Viewed 725 times
When I try to sweep, the sketches that contain my desired profiles (sketch001 and sketch002) for some reason do not appear
in the list of profiles that are possible to sweep with.
sweep-fail.png
sweep-fail.png (126.18 KiB) Viewed 725 times
I do not understand why this is the case. But it definitely appears to be a problem with the fact that there are holes in the middle
of the sketches. When I delete the holes, the sketches reappear as profile options in the sweep dialog
sweep-success.png
sweep-success.png (128.79 KiB) Viewed 725 times
The 'not really what i want' workaround that I'm presently using is to use the part workbench feature "Apply Thickness"
apply-thickness.png
apply-thickness.png (3.85 KiB) Viewed 725 times
and applying that to a no-hole sketch to create a pipe-like structure with a specific wall thickness for the whole length of the sweep. But this is really not ideal...I'd like to create a more complex structure that has a variable wall thickness.

Any better ideas for an actual workaround?
(better than my 'not really what i want' workaround, haha!)

And thanks again in advance to all the dedicated people out there!

-LINEAR3000

Version Info:

OS: Ubuntu 18.04.1 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16131 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.18.3)
Hash: 3129ae4296e40ed20e7b3d460b86e6969acbe1c3
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: C/Default (C)

FreeCad File attached below
Attachments
PartSweep-NoHoleSketch.FCStd
(10.71 KiB) Downloaded 34 times
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post by jmaustpc »

Your first post, welcome to FreeCAD. :)

A couple of tips, don't mix Part and PartDesign objects, use one or the other. Mixing causes complications.

You can create a general purpose sketch from Sketch workbench so that it is not in a PartDesign body.

In PartWB see the Part menu....Primitives (submenu)...Create Tube (last primitive at the bottom of the list). This Tube might suit you best in some cases.

Part WB Extrude worked as you expected for me here with sketches that are from the sketch WB and hence not in a PartDesign WB body.

As you can see, I am using the automatic "daily" FreeCAD compiled automatically from the dev branch, in Kubuntu 18.04, there are a huge number of bug fixes and new features that makes 0.18 look quite dated now. It is possible that your experiences may vary since you are using the older last release version.

Jim


OS: Ubuntu 18.04.4 LTS (KDE/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Australia (en_AU)
chrisb
Veteran
Posts: 54288
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post by chrisb »

The Part Sweep is different from the PartDesign tube (and it even says so in the docs): In Part workbench the sketches must not have any cutouts. FreeCAD checks this and doesn't offer them for selection. Thus in PartWorkbench you have to create two sweeps, a bigger and a smaller one, and make a boolean cut.

In PartDesign you can well have such cutouts.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Linear3000
Posts: 13
Joined: Sun Feb 23, 2020 1:10 am

Re: Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post by Linear3000 »

Oh, thank you very much! I really appreciate it. Cheers!
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Part Workbench Sweep Function doesn't work with non-simply-connected sketches?

Post by jmaustpc »

Another possible method, if your wall thickness is consistent, then you could just Sweep the outer as a solid then select both end faces and apply a Part WB Thickness. If you Sweep the outer then the Thickness value needs to be negative, in my example its negative 10. If you Sweep the inner then you would apply and positive value Thickness.

Here are some examples...
partsweeptests19.FCStd
(129.18 KiB) Downloaded 49 times

OS: Ubuntu 18.04.4 LTS (KDE/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Australia (en_AU)
Post Reply