I have tested this against the area and realized that it's slightly too small. The problem must be how OCC creates the ruled surface and we need a way to set somehow the constraint that the line has constant length.Yes it looks really good. I made a shell and a solid from it. So I got a volume of 654000.0000338121 mm3. But according to the German wikipedia, it should have a volume of
[Challenge] How to model an oloid?
Forum rules
and Helpful information
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!
Also, be nice to others! Read the FreeCAD code of conduct!
Re: [Challenge] How to model an oloid?
Re: [Challenge] How to model an oloid?
Thanks for your input guys.
So as I surmised, it's not an easy problem to solve.
I'm guessing that the distance should always remain 103.923mm on this specific oloid.
So as I surmised, it's not an easy problem to solve.
You mean that the distance between one arc and the other should always be equal?wmayer wrote:The problem must be how OCC creates the ruled surface and we need a way to set somehow the constraint that the line has constant length.
I'm guessing that the distance should always remain 103.923mm on this specific oloid.
Re: [Challenge] How to model an oloid?
I thought of making a Part Sweep instead of a ruled surface, using one of the arcs as path, and 3 equal length Draft Lines as sweep profiles.wmayer wrote:we need a way to set somehow the constraint that the line has constant length.
I had previously used only two lines (start and end), but it didn't produce a correct shape.
With three lines, when I create the sweep, POOF! Instant crash.
(If I make the arc in a single segment instead of two, there's no crash, but the resulting shape is wildly wrong)
Going the other way, selecting the sketches as profiles and one of the Draft Lines as path, the created shape is not right.
OS: Ubuntu 14.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6703 (Git)
Build type: None
Branch: releases/FreeCAD-0-16
Hash: 2ce5c8d2e3020d05005ed71f710e09e9aa561f40
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
- Attachments
-
- FC_oloid_02.png (6.76 KiB) Viewed 1941 times
-
- oloid_normandc5.FCStd
- (13.47 KiB) Downloaded 50 times
Re: [Challenge] How to model an oloid?
Yes, that's what the WP article says. So, in other words this means if you start to move the line along the two curves you always find two point pairs on them so that their distances are kept constant. Basically this must be achieved by a certain parametrization how fast you move the lines.You mean that the distance between one arc and the other should always be equal?
If you load the meshes from the article I referenced, create a shape from them and then measure the edge lengths you will see that they are basically equal (they are not identical because the mesh is only an approximation).
Re: [Challenge] How to model an oloid?
Maybe what we need is a sweep function that supports more than a single path. Or a loft tool that supports "guide rails", as other CAD programs have. On the other hand that may not produce the expected result either...
Re: [Challenge] How to model an oloid?
When looking at the OCC API there is e.g. the class GeomFill_Sweep where you can define a "law" function. I assume that with this we could make it more flexible but it's like always with OCC that there are almost no examples or documentation.
Re: [Challenge] How to model an oloid?
It is already possible to get an improved but still not perfect oloid with the classical FreeCAD sketcher. I made a sketch, which creates more divisions of the 30°-arc but uses the same technique as used by wmayer. So I came to an oloid with 659316.2 mm3 instead of the 659322.2 mm3 as calculated with the magic number from the German Wikipedia.NormandC wrote:On the other hand that may not produce the expected result either...
Ulrich
- Attachments
-
- Oloid3.fcstd
- (70.31 KiB) Downloaded 76 times
-
- Oloid3.png (75.18 KiB) Viewed 1884 times
Re: [Challenge] How to model an oloid?
The file is complex because it contains the code for a half oloid with pegs. The following code, which can be entered directly into FreeCAD, works:keithsloan52 wrote:I found an OpenSCAD version of an oloid at http://www.thingiverse.com/thing:44326 Still seems quite complex looking at the scad file
Code: Select all
radius = 20;
$fn=180;
hull() {
cylinder(r=radius, h=0.0001);
rotate([90,0,0])
translate([radius,0,0])
cylinder(r=radius, h=0.0001);
}
Re: [Challenge] How to model an oloid?
As always, very nice Ulrich.ulrich1a wrote:It is already possible to get an improved but still not perfect oloid with the classical FreeCAD sketcher. I made a sketch, which creates more divisions of the 30°-arc but uses the same technique as used by wmayer. So I came to an oloid with 659316.2 mm3 instead of the 659322.2 mm3 as calculated with the magic number from the German Wikipedia.
Based on my previous idea of using Loft, I extracted the edges from your shape and created a Loft out of them. This gives a very smooth surface with no edges crossing it. Of course, it is no longer parametric.
- Attachments
-
- Oloid_with_loft_normandc1.fcstd
- (22.59 KiB) Downloaded 72 times
Re: [Challenge] How to model an oloid?
Your approach seems to be even tighter to the requested shape. I got a volume of 659321.6 mm3 from it. This is the best value, I have seen so far.NormandC wrote:Based on my previous idea of using Loft, I extracted the edges from your shape and created a Loft out of them.
Congratulations!
We have to learn now version 0.17. The Part-Design Next has an Icon, that looks like the loft symbol. So combining both approaches in Part-Design Next, it could be parametric! What is missing now, is a parametric version of making shells and solids from faces.NormandC wrote:Of course, it is no longer parametric.
Ulrich