Hi,
I tried to create a solid fillet between those two surfaces but always got open surfaces. Could anyone have a look at this.
Thanks!
FilletProblem.3dm (256.5 KB)
Hi,
I tried to create a solid fillet between those two surfaces but always got open surfaces. Could anyone have a look at this.
Thanks!
FilletProblem.3dm (256.5 KB)
Fillets can be temperamental.
Work-around.
Explode the starting polysurface.
Trim the surfaces other than the flat base with the fillets.
Merge the surfaces including fillets but not including the flat base.
Untrim the flat base.
Trim the flat base with the merged polysurface.
Merge the base and polysurface into a single polysurface.
The problem is that your domed surface is a bad object. It has stacked control
points along the bottom edge.
Enclosed is a fixed version of your solid that worksā¦
FilletNoProblem.3dm (96.2 KB)
Hi, Ke_Cao
I made a version (see the attached file, at least version 4 of Rhino is needed) with simple steps to follow in order to make a simmilar design like yours. Here is what I have done to make it successful:
Curve-revolve-box-fillet.3dm (144 KB)
Curve-revolve-box-fillet-boo-diff.3dm (456.9 KB) ā the file with big fillets and removed bottom
when you say ābad objectā, do you mean itās bad as in poorly drawn or bad as in āi can run xxxx command and rhino tells me itās badā ?
(i mean, i see the problem and agree itās bad⦠just wondering if thereās a way to check for stacked points)
My definition of a bad object is one that causes many commands to fail.
Extract the original dome surface and try offsetSrf on it.
McNeel has stubbornly refused to identify objects that have stacked control points as bad objects despite numerous user requests⦠That has caused users endless hours of grief in trying to figure out why commands are failingā¦
That may be because there are many ways to create surfaces with overlapping control points that are totally valid objects. Like spheres, domes, basically any revolved surface where the end point of the outline meets the axis of revolution.
Extrude to point already tells you in the name, it will collapse one edge to a single point locationā¦
You might even want to pinch several points to one location to create a sharp crease in an edge.
ā¦so how would you want to tell, a bunch of overlapping control point constitutes a bad object?
A single row of control points ācollapsedā to a pole or singularity isnāt what jimās talking about. āStackedā control points in a surface is where one row of control points is so close to the next (generally orders of magnitude less than file tolerance) that the two rows can be considered the same. If you ExtractPt the dome surface and then do a SelDup, you will see the bottom row of points select.
You can also have stacked control points with curves, and if they are use to generate surfaces, those will also have stacked points.
āMitch
The problem with Rhino as a solid modeler (which it partialy is to a certain limits) is that Rhino does not correctly deal with planar surfaces boolean operations, cuts, extrudes, etc.
In a solid modeler you can easily round and fillet any intersection curves when two objects boolean each other. It is defiinately in the hands of the programmers to make the mathematical approach to this.
Degenerate points are not always incorrect to have even with later applied offset, shell or thicken operations. They could be valid whit a symmetry objects (mirror) then joined ā offset. A sphere, a cone also could have degenerate points and those are valid objects I suppose.
One of the big examples is the so called corner ball round ā when three (or more) edges meet to a point and those edges need to be rounded. Letās say to round a vertex point of a cube (box). A very special case is where the round needs to be with a radius equal to the height (wodth) of the sides.
A very challenging task in Rhino that almost always explodes the result into uncontrolable surfaces. Here I made a simple video showing that rounding all to 6 mm isnt working. But when you round the corner first horizontally with 6 mm radius (the vertical edge I mean) and then the resulting top edges with 5.99 mm raduis it is working (almost acceptably) fine.
In short: you result in a three sided degenerate almost 1/4 dome shape āroundā surface at the corner.
Users should be warned about objects that are more than likely to cause commands to fail. If you want to ignore a warning you are free to do so. One should not have to waste hours trying to figure out why something doesnāt work when it would be a simple matter to inform the user that trouble lies ahead before they waste a single minute going into a dead end road.
Edges that are collapsed down to a point are already treated as exceptions . There is no problem distinguishing between constructs that are well known to cause commands to fail and those that are not.
i agree it should be able to do that but your video just made me realize some of the problem scenarios seem to have been fixed recently (maybe not super recent but iām on mac so generally a month or so behind on the service releases)⦠if i remember correctly, in the past, you couldnāt fillet a single side of a 6mm box with a 6mm filletEdge⦠likewise, you couldnāt do one edge at 3mm then the opposite edge at 3mm (forming a half-circle)ā¦
both of those scenarios now work for me so it appears some of these things are being worked on. ?
i guess in the situation of the OP file, the user is warned that something is wrong but too bad the warning doesnāt include a reason (though i can see how challenging it would be to make a warning system which explains all possible problems with a failed fillet)⦠that being-- when trying to filletEdge on the file, you get the red previews which are oriented in the wrong direction.
There was no warning given⦠Traffic engineers display the āDead Endā warning sign at
the start of the road for a reason. When you reach the dead end that isnāt a warning.
This has nothing to do with fillets. The failure could have been a boolean, make2d, intersection, volume calculation,or shelling just to name a few other commands that are much more likely to fail with objects built with stacked control points. And even if you succeed in making something in Rhino when you export to other CAD or CAM programs you are likely to havexported trouble.
That surface never would have been created in the first place if the OP had been warned that the profile curve was a bad object with stacked control points.
some of those will result in a single point⦠(draw a plane, turn points on, move a point on top of another, ā thereās now only 3 points for the surface)⦠it doesnāt always work out like that with curves where it is possible to have two points in the same location.
fwiw, iām not saying anything or anybody is right or wrong⦠just talking is allā¦
-weird in that you canāt ExtrudeCrv the OPās profile curve and you get "One input was not extruded because it would have made an invalid surface."
ā¦but it will let you revolve the curve into a surface.
seems a bit inconsistent.
Hi, Jeff
Well so there are pretty good news. I am here with SR7 of Rhino 5 x64 so maybe you are right and the recent SR8 update has fixed some of the scenarios.
Most important for me is:
does boolean work properly with coplanar surfaces of solid objects?
does it really rounds an edge corner with the same vaule in all directions (does it work properly with different radii)?
Can you show us an example?
well, your video is showing the fixes iām talking about so apparently, they were also fixed in sr7⦠being on mac, i canāt go back to older versions (since they expire) and check if my memory serves correctā¦
someone with rhino4 or an early release of rhino5 would have to go back and test this to see if my memory is just screwy⦠(if you have rhino 4, try to fillet the edge of a block using the same radius as the block is thick. -or- filletEdge using a radius of 1/2 the thickness on both sides⦠that used to fail- i think )
Oh, but if you look closely I did just the vertical edge round (horizontal rounding) to be 6 mm (equals the edge height).
Then all the top edges I made them to round with 5.99 mm value, because if I make them exactly 6 (which is the correct and intended value) the operation fails badly. Try and see for yourself.
In fact the round works with up to 5.99999 mm value (thatās odd enough) but will fail with six 9s after the decimal point!
Bu if you do check then the model for 'NakedEdges" there are 4 of them! Within 5.999 there are no naked edges. With 5.9999 mm there! Very fun things going on there!
The operation also fails if you make all the three edges rounded (in one go, selection) to the same value (in this case 6 mm).
oh, i see the error youāre showing and agree it needs to be fixed⦠what iām saying is that some of the problems i used to experience appear to be fixed nowā¦
in the not-too-distant past, i couldnāt do this without error:
if someone has an older version of rhino, iām pretty sure they could show an example of what used to happen in these situations⦠iirc, the result of trying a 10.00 FilletEdge here would look something like this:
ugh-- actually, i might of spoke too soon⦠iām still getting that error in this file:
filletedgefail.3dm (57.2 KB)
itās 7mm thickā try to filletEdge one edge of it with a 7mm radius and youāll see the error.
(though, on that file, i can do two edges at 3.5mm to form at half-circle⦠previously, this would have failed as well⦠so maybe the devs are trying to fix these errors but thereās still some iffyness in there)
Well you have a polysurface here (your file) not exactly a solid so you have to use the Surface tools instead
For solid (exrtusion) bodies the fillet (from Solid Tools) is working fine here!
Make a fillet between the top and vertical surfaces. Even with the opitons Extend=Yes and Trim=Yes it will not trim properly because of the tangent situation (radius of fillet = the height). It will Trim just the fillet surface as a suppose.
You have to trim the rest chunks manualy with Trim command:
select the fillet surface as a Trim tool and select the unwanted corner (outwards)
Join the resulting surfaces ā one polysurface
(so time consumingā¦)
· Rhino should have do this at an instance⦠really!
filletedgefail-done.3dm (186.8 KB)
?
isnāt a rhino solid just a closed polysurface? extruding a rectangle then capping it gives the same thing as using the _Box command, right?
(i found a very weird (to me) behavior just now relating to this⦠iāll upload a video a little later which shows it)