Sweeping pipe along 3d path

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!
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Sweeping pipe along 3d path

Post by liongate »

I am trying to sweep a tube along a path on two planes. I have searched the topic and found a couple of references, with this onehttps://forum.freecadweb.org/viewtopic. ... &p=554835 being the most valuable and relevant. I have done the following:
  • 1. sketched the two dissimilar (different sized) cross-sections of the tube to be swept
    2. created two Datum Planes
    3. sketched the two halves of the path on the two Datum Planes
    4. created a green Binder to join the two halves of the path
I am using version 0.19, R24291 on Windows 10 V2009 64-bit.
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24291 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: 7b5e18a0759de778b74d3a5c17eba9cb815035ac
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United States (en_US)

Here's my tree with the path I want to sweep along.
Example.jpg
Example.jpg (154.99 KiB) Viewed 995 times
When I select the sketch I want to sweep, and select the two edges associated with the Binder object I get the error "A fatal error occurred when making the pipe" and the sweep is distorted in the preview:
Example 1.jpg
Example 1.jpg (181.03 KiB) Viewed 995 times
The order of the selection of the path's edges clearly makes a difference, since if I select the nearest edge first the first segment of the sweep appears correct in the preview window but the sweep still fails:
Example 2.jpg
Example 2.jpg (170.4 KiB) Viewed 995 times
Note that the Datum Points are just references to get the Datum Planes to align where I want them, although placing them did not allow a high degree of precision -- I'm sure there's a better way to do that using a 3d array. I saw a link to a video of that but it was in German and difficult to follow how he created the array.

My question is, what am I doing wrong and how can I get the full sweep from the Large port to the Small port sketches using the Binder as a path? My project file is attached. Disregard the CenterJoint object -- that was an attempt to do the sweep in two halves, which also failed. I could complete one half but the other half would not allow me to select the same CenterPoint object as a target in Multisection mode.
Attachments
Blower Motor Vent Attempt #4 -- from scratch.FCStd
(23.7 KiB) Downloaded 23 times
user1234
Veteran
Posts: 3345
Joined: Mon Jul 11, 2016 5:08 pm

Re: Sweeping pipe along 3d path

Post by user1234 »

liongate wrote: Sun Jun 26, 2022 4:18 pm My question is, what am I doing wrong and how can I get the full sweep from the Large port to the Small port sketches using the Binder as a path?
The path you created with that shape binder, is not connected (also not tangent).
1.png
1.png (3.79 KiB) Viewed 960 times

The path must be a continuous set of lines, which are connected and, in your case, tangent. Also it would be good, if the staring points of the path starts in the center of the profile ends and not somewhere random in the near.


Greetings
user1234
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Re: Sweeping pipe along 3d path

Post by liongate »

How do I connect or make tangent the two points given that they exist in two separate drafts on separate planes?
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: Sweeping pipe along 3d path

Post by chrisb »

Attach a sketch to the end of the sketch. Then you know exactly that you start where the other sketch ends.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Re: Sweeping pipe along 3d path

Post by liongate »

I'm sorry -- I'm quite a novice. How do you connect two sketches? Are you suggesting I need to make a pad and place the other sketch on side of the pad?
user1234
Veteran
Posts: 3345
Joined: Mon Jul 11, 2016 5:08 pm

Re: Sweeping pipe along 3d path

Post by user1234 »

You must do two sketches, where the tangents met. The easiest way to do

- is define the tangent on the meeting point
- then you make two datum planes with the attachment of the tangent line and one point from the end (for each)
- then you can use the datum line and points in the sketch as external reference and
- constraint them tangent to the datum line and coincident on the meeting point
- then you bind the two sketcher lines with a (sub)shape binder and make the loft

1.png
1.png (177.15 KiB) Viewed 884 times

2.png
2.png (236.83 KiB) Viewed 884 times



Or there is a way (not from me) with an intersect form two direction with tangent path. But the result of the geometry check is not OK, even when the result looks OK.

3.png
3.png (186.52 KiB) Viewed 884 times

Greeetings
user1234
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Re: Sweeping pipe along 3d path

Post by liongate »

Okay, so I think I understand now -- you're referring to the datum line as the tangent. Looking at what you did, to be clear, you are:
1. locating the data point based on the center of curvature of the CenterJoint circle,
2. creating a datum line running through the central data point as the axis for the two planes, i.e. tangent
3. defining the orientation of each plane with a second point
4. Creating the sketches on each plane and locating the drawing with reference to the central data point

Correct?

Bless your bloody heart -- in formulating my follow-up questions you just forced me to learn to use external geometry. Hallelujah. You're my new hero. Thank you so much for your time! :D
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Re: Sweeping pipe along 3d path

Post by liongate »

I do have another question though -- how did you turn off the visibility of the inner circle in the three sketches of the circles?
edwilliams16
Veteran
Posts: 3112
Joined: Thu Sep 24, 2020 10:31 pm
Location: Hawaii
Contact:

Re: Sweeping pipe along 3d path

Post by edwilliams16 »

I tried this with the curves WB|Mixed_curve technique. The result looks fine - but it fails the Part|Check Geometry test for some reason. What did I do wrong?

EDIT: Forgot the attachment
Attachments
offsetpipe.FCStd
(572.96 KiB) Downloaded 15 times
Screen Shot 2022-06-26 at 10.52.16 AM.png
Screen Shot 2022-06-26 at 10.52.16 AM.png (38.99 KiB) Viewed 817 times
Last edited by edwilliams16 on Mon Jun 27, 2022 11:01 pm, edited 1 time in total.
liongate
Posts: 48
Joined: Mon Nov 18, 2013 2:40 am

Re: Sweeping pipe along 3d path

Post by liongate »

Ok -- so I'm totally frustrated now. I'm not sure if it was a good idea or not but I decided in the interim to upgrade to .20. This is what I have now:

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: releases/FreeCAD-0-20
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.2
Locale: English/United States (en_US)
Installed mods: 
  * A2plus 0.4.56
  * Curves 0.4.4
  * fasteners 0.3.41
Blower Motor Vent Attempt #5.FCStd
(22.05 KiB) Downloaded 21 times
So, I recreated my datum planes based on a datum line and points so I have the tangent line and I was able to join the two geometries at the centerpoint. However, when I try to do the sweep it is still failing. This is what I get now. It only fails if I try to do a multisection sweep. Something seems buggier than hell. First when I tried to do the sweep I got this:
example 5.jpg
example 5.jpg (170.75 KiB) Viewed 752 times
But if I make my selections in a different order, i.e. if I add the path to sweep along (Edge1, Edge2) I get this! It didn't seem to care whether I used Frenet or Standard as the orientation mode.
example 6.jpg
example 6.jpg (162.47 KiB) Viewed 752 times
Post Reply