I have a surface for a 12 mile long gas pipeline I am trying to create. It is being created from points and breaklines from aerial mapping. The surface is only 250' wide and the drawing only gets up to 3.5 MB. The pipeline changes direction a lot and so the boundary for the surface contains 456 segments. The surface is okay after adding the points and breaklines, but once I add the boundary it become corrupt. I have tried to explode it, then flatten, then map clean to delete duplicates and then pedit it back together and it still is corrupt. I checked for 0 length segments and there are none. Any ideas on why a boundary with many segments makes a surface corrupt?
Solved! Go to Solution.
Solved by jbear0000. Go to Solution.
Is the boundary pinned to the bottom of the surface definition so it is processed last when you build/rebuild?
Did you use a daylight command to get the boundary linework?
Sometimes a daylight line can have very small crossings, particularly on inside corners that can mess things up pretty good.
Take the flat, exploded and clean linework you have. Isolate it on a layer and use the boundary command inside this linework to create a new boundary. Using the boundary on the inside should remove any crossings mentioned above.
John Mayo
"Is the boundary pinned to the bottom of the surface definition so it is processed last when you build/rebuild?"
Yes, it is pinned to the bottom.
"Did you use a daylight command to get the boundary linework?"
I don't know what you mean unless you are talking about the daylight line of a corridor. I created the boundary by offsetting the pipeline 250' to each side and making changes to it as needed.
"Sometimes a daylight line can have very small crossings, particularly on inside corners that can mess things up pretty good.
Take the flat, exploded and clean linework you have. Isolate it on a layer and use the boundary command inside this linework to create a new boundary. Using the boundary on the inside should remove any crossings mentioned above."
I just tried this, it did take the segments down from 456 to 447, but it didn't help, the surface is still corrupt when the boundary is added.
I have occasionally seen a surface react badly if the boundary completely splits the original data set in half. A couple of things to check or try:
I figure out how to fix this problem, but I have no idea why it worked. What I did is I started chopping the surface up into smaller pieces. Things were going fine until I got to one portion that contained only 13 segments and tried to create a surface. A 13 segment polyline wasn't working as the boundary, so I started removing segments and eventually got it to work. So I then tried the entire surface again with the new polyline and it works even though it is 444 segments. See the attached dwg. It contains 2 polylines. Then yellow one creates a corrupted surface, the red one works fine. As you can see there isn't much difference between them. I would really like to know what the difference is between the two if anyone can figure it out.
Sometimes I am able to fix troublesome boundaries by isolating the polyline and then using the BOUNDARY command and picking a point inside the polyline (do not select by object). Then erase the original polyline. This can help clear up tiny crossings you can't find or other anomalies.
If you continue to have problems, post your drawing if you can and I'd be happy to take a look.
@enderak wrote:Sometimes I am able to fix troublesome boundaries by isolating the polyline and then using the BOUNDARY command and picking a point inside the polyline (do not select by object). Then erase the original polyline. This can help clear up tiny crossings you can't find or other anomalies.
If you continue to have problems, post your drawing if you can and I'd be happy to take a look.
Actually I figured out how to fix it, see my reply above. But I want to understand what was wrong with my original boundary.
Yep, saw that you posted while I was replying. 🙂
I don't see anything wrong with your yellow boundary, and I was able to take it and use it as a boundary in one of my surfaces just fine. It might be just "one of those things".
EDIT: Doing the boundary thing I suggested brings the vertex count down from 456 to 449, so it might be worth a try just to see if it works.
yep yep. I find that using "LINEWORKSHRINKWRAP" to produce a surface boundary often causes surfaces to be corrupt and not be able to be pasted. The command sometimes creates a boundary that is "not planar" to world coordinates and C3D doesn't like that.
BOUNDARY method definately best way to fix "problem" boundaries. Use it all the time.
Yeah shrinkwrap never quite gets it right with the 3d objects. I find i have to flatten them before using shrinkwrap and then it works.
Just to add to this discussion ...
I recently had the same problem in one of my drawings. A clipped surface could not be pasted into another surface. Error message in the event log: "Couldn't do Paste operation. Surface XXX is corrupt."
I tried doing MAPCLEAN operations of Simplify Objects and Weed Polylines, and that didn't help. I tried OVERKILL command, and that didn't help. I tried using BOUNDARY command to recreate the polyline, and that didn't help.
So I took the advice here, and drew a series of lines across the surface boundary polyline to split it up into several parts. I then used BOUNDARY to create closed polylines inside each of those parts. I removed the overall boundary from the surface. Then I added each of those closed polylines to the surface as a boundary, one at a time, until I found the one that caused the error to reappear.
I was surprised when I saw the root cause of the error. To make the polyline work as a boundary, all I had to was use PEDIT > STRAIGHTEN to remove two points. That's it.
See for yourself in the attached drawing. The magenta polyline is the bad one. The green polyline is the good one.
I wish I had the last hour of my life back, but at least I learned something. 🙂
Joe Bouza
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Can't find what you're looking for? Ask the community or share your knowledge.