3D Design

Generating a surface from a point cloud and make a solid out of it

• akshaydey16
Subscriber

Hi peteroznewman,

Stating it again, I've a large point cloud data of a reservoir topology. I want to make a surface out of it followed by extruding it into a solid. Then put the faults in the solid and simulate it with the appropriate material properties and boundary condition.

I have used Autodesk Civil 3D to make a TIN surface out of it, smothened and got a solid with the surface topography.

Then exported the solid in available .iges format into ABAQUS and exported into a .step format to import into Ansys.

As I need to put the faults( which are linear curves in Map view and, I've the coordinates of them) in the solid generated, I found the imported model coordinate system is not the same as has been used to generate the surface in the first place. So, I couldn't operate on it with my fault point file.

My question is...
Does the coordinate system also gets exported, intact, while exporting a .iges file, and gets imported in the same way?

I can not figure out how to get the coordinate system intact while i import the model into Ansys.

These are the data i have-

Point cloudModel block

Plz help.

• peteroznewman
Subscriber

You can import the xyz point cloud into SpaceClaim as curves if you format the data properly.

Note:  The order of coordinates in a Point Curve text file is Z X Y.

All you need to do is put the header as shown here and put a space after every curve. Since you said this was topographical contour lines, I added a space after a change in the Z coordinate as shown below (I deleted a few 3460 lines to show the space).  I did that by hand for a few curves, but since there are 10,500 points, it would be better to write a program to do this. Can you extract the data from the source and have each contour line separated somehow?

I believe the data below are in the wrong order: X Y Z.

```3d=true
polyline=true
fit=false

4550 5550 3460
4590 5450 3460
4590 5650 3460
4620 5420 3460
4640 5700 3460
4730 5790 3460
8710 4790 3460
8760 4540 3460
8830 4330 3460
8880 4180 3460
8900 4050 3460

5480 6900 3440
5500 6740 3440
5520 6650 3440
5580 6570 3440
5710 5600 3440
5590 5880 3440
5560 5990 3440
```

In SpaceClaim, click on the Assembly Tab, click on the File + button and pick a text file formated as shown. Below is the result.  The long straight line are where I haven't added a space to start a new curve.

After a few separate curves come in, go to the Design tab and click the letter B on the keyboard or find the Blend tool and you can add a surface between adjacent contour curves as shown below.

• akshaydey16
Subscriber

Thank you, peteroznewman for taking the trouble and answering.

I have the individual contour line point groups, which I have combined so that i can import all at a time; so formatting like you have mentioned will not be a problem for me.

But, does the polyline will result in NURB splines or will it be combinations of straight-lines? This is because while meshing it shows errors while handling large number of NURB splines.

• peteroznewman
Subscriber

Polyline=false
fit=true

to fit a smooth spline through the points instead of straight line segments which is what I did above.

I think you can also select multiple contours to run the blend across, which would maintain tangency.

Check the data carefully because there seems to be some overlap in the contours. Look at the contour line immediately below the surface. Do you see that it crosses itself in the middle?  That is going to produce some wild loops in the spline, which is why I elected to go with straight line segments. They are more predictable.

I was also looking into automatic algorithms that operate on the point cloud as a whole rather than the method described above which will be extremely tedious to select all the contours to blend across as I don't believe you will be able to do it in a single operation.  I was playing with the free, open-source, MeshLab which claims to be able to reconstruct surfaces from point clouds. I made some progress, but that will result in a set of facets as it builds a triangular mesh to connect the points.

• akshaydey16
Subscriber

I will stick with the polyline, and trying to club together the points as you have mentioned, first of all.

• akshaydey16
Subscriber

I have also tried with civil 3D, which construct TIN surfaces from the point cloud. But they result in many triangular facets, so its impossible to operate on them, besides not being smooth enough to replicate the real conditions on field.

• akshaydey16
Subscriber

I have this .step file of a reservoir and this .txt file of fault planes.

I want to make polylines of these fault networks on the planar bottom of the above solid, and and cut them vertically upto its surface(in this case a smoothened TIN surface), to make individual fault blocks.

I imported the polylines on the planar bottom of the reserrvoir but, couldn't slice it upto the top surface in spaceclaim, as the top is not planar. If somehow we can export the solid with the polylines in a .step format into design modeller and then slice it through "through all" option, I think this can be done.

Can you plz help, as I myself couldn't do it?

• peteroznewman
Subscriber

Note:  The order of coordinates in a Point Curve text file is Z X Y.

Please reorder the columns to put the Z coordinate first, followed by X then Y.

• akshaydey16
Subscriber

Here is the point file in ZXY format

zxy

• peteroznewman
Subscriber