How to draw horn-shaped object

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
fcbuilder
Posts: 24
Joined: Thu Mar 03, 2022 3:40 pm

How to draw horn-shaped object

Post by fcbuilder »

Hi

I'm not an advanced user of any CAD, been using FreeCAD for half a year and still learning it.

The object on the right is what I'm trying to draw
I use Sketch workbench to sketch each section of the object which has different height and shape
Then I'll use loft or sweep from Part workbench to create solid
1.png
1.png (933 KiB) Viewed 1436 times
But it's a bit time consuming. Not to mention if there's a change in design, I have to change each section individually.

Is there a faster way to draw this? How do you guys usually draw objects like this?

Also how do you move or rotate sketches? I go to "placement" to adjust its xyz

Code: Select all

OS: GNU/Linux
Version: 0.19
Word size: 64-bit
Release date: 2021/03/17
Build type: Release
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
User avatar
NewJoker
Veteran
Posts: 3017
Joined: Sun Oct 11, 2020 7:49 pm

Re: How to draw horn-shaped object

Post by NewJoker »

For the path, check this thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=16604

When it comes to profiles, maybe videos about Nautilus shell modeling in other CAD software will give you a hint. I haven't found any examples of this being prepared in FreeCAD.
User avatar
mfro
Posts: 663
Joined: Sat Sep 23, 2017 8:15 am

Re: How to draw horn-shaped object

Post by mfro »

This is only a very quick and sloppy sketch, but just to show Additive Pipes can have a single point as end section and the start section does not necessarily need to be located on the path.
If I had to do this right, I would create the path as several adjacent one turn spirals with decreasing diameter.
horn.png
horn.png (100.75 KiB) Viewed 1184 times
Attachments
horn.FCStd
(103.33 KiB) Downloaded 38 times
Cheers,
Markus
kohnagha
Posts: 76
Joined: Tue Dec 25, 2018 1:47 am

Re: How to draw horn-shaped object

Post by kohnagha »

Also how do you move or rotate sketches? I go to "placement" to adjust its xyz
For me there seem to be too many Profiles, maybe 5 or so should be way enough. Attach your Profile-Sketches "normal to Edge" to the Path, use one single continuous (editable) Path. Position the Profiles with the "MapPathParameter" on this Path to easy move/add/delete/change the profiles.

out.png
out.png (87.15 KiB) Viewed 1062 times
User avatar
hammax
Veteran
Posts: 1985
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee DE

Re: How to draw horn-shaped object

Post by hammax »

... spiral sweeps are rather simple.
But the intended shape of your "horn" is not so clear to see.
Have a look at file "another_horn", built with CurvesWB.

Fibonacci.PNG
Fibonacci.PNG (40.27 KiB) Viewed 998 times
Attachments
another_horn.FCStd
FC.20.1
(28.31 KiB) Downloaded 24 times
fibonacci sweep_2.FCStd
FC.20.1
(34.92 KiB) Downloaded 22 times
User avatar
hammax
Veteran
Posts: 1985
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee DE

Re: How to draw horn-shaped object

Post by hammax »

... using CurvesWB you can create complex 3D-spirals for sweeppath.
Create hull curve and map a path on the surface.
Profiles at your will at start and end by FrenetNB (and between)
or parallel to Z.

AnotherHorn.PNG
AnotherHorn.PNG (67.33 KiB) Viewed 923 times
Attachments
another_horn_4.FCStd
(71.78 KiB) Downloaded 21 times
another_horn_3.FCStd
(224.49 KiB) Downloaded 21 times
another_horn_2.FCStd
FC.20.1
(31.2 KiB) Downloaded 21 times
Last edited by hammax on Thu Aug 11, 2022 1:25 pm, edited 1 time in total.
User avatar
papyblaise
Veteran
Posts: 7870
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: How to draw horn-shaped object

Post by papyblaise »

pouet-pouet
Attachments
pouet-pouet-2.FCStd
(236.41 KiB) Downloaded 25 times
pouet-pouet-2.JPG
pouet-pouet-2.JPG (24.19 KiB) Viewed 890 times
kohnagha
Posts: 76
Joined: Tue Dec 25, 2018 1:47 am

Re: How to draw horn-shaped object

Post by kohnagha »

Look out for arithmetic expresions of Horns, eg this http://paulbourke.net/geometry/spiral/
Compute xyz-Points, connect Points with splines, cover splines with the "Approximate"-Tool in curves-WB, make solid with Part-WB Offset-Tool.

01b.png
01b.png (43.7 KiB) Viewed 828 times
02b.png
02b.png (70.57 KiB) Viewed 828 times

Code: Select all

#http://paulbourke.net/geometry/spiral/
# --> Mathematical Sea Shell Created by Paul Bourke May 1989 

import FreeCAD, math, Draft, Part
import numpy as np

# n: number of spirals
n=2
# a: final shell radius
a=10
# b: height
b=40
# c: inner radius
c=8
smin=0
smax=2*math.pi
tmin=0
tmax=2*math.pi

#ts_otr = list()
ts_inr = list()

for t in np.arange (tmin, tmax ,0.05):
	ts_inr = list()
	for s in np.arange (smin, smax , 0.1):
		x = a * (1-t/(2*math.pi)) * math.cos(n*t) * (1+math.cos(s)) + c*math.cos(n*t)
		y = a * (1-t/(2*math.pi)) * math.sin(n*t) * (1+math.cos(s)) + c*math.sin(n*t)
		z = (b*t/(2*math.pi)) + a * (1-t/(2*math.pi)) * math.sin(s)
		#Draft.makePoint(FreeCAD.Vector(x,y,z))
		ts_inr.append(FreeCAD.Vector(x,y,z))
	Draft.makeBSpline(ts_inr,closed=True, face=False)
	#ts_otr.append(FreeCAD.Vector(x,y,z))
#Draft.makeBSpline(ts_otr,closed=False, face=False)
App.ActiveDocument.recompute()
Post Reply