Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Patching a Hole 2

Status
Not open for further replies.

treddie

Computer
Dec 17, 2005
417
Hello all.

I have this helmet bubble that I built from a VSS. But due to its odd shape, there was no way to terminate the bubble cleanly at the top. So an irregular hole is at the very top. I sliced the top just slightly larger than the hole with a cut so that at least the irregular hole was 2-dimensional. I can fill that hole boundary to make it a flat surface, but so far have not found a way to create a smooth patch to satisfactorily follow the bubble tangencies all the way to the apex of the bubble. In other words, I thought maybe I could apply a freeform blend to the flat surface, but the problem there is that the freeform surface that results does not terminate on the irregular hole boundary; it becomes a warped mesh rectangle instead that floats over the hole.

I also tried Edit>Extend, but that only allowed me to extend the bubble surface about .2 inch. My hole is a good 1 inch across.

Is there any procedure that works to fill up irregular (or even symmetrical) holes in geometry in ProE? A mesh would be fine I suppose, but at least a mesh whose boundary points land on the hole boundary.

Thank you very much,
treddie
 
Replies continue below

Recommended for you

My ProE installation went belly up and I've been spending all day getting it back up. Not much progress on helmets today. I would click Edit Relation and it would crash to the desktop every time. Thought it might be the file but I tested old ones and the same problem occurred. So my ability to alter any relations during experimentation (or user error) is completely non-existent. Am attempting to restore my ProE directory from a Ghost backup, and it looks like it won't be finished until tomorrow. If that doesn't work, I am going to deinstall it and start from scratch.
Computers...I love 'em...I hate 'em.
 
Problem was a corrupt config file I've been using for years. So dropped back to the one just before that one and everything is working normally again.

Helmet almost completed. That transition section is a bear though. Am getting good results in terms of tangencies and good clean surfaces w/o bunching, but not enough secondary trajectories to control the form as it transitions from the ellipsoid down to the circular base ring. Nice clean sides but the front and back need a couple more control curves. I hope tomorrow is THE DAY.
 
Finally!!!
It's finally done, almost. Very sweet surface with no imperfections. Your primitives idea was the way to go. I really didn't think I would find a good primitive to work from. But it's pretty obvious it was an ellipsoid. The majority of the time was taken up by the fact that I had scaled my import curves incorrectly before using ProE, so I spent all day today rescuing the file I had been working on, replacing references and importing new curves.

Then, I simply could not get the ellipsoid to thicken along with thickening the transition area down below, without a ton of regen errors, so had to trial-and-error until I found the solution. But it is a partial solution so far. The ProE model is great, but the Wavefront model I export ends up with a seam between the dome and the bottom half. Looks like the two did not join together as one part.

Which brings up the point. Is there no way at all to thicken imported geometry? If I could do that, half the problems would be non-existent. But for some reason, ProE can't handle it. I can import a beautiful helmet surface into a new file, but can't thicken it. That had me scratchin my head for about 3 hours, trying to find a work-around. Just seems weird that ProE can render a surface (which means it understands its geometry), but can't thicken it. Weird.
 
Progress is good!

Failure to Thicken (or Shell) almost always is a result of [1] inability to create a surface normal offset, usually min rad of curvature related or [2] inability to extend or re-trim, if necessary, the offsets and join the edges.

Native or import; makes no difference. The same rules apply.

Surfaces with singular edges are always suspect and should be checked, not only discretely but in conjunction with adjacent surfaces.
 
My other post asks the question about what exactly is a singular edge?

But in terms of looking for a solution, I wondered if cutting out the midsection to either side of the joining of the two surfaces (as meshes) would allow me to put in a small transition mesh to connect the two. There will still be a lack of consistent curvature there, but at least it won't be a nasty edge. At any rate, even though I've been using ProE since about 1999, I've never really been faced with organic shapes before, so anything I can do to explore the limits of the tools and find out through experience what NOT to do would be helpful here. For instance, this is the first time that I've ever noticed a discrepency in solid vs. surface. Ah, the dirty litte secrets of ProE.
 
