AutoCAD Civil 3D :: Extract All Surface Boundaries?
Jun 10, 2011
Found this code at //blog.civil3dreminders.com/2011/0 ... aries. html to extract all surface boundaries - something I do a lot. How can I take this code and use it in C3D 2012
Extract All Surface Boundaries
Ever want to extract a bunch of surface boundaries? I have, but I don't really want to select each and every surface. Here is some code for VBA that will automate the process.
Sub ExtractBoundaries()
Dim oAcadObject As AcadObject
For Each oAcadObject In ThisDrawing.ModelSpace
If (TypeOf oAcadObject Is AeccTinSurface) Then
Dim oSurf As AeccTinSurface
Set oSurf = oAcadObject
oSurf.ExtractBorder aeccDisplayOrientationPlan
End If
Next
End Sub
IDSP Premium 2014 (mainly Civil 3D 2014 UKIE SP1 & Infraworks with some limited 3ds Max Design)
Win 7 Pro x64, 256Gb SSD, 300Gb 15,000 rpm HDD
16Gb Ram Intel Xeon CPU E5-1607 0 @ 3.00GHz (4 CPUs), ~3.0GHz
NVIDIA Quadro 4000, Dual 27" Monitor, Dell T3600
I used to have a tool (not sure where I got it from) that would extract all surface boundaries that were in a drawing but this tool no longer works in 2014 as it was written for 2012. Time/inclination to write a similar routine that would work in 2014?
IDSP Premium 2014 (mainly Civil 3D 2014 UKIE SP1 & Infraworks with some limited 3ds Max Design) Win 7 Pro x64, 256Gb SSD, 300Gb 15,000 rpm HDD 16Gb Ram Intel Xeon CPU E5-1607 0 @ 3.00GHz (4 CPUs), ~3.0GHz NVIDIA Quadro 4000, Dual 27" Monitor, Dell T3600
I'm using 2D solid level band surface styles when generating simple flood maps - In order to manipulate I generally have to extract the surface objects (faces or hatches) which gives me a single face or object per triangle within the surface.
I then try and get round this by using a combination of various Lisps and Union to wind up with a single boundary that I can then use in ordinary AutoCAD and 3rd party software. However on big surfaces this is killing me as I have 50k+ triangles, so 50k+ faces or individual hatches, so its causing 15min long unresponsive stalls on my PC.
What I'd like to do is simply export the boundary of each level band to a polyline, or even better to extract the whole solid band as a single hatch object. Is this possible within C3D as it stands, or is there a lsp out there
I have a surface with several boundaries inside its extents representing areas where I do not want contours to be visible. Inside some of the boundaries (type = "HIDE") the contours do not show up, but in others, some segments of the contour lines are visible and others are not. How do I get all of the contour segments to be not visible within the boundaries?
Pasted into multiple smaller surfaces; made smaller by adding outer boundaries.The smaller surfaces are adjusted by using the Raise/Lower edit.Make a new surface. Paste all the small surfaces in together.
Now, I notice an area that was not included in any of the small surfaces, but was part of the original large surface. Somehow, this area is showing up in my final surface. So far I tried adding the polyline that forms the 'outer' boundary of each small surface also as a 'data clip' boundary, but don't see any difference. Only thing that works is delete surface point...click, click, click.
I'm making other routine and I want to check if there is some boundaries in the selected surface and in that case, which of them has the most priority.
contorno= "boundary" and exterior=SurfaceBoundaryType.Outer
I have done this: URL....
I think that the last boundary in the list is the first boundary priority.How can I get that list?
I am trying to create islands of surface by multiple enclosed polylines as boundaries.
Each enclosed polyline has several 3d lines as drawing objects.
After creating the surface from the 3d lines I use "Select similar" to select all boundaries(enclose polylines) and add them as boundaries using the "Show" option.
However, it is not working and I do not see the islands of a surface.
I have several surfaces pasted to make a composite surface, and a poly line is added as a none destructive boundary.
The surface looks fine on the screen, but when it is exported to LandXML the boundary is ignored, This creates a 120MB XML file, which will not load into Windes for Drainage work.
I can trim the breaklines defining each surfaces, but there is 8 models and 8 different areas to trim in this manor. This would take far too long and would also create 64 surfaces!!!
I have some topo drawings (contours with Z elevations) and am trying to create lines representing where we did our field work. I then want to extract X, Y & Z coordinates of points along those lines (either where they cross the contour lines or at regular intervals along the lines that I create). I can create surface(s) of the topo that I have, but my questions are what kind of lines would be the best to use to represent our lines of field work (3D poly lines, feature lines, or alignments) and once I get those laid in, how do I extract the XYZ info into a text format of some kind (excel, csv, etc.)?
I just got a topographic map of some land we plan to develope, and would like to work out some preliminary earthmoving analysis.
I would like to sample that surface at very specific locations -- I could produce the required points in PNE format.
What I want is to find the way to: (1) import those points, (2) sample elevation from the surface at those locations, and (3) export the 3D poitns in PNEZ format.
I want to extract contours with elevation labels from a C3D 2011 surface for use in another 2011 drawing without the surface, as polylines and labels. Is there a way to do this?
I got this problem during creation of corridor surface boundaries. I would like to create a corridor datum surface using the daylight feature lines, automatically from the corridor surfaces-boundaries dialog box, but the daylight does not appear in the list.
I am working on a new subdivision where we made new property lines through an existing property. Is there a way to find out the bearings of the new lines made? The only way I can think to find this information is to dimension the angle and subtract it to get the new bearings.
I have a rather large surface and am trying to add hide boundaries to the existing houses/Buildings footprints however whenever I do my whole surface disappears.
I often have to do storm pond surfaces that (for the purposes of planning) are flat on the bottom. These surfaces are created from a combination of survey data and grading groups and the tin of these surfaces is perfectably acceptable. However, when contours are shown, the flat bottom is shown with contours jig-jagging all over the place.
The attached image shows a comparison of the same pond. The top was created with survey data and grading groups; the bottom was created using contour data only. The generated surface on the top shows the bottom contour going in different directions and has parts where the an expected contour is missing.
How to correct/manipulate the surface to show a proper flat surface?
Has instances where you set your tolerance for the maximum triangle lenth to say 50m to reduce the amount of triangles along the edge that run at long distances. When I do this I end up with multiple surface holes and I'm not sure why as there are points in the area.
I thought well maybe it's because i should've reduced my max triangles first then added breaklines. Would this matter? I also thought I could add a line to the surface to fix the holes vs. deleting surface lines along the entire edge of a surface for many many miles.
I am trying to add points into a surface. I have done this before without any problems, but now I am having issues.
When I ID points which makes up the surface it gives me the correct Z level e.g. 24.5m, however when I hover over the surface it shows me the surface name and a different z level e.g. 0.65m. What is the reason for this difference in z levels? I think this may be causing the issue I am having when I add new points.
I select the surface and use the 'edit surface command' in the ribbon, choosing add point.
When I add a point at the level I require(23.89m), it puts it in a lot higher than the surrounding area, so I tried to put the point in to the lower z levels (0.4m) it puts it in a lot lower!
I am issues with DEM files that I am downloading from the USGS website.I download 24k, elevation for the area I need. I then choose staged 1 second, add a surface to a blank drawing, then upload the DEM files to the surface.
The surface imports correcty, but when I try to import points taken by a surveyor on the same drawing, they plot incorrectly.The DEM surface and the points from the surveyor do not correspond. Also, the DEM surface is in meters, not feet. I have tried changing drawing settings, datum types, coordinate types, etc.
I have a project involving 3 programs. I am creating a planned development in 3d to be 3d printed when finished. The project is a 5 acre tract containing 8 buildings. I have built the surface in C3D and each building in Revit. The buildings are not in the same Revit file. For my solid work, I will bring the files over into 3ds Max Design to section into smaller quadrants to build in the 3d printer.
The questions:
Would it be better to import the surface into Revit to merge surface and buildings together?
Would it be better to import the buildings into C3D to merge entities?
Would it be better to bring those entities into 3ds Max and then merge them into one? Will 3ds Max Design allow me to insert entities accurately in the environment?
I need to create a sub-set surface from my main surface. not sure what the vernacular is for a "subset surface" in c3d but i do have a feature line that bouinds the desired area, but that is as far as i can solve.
i did try creating a new surface - pasted the main surface in the edit definition, then deleted triangles until the boundary alighned wiht my featureline. This seemed to work, but when i view the properties of the smaller subset suface, it shows a mimum and maximum elevation that is incorrect.
Im currently using an addon for Civil 3D called Novapoint. It allows me to create 3D models of surfaces made out of 3d faces and easily models cut and fill 3d-models for me.
The only thing i need to create a cut and fill model is one or several ground surfaces (existing ground, earth layers, rock etc. whatever i need) and a closed polyline/3Dpolyline that represents the level I want my cut and/or fill model.
I enter the spcifications I want such as; earth cut angle, rock cut angle, fill angle, select which surfaces i want to include in the model calculation and select the polyline.Novapoint then calculates the cut/fill model from the surfaces to the polyline and models the different cut/fill angles and gives me the results in a 3d-face model and a specification of the volyme of rock cut, earth cut an fill.
1. Novapoint is quite unstable and crashes alot
2. You cant create profiles out of 3d faces
3. Novapoint does not automaticly combine the start surfaces with the modeled cut/fill surface
4. A large surface made out of 3d-faces demands alot of computer power
So I want to how I do the same that Novapoint does for me in Civil 3D? (I have access to Civil 3D 2007-2013 depending on which one you're using)I know I can take the 3Dfaces i created in Novapoint and make a surface in Civil 3D with them but I want to exclude Novapoint completely.
all of a sudden whenever I run audit on my corridor file the surface definition becomes a snapshot. To add to the drama, the corridor surface will not paste into an empty surface. Why?
My problem added with pic ... I want to make volume calculate for sample road project. When I try to compute materials I cant use Corridor surface for DATUM... There is only target surface on option..
I am trying to visualize a road project. The problems is, whenever the corridor surface goes below the EG surface (when the road is in cut) the EG surface is the only visible surface.
I sort of need to subtract the corridor surface from the EG surface, or merge the both surfaces into one.
I was wondering if there is an easy way to trim one surface to another. Right now, I have two slopes (3:1) that are perpendicular to each other. They meet at a corner and I have extended them past each other so that I could see the intersecting edge. Now I would like to trim them to each other like you would a polyline etc... but I am not sure how to do this.
If I select surf trim, it tells me they are the wrong object type, but they are tin surfaces?
What's the best workflow to extract the linework from a corridor - I need the linework as 3D polys for export to another modelling system?I have tried the extract feature line from corridor but it is incredibly tedious so I have lately done the following
1 Rebuild Corridors and Save file. 2 Select Corridor, Isolate and Explode twice. 3 Select all the lines and JOIN which then creates 3D polylines. 4 Wblock the 3D polylines. 5. DO NOT RESAVE...!!!
Is there a better way?
IDSP Premium 2014 (mainly Civil 3D 2014 UKIE SP1 & Infraworks with some limited 3ds Max Design) Win 7 Pro x64, 256Gb SSD, 300Gb 15,000 rpm HDD 16Gb Ram Intel Xeon CPU E5-1607 0 @ 3.00GHz (4 CPUs), ~3.0GHz NVIDIA Quadro 4000, Dual 27" Monitor, Dell T3600
I am looking for a better way to get my 3D Faces from a surface into a DXF. Note: I need to have 3D Faces in a DXF as it is the only way my data collector will accept them. My current process is 1)export surface to a XML 2) open new drawing and import XML 3)make the surface style only display triangles 4)extract triangles from surface 5)change my surface style to no display 6)save drawing as a DXF. I don't like to extract the triangles from the original drawing because I am often making adjustments to the surface and then the old extracted triangles and still hanging around in the drawing. I don't want that. Looking to see if it would be possible to record a macro(or some other automated procedure) that would allow me to extract triangles as save them in a new DXF from a selected surface all in one step.
Civil 3D 2014 i7-3930K Overclocked 32 GB Ram Windows 7 Professional
I have a drawing with 3D polylines that will be used to build a surface but many of them cross each other.
I would like to extract the vertices of these polylines and use this information to build the surface but can't figure out an easy way to do this.
I have tried the Points at Vertices Automatic which is ok but as there are 300 or so 3D polylines this will get very tedious very quickly - is there a better/quicker way to do this?
IDSP Premium 2014 (mainly Civil 3D 2014 UKIE SP1 & Infraworks with some limited 3ds Max Design) Win 7 Pro x64, 256Gb SSD, 300Gb 15,000 rpm HDD 16Gb Ram Intel Xeon CPU E5-1607 0 @ 3.00GHz (4 CPUs), ~3.0GHz NVIDIA Quadro 4000, Dual 27" Monitor, Dell T3600
is there a way to extract a 3D poly line where two surfaces intersect each other.
i have ground surface and i have dam surface. they would like to show the filler material in the cross section graph.. so i copied then raised the surface the required depth.
so now the surface and side slope of the dam intersect. and i would like to trim the filler material surface to be in line with the dam.