> what exactly is a singular edge?

A surface edge is defined by at least [Degree + 1] Control Vertices. If all the CVs defining an edge are coincident the edge is singular. I think there's actually more to it than being coincident; e.g. there is a "singular point" entity created. Pro/E calls these "degenerate edges", I think, but in my mind (and in 'Rhino speak') that's the description of another problem causing condition; adjacent edges of a surface meet at zero degrees (they're tangent to one another). Regardless of what you call them keep in mind that the problem potential is high.

> ever noticed a discrepency in solid vs. surface.
> Ah, the dirty litte secrets of ProE.

I hope we've put that to rest as a misconception. Since it's related, rather than going back to the other discussion:

> "one-sided" surfaces in programs like
> Lightwave or 3DSmax (infinitely thin)
... ... ... ...
> Not that the quilt is necessarily made up of
> surfaces, but that the surfaces are additional
> information along with the quilt description.
> Is this the two-sided thing that's going on?
> I really need to find a good book that explains
> what ProE is doing at that level.

Without getting mired in the nuances of one program's or the other's terminology:

[1] All surfaces are 2D objects, having Area only (infinitely thin).
[2] All quilts are made up of surfaces, one or more. Quilt is a data container for the surface(s), associated edge attributes, etc. analogous to IGES or STEP "shell" objects (not program Shell Features). When adjacent surfaces are joined (Merged, in Pro/E) the individual surfaces' coincident One Sided edges are replaced by (single) Two Sided edge entities (meaning the edge is bounded on two sides, I suppose).
[3] All Solids are closed quilts, again a data container for the quilt(s) and additional attributes that may be associated with a 'solid' object. When you create a 'solid' feature you're creating [1] and [2] above along with all the necessary boolean operations, etc. ... all with a single button push ... amazing, huh? ;^)

Coming back to this discussion:

> in terms of looking for a solution

Can't offer anything specific without examining the geometry and trying one thing or the other myself. For sure; trimming back on either side of an unsightly edge (mismatched position or dihedral angle or a tiny wrinkle?) and blending to fill the gap is a possibility. Success will be contingent upon bounding edge quality, tangent directions, curvature if a G2 blend and if a poorly structured surface is the reason for the existing nasty edge ... it's a coin toss.
 
Damn...this thing is like layers of an onion. Just when I think I'm done, I find more layers underneath.

I just went through an unsuccesful session trying to blend the two gap surfaces together but no go. Just two "simple rings, really. But "simple" appears to be a misnomer. The top ring is a surface pulled from the ellipsoid cut. And the bottom ring is spline based. They don't like each other. In fact, I think they HATE each other, like Tibet and China. I might try to redraw the top curves as splines to get them to become more friendly with the bottom curves, but that just means more chances for mismatching at the top.
Tried CADfix, but no luck there either.

I'll try some more things tomorrow and if those don't work, I must admit defeat and send you a file. I wouldn't be trying to make this thing so "perfect" if it weren't for the fact that it is a clear, refractive object, and any unwanted seams really show up, even if they're just .005in wide. Actually, I blame nature for being so anal. Couldn't God just throw in a little more quantum fuzziness into light refraction?
 
Check this out. Decided to build a set of surfaces to fill the gap I created, but inbetween the secondary curves of the VSS (approx vertical lines in white), the cut for the gap creates a lip, which simply moves position if I increase the size of the gap! These two images are at the same zoom level; only difference is width of the gap. So it's like ProE just can't "lock the VSS in stone", and cut THAT, but instead it seems like it recalculates the VSS based on the new cut.

Will try exporting out as a mesh and re-importing that into a new .prt file and gap-cutting/gap-filling there. This is one of those things where I can't stand losing. Going to exhaust all options.
 
...but I think you're dead on about sticking to equation based features where possible. If I could figure out some accurate primitive (or set of primitives) for the transition area of the helmet, that would be sweet. But trying to accurately combine solids/surfaces/freeform features just seems to be asking for trouble. Like trying to get oil and water to mix.

Here is the jpg I forgot to upload.
 
 http://files.engineering.com/getfile.aspx?folder=5f855ade-6b2d-4f9f-a88a-1a8b7547fa9a&file=Gaps.jpg
> it's like ProE just can't "lock the VSS in stone"

It's locked . If it appears not to be it's a graphics issue.

It's hard for me to imagine how you must be going about this, especially when you start talking about importing and exporting meshes.

The attached (WF2) file demonstates how I'd probably attempt to transition between the two 'foundation' shapes.
 
 http://files.engineering.com/getfile.aspx?folder=a77e83ac-68d6-4703-bc9b-c20d7b20585c&file=200803211457.prt.zip
Jeff.

Thanks again for the download. And once again, my ignorance is showing when it comes to modelling fluid, organic shapes. The power of the Boundary blend you have demonstrated in the last file really shows its power beyond simple patches. Now that I see what's going on, I agree with you that the Bblend is the way to go.

But please check the attached images. You'll see that your file has the same problem I've been having. It's that seam where the dome does not quite match up with the Bblend. And it's real (it's not a display issue) because when I export out as Wavefront .obj, those pesky things are actually there and they end up in the resulting mesh (3rd image shows imported file in MaxwellRender). And the frustrating thing is that even though the artifact may be only .001" wide, when I do a high-res ray-traced image of the bubble, it shows up clear as a bell (it causes its own refraction). Thus, like what many people do, is they'll take their image into Photoshop and retouch it out. But I would rather not have to worry about that if I can avoid it fairly easily with some procedure in ProE.
 
 http://files.engineering.com/getfile.aspx?folder=106a0826-44a5-42d7-a69d-78d94ad76b72&file=Seams.zip
> ... like what many people do, is they'll take their
> image into Photoshop and retouch it out. But I would
> rather not have to worry about that if I can avoid it
> fairly easily with some procedure in ProE.

Looking at the noted edge...
_ max deviation is < 4 E-4" (Rhino has a nifty function, shown in attached)
_ max dihedral angle 0.05° (Pro/E analysis function)
_ curvature and rate continuity are very good (Pro/E analysis function)

I have no interest in rendering software, don't know anything about it, but I believe all that's needed is a proper meshing. From Finite Element modeling I know that the mesh vertices on each surface should not be offset with respect to one another along that edge. The surfaces are being meshed individually rather than as a quilt. If the Two Sided edge is being reference by the mesh generator instead of individual One Sided edges the vertices would be coincident and the seam closed. I suppose a render mesh would live by the same rules.

Also in the attachment is a rather coarse Rhino generated mesh. Don't know if it'll help any with evaluating the nature of the problem, but fwiw.
 
 http://files.engineering.com/getfile.aspx?folder=ed17dc7a-e387-4288-bb80-8fb26f231f97&file=200803290030.zip
So it seems that it would be prudent to ensure that all surfaces in ProE have control vertices coincident in order to always have single 2-sided surface edges. Not only to ensure that the model suffers fewer regen failures, but that any exported meshes don't have nasty 1-sided edges, and therefore gaps.

But that could be easier said than done, especially with complex shapes where ProE determines where the edges get made. For instance, the edges of the quilt surfaces for the ellipsoid are determined by ProE and I'm stuck with that (unless I cut the ellipsoid somewhere into 2 separate pieces to define new edges). So if I want a boundary blend for the transition area, then any control curves I build should originate (or terminate) on ellipsoid, surface edge endpoints. If I catch your drift correctly.

What I find interesting is that, it seems actually an almost irrelevant problem for actual manufacture; if a master were tooled from my file, it would probably be sanded and prepped anyway before molds were made. The problem would be "erased" by old school methods. But from a 3D rendering perspective, it's a bear of a problem. The edges HAVE to be repaired digitally. It would be SO nice to have an elevation map superimposed on the quilts where you could tell the program, "remove any deviations from the local 'zero-elevation' in this area.", by circling the area with a mouse selection, or by circling it and by using an eyedropper tool to pick the color of the elevation you want to match to.

Thanks for the Rhino image. I'm very new to Rhino, so I have a lot to learn there, too.
 
> So it seems that it would be prudent to ensure that
> all surfaces in ProE have control vertices coincident ...

Corner vertices should be coincident within system tolerance or less, as should be the edges. Do not confuse NURBS Control Vertices, which will be coincident with the curve they describe at end points only (assuming end point only full multiplicity knots, but let's not go there), with Mesh Object Vertices.

> ... in order to always have single 2-sided surface edges.

No. Two coincident One Sided edges do not equate to a Two Sided edge. Individual One Sided edges, though coincident, can be parameterized differently resulting in mismatched mesh vertices. A Two Sided edge is a distinct database entity created when two coincident surface edges are joined (Merged).

[One-Sided and Two-Sided edges are formal Pro/E entity descriptions, btw. You can Search for them by Type.]

> ... that any exported meshes don't have nasty
> 1-sided edges, and therefore gaps.

I don't know that's true. Two Sided edge definitions can exist but be ignored by the mesh generator, by choice or by 'bug'?

> But that could be easier said than done ...
> ...unless I cut the ellipsoid somewhere into
> 2 separate pieces to define new edges). So
> if I want a boundary blend for the transition
> area, then any control curves I build should
> originate (or terminate) on ellipsoid, surface
> edge endpoints. If I catch your drift correctly.

Not necessarily, though usually 'good practice' and simply makes 'sense'. Consider two offset planar sketches, each a line segment with tangent arc. On each sketch the line and arc endpoints are coincident at 0.5t composite. To blend between the two sketches you can create second direction curves at, for instance, 0.0t, 0.3t, 0.7t and 1.0t. A piecewise blend will create a two surface quilt with a Two Sided edge at 0.5t. You can also omit the 0.0 and 1.0 curves to create a blend that spans 0.3, 0.7. ~If~ the first direction curves were surface edges instead of (our planar) curves, when the blend is joined to the original surfaces the original surfaces' edges will be 'split' to coincide with the blend edges.

To go off on a tangent regarding trimmed surfaces; it's important to make the distinction between a surface edge and a trim edge. They share a common set of rules and assumptions but are not equivalent; e.g. a surface by definition always has four edges but can have a trim boundary with an infinite number of edges. Singular surface edges are problematic. Two or three sided trim boundaries present no problems.

> The edges HAVE to be repaired digitally.

Am I incorrectly assuming the only problem is an inappropriate meshing of the modeled object (referring to the model I posted, not having seen your model)? If we're talking about other problems (high frequency, small amplitude waves, etc.); it's always been my assumption that the inherent 'averaging' nature of meshing and subsequent mesh manipulation can cover a multitude of sins whether done for manufacturing process or rendering. Incorrect?

> new to Rhino, so I have a lot to learn

Time spent learning it is a good investment. The 'low level' entity access and good documentation can teach a lot that will demystify much, if not most, of what happens behind any 'high level' user interface program curtains.
 
Yes, the problem is getting a smooth mesh. I've opened up a hornet's nest, because before, I had no need for introducing advanced surfaces, or surfacing at all (I could keep everything as solids), so life was easy. Now I have to re-examine the way I do things in general, because bad assumptions are coming back to haunt me. In a BIG way.

Was examining your 3rd download, and have been examining what you did to make sure the BBlend saw tangency with the ellipsoid. I believe the problem I'm having is there is no way for ProE to know that I want my BBlend tangent to the ellipsoid because there are no explicit refs to it. It looks like you did a fair amount of preliminary stuff to establish tangent refs for the BBlend. In other words, your BBlend is based on curves whose descriptions were built from tangent features, so the refs were inherently there. With mine, ProE doesn't even see what I want to be tangent to, so it fails. Would be nice if ProE could allow you to just select the tangent surface and go. I'm particularly interested in that projected curve you through in there, as it appears to define the top edge of the BBlend.

Since my model is in a major state of revision, I am going to redo the transition area before I go any further.

By the way, one of the problems I was having was that even though I could regen a successful VSS, there nonetheless was a skrewed-up spline for a trajectory. I found it through GEOMcheck. How it got that messed up, I don't know, but it would not regen for Intent Manager, so I rebuilt it. But now these trajectories need to be made explicitly tangent to the ellipsoid. So those are my duties tonight.

Again, thank you very much for all your help. I'll give you an update when I get the successful BBlend.
 
Damn! You did something really cool there with the tangent and normal centerlines following along curve's edge. Took me awhile to figure it out. That's an indispensable tool.
 
Am continuing to rebuild the transition area. ProE doesn't let you slide, that's for sure. I had a lot of warping near the base so I added two extra trajectories to calm it down, but that made it worse. I was winging it on those two trajectories. Even though they obeyed tangencies, there was no equation of sorts or relationship relating one trajectory to another, so I ended up with a lot more warping in the BBlend. At least that seems to me at this point to be the problem. I'll find out.

Spent a lot of time figuring out how to get tangencies that the BBlend would accept. My curves showed the proper tangencies, but they were to a base curve that was made by Edge > Use in Sketcher. So I did what you did which was to use a projection of a line instead, onto the circular base.
That solved it.

Hopefully I will have a solution tomorrow. Need to think about getting good transitions between the high rates of curvature on the front/back relative to the very straight sides.
 
Howdie Jeff.

Just about completed. I made a number of simplifications and created better constraints, pretty much following your approach in your 3rd download. I used your idea for a projected curve onto the ellipsoid to trace out the top BBlend curve. Before, I had just made a simple horizontal trajectory around the "waist" as my top curve, but the problem with that was that all of the tangencies had different slopes along that edge, so ProE would have a fit and do the best it could. So I decided to make sure that all of the slopes would be 90deg vertical drops at the top of the transition area, along the new edge. That's where the trick you employed where you can get a line to follow a curve's edge really became indispensable; it allowed me to find those points around the tilted ellipsoid where the slope of curvature was exactly 90deg. I connected those points to get the top curve and that completely eliminated any mismatching across the top. Have rendered a test and found some areas I want to clean up around the base, but it is 99% there. Purely cosmetic issues now, since I still had to add 3 trajs for the back portion of the helmet side, and 3 for the front portion to get the BBlend to not "dip into" the ellipsoid. Those trajs had hand-drawn splines in the middle parts of the curves and they just need a bit of curvature adjustment. I will post my final results here soon.
 
Howdie jeff.

Here are some screen caps of the finished polycarb bubble. The last image has the unfinished neckring attached. Still a lot of work to finish the helmet assembly; internal headrest/vent plenum, feedport that attaches to the hole on the side, 2 label plaques on the ring, epoxy line on both sides of bubble thickness at the ring, and various engraved markings. The headrest will be interesting because it has a shape that follows the internal shape of the bubble. Now that I have the bubble surfaces, the biggest milestone is passed, and the headrest should be "easy" to conquer.

You'll notice an intentional seam I put in for the mold line.

Thank you very much for all of your help. You got me jump started on surfacing, so I don't feel AS intimidated by it as I used to be. Huge learning curve. I still need to go back and take a look at some of the other things you had going on in your files. Particularly, the Bezier surface work.

Am rendering an image of the helmet, and the surface looks awesome. When everything is completed, it 'll be killer.

Thanks again for all your help. You were a major factor in making this a success.
treddie
 
 http://files.engineering.com/getfile.aspx?folder=c9fb6817-fa0b-4721-85ca-81ac3d55a0ac&file=Helmet_pics.zip
Status
Not open for further replies.

Part and Inventory Search

Sponsor