Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Harsh critique wanted: my 100MB corridor model

17 REPLIES 17
SOLVED
Reply
Message 1 of 18
m_kingdon
1010 Views, 17 Replies

Harsh critique wanted: my 100MB corridor model

Hi all,

 

I want to open up about a recent project to some much-needed scrutiny.  I have mostly finished this model now, but looking back I am concerned at the monstrosity I have created.  I initially wanted to keep the model simple and easy for other users.  But the drawing is now over 100MB and contains over 45 separate corridors, as well as 50+ surfaces.  I need a reality check.

 

The task:

 

I was tasked with modelling a new development to a high degree of accuracy.  Our contractor has the idea of just downloading my road model into a machine that will do the paving and kerb laying work.  A "plug and pave" job.  The scheme contains about 9 roads with one turning head.  Road construction varies from crown to cross fall, several different types of kerbs and parking bays that must all be modelled.

 

 

1 - Alignments and Profiles.

 

  • I drew a series of centreline alignments with design profiles.
  • I added offset alignments with 2% offset profile.
  • Using the offset alignments I added connected alignments for the junction kerb returns.
  • I added crossing objects to each of the profile views to show where the vertical profiles intersect.  I opted not to use the intersections tool as I have found them to be unreliable when alignments join another alignment more than once (circular dependency) and this scheme has many.  I might put the intersection tool on probation soon for a smaller project.
  • I added another set of offset alignments to some roads that had parking bays (parking alignment).  I used the widening tool to add areas of widening on the parking alignment to model the parking bays.  I found the widening tool to be VERY fiddly to use.  I was not able to add a specific area of widening via the contextual ribbon, it would just read "unable to compute".  Instead, I just pressed the "+" button on the grip lots of times then grip dragged the widened areas to the parking bays.  Once in place, the parking alignment with the widened areas seemed very stable and was easy to make small adjustments.

parking.jpg

 

2 - Roading corridor. 

  • I used the standard lane subassembly to model the road.
  • I added conditional subassemblies to each end and set them to target polylines on specific layers (parking layer junction layer) etc.
  • I drew polylines over the mouth of each junction and for each parking bay on their specific target layer.
  • I used a generic LinkWidthandSlope to model the parking bays and set width target to the parking alignments.

 

This worked great and allowed me to model most of each road with a single region.

 

Overall things were going well but the next two stages are when things became complex.

 

model 4.JPGroad 2.png

 

3 - Kerb lines.  The scheme required kerbs of different sizes.  I really needed to get the kerbs modelled accurately since they were being paved by machine.  With that, I also needed to be able to extract a single unbroken feature line from the back of each kerb line.  The only workflow I know of to model a kerb transition is to use the custom subassembly called an MLT (multilink transition), written by Jowenn Lua.

 

  • I prepared several subassemblies using the UrbanCurbandGutter stock assemblies and changed the parameters to suit my kerb designs.
  • I imported the MLT and made several copies, each set to model the transition from one kerb to another. 
  • I then setup a series of conditional subassemblies to pick each kerb type to match a corresponding polyline.  However, I discovered that the MLT does not work with the conditional subassembly!  The MLT requires a corridor region to work as the region length is how the MLT determines how long the transition from one kerb shape to another.
  • I still needed to model the kerb so I decided that I had to split my kerb section of my corridor into many regions to accommodate each kerb type.  This process was arduous but not too bad. 

model 2.JPGmodel 3.JPGmodel 6.JPG

 

I really wanted to avoid splitting the corridors but I am not aware of any way of modelling an unbroken kerb transition.  The resultant corridor and surface works great and I was able to extract unbroken back of kerb feature lines from each corridor.

 

4 - The footpath.  I needed to fill the rest of the road reserve with a footpath and double grass berm.  The footpath and berm nearest the reserve edge had fixed width.  The berm nearest the road varies to accommodate the car parking spaces.  The berm and footpath all needed to slope 2% from kerb line.

 

  • I made another set of offset alignments distance set to reserve width, with an offset profile set of 45%.  I set this profile intentionally high because I didn't need to use this profile for my final design and I wanted the height difference to be obvious in case I accidently targeted this profile.
  • I ran a corridor from reserve offset and 45% high profile, LinkWidthandSlope (link omitted) to set to target the back of kerb feature line.  With the same assembly I ran 2x LinkWidthandSlope and Generic Pavement with the nearest LinkWidthandSlope width targeting the back of kerb feature line for elevation and furthest LinkWidthandSlope targetting the road reserve alignment for width.

model 7.JPGfootpath rhs.JPG

 

 

The result:

A massive, but complete roadway model.

 

PROS:

 

A (mostly) very accurate and complete road model with a huge amount of data.  The model is dynamic and will adjust to any changes to the profile.

 

CONS:

 

This drawing grew beyond 100MB and took a good week to complete.  I used far too many corridors and I worry very much that others in the office will find it very difficult to work with my road model.

 

With increasingly demanding contractors who want to be able to build straight from the model.  I am concerned that Civil 3D is not keeping up fast enough.

 

With that being said, I am concerned that I over-modelled this roadway.  What recommendations or workflow do you all have?  Have I been furiously spinning my wheels to make little progress?

 

Mike Kingdon
Civil 3D Zealot

EESignature

17 REPLIES 17
Message 2 of 18
m_kingdon
in reply to: m_kingdon

Message 3 of 18
KirkWM
in reply to: m_kingdon

What a thoughtful share and well documented! 45 separate corridors is a lot :-O. Some thoughts:

  • What was the final deliverable? A few surface dtms (like FG and Datum?)? Did they need the final native corridor? 3D solids? Did you have to export something using the C3D Trimble add-in? This answer would shape some responses a bit as there might be ways to help your own work go smoother and lighter only to have to combine things all again in the end.
  • One thing that might help to save on MB size is to not produce your final surface in the same file as the native corridors, you could data reference them in a separate dwg file and assemble the final FG surface. You can also utilize the data shortcuts 'folder organization' system where you can data reference a whole bunch of stuff at once
  • For curbs, I've be experimenting with my own custom curb subassembly where the height of the curb is actually controlled by a profile input (mainly for reducing the curb height to 0 at ped ramps or driveways); theoretically, you could have the subassembly change curb types based on some kind of input, like in my case a profile of how high I want the curb to be, or it could be used as a selector, but you'd still run into the same issue of transitioning between the different curb types and splitting regions. Mainly what I'm trying to say is there might be a way to combine all the curb types into a single assembly to reduce some effort.   
  • You could lighten up on the number frequency lines for the foot path and grading
  • Have alignments and profiles in a separate file. This would also let you potentially have multiple corridor files and you could split corridors at easy locations. 
Message 4 of 18
m_kingdon
in reply to: m_kingdon

Thanks very much for your feedback.  I believe they will need the final top surface for construction and the datum surface was needed to calculate cut and fill.  But I have also previously been asked to provide "3d strings" aka 3d polylines from back of kerb and kerb flowline.

 

Using a profile to control kerb height would have been a great idea!  I have used the "number generator" assembly as Jeff Bartels calls it before to convert a profile to control lane width, I didn't think to use it for kerb height.  I think that would have been a better idea than splitting the kerbs.

Mike Kingdon
Civil 3D Zealot

EESignature

Message 5 of 18
mark.reeveTXANL
in reply to: m_kingdon

I came upon this while looking for an answer to another question but it looked to interesting to ignore, thanks for sharing your model and process!

 

I have been using a subassembly with a profile target in my kerbs for a while and it if you could get away with not needing to specify the kerb type in the model it would have meant that you wouldn't need to split the corridors. That advantage is also its disadvantage, the model loses accuracy as the correct kerb type isn't used. 

 

I have been trying to find information on the UKIE multikerb subassembly as it seems to do exactly what you discussed except you specify the transitions over the chainage you set in the subassembly rather than frequency of the corridor which makes me wonder how it can be placed more than once along a corridor.

 

 

Message 6 of 18
FrankHuang
in reply to: m_kingdon

@m_kingdon Want to spend some time on this case. seems the model you shared can be accessed anymore. 

"https://damassets.autodesk.net/content/dam/autodesk/logos/autodesk-logo-primary-rgb-black-small_forum.png"
Message 7 of 18
m_kingdon
in reply to: mark.reeveTXANL

Thanks for replying.  It is nice to see this discussion resurrected.  Although I posted this a while ago the roading model I built has still been a big part of my day job.  The drawings were recently submitted for construction and our contractor asked for a lot of 3D string data. 

  • Crown
  • Crown subbase
  • Edge of Seal
  • Kerb Lip
  • Back of Kerb
  • Back of Footpath subbase.

Normally, we have only needed to provide contour data, a 2D design and a typical cross section but it seems our contractor on this project is utilizing a more 3D based workflow.

Whilst this model has been a pain to build and maintain, I am glad I went to this level of detail given all the string data requested.  I provided the string data by extracting feature lines for the corridor and exploding them to 3D polylines.

 

An easier to use kerb transition subassembly would have been very useful.  Changes in the design (removal of some parking bays) meant I had to remove and move all the kerb assemblies along the chainage which was a pain with so many regions.  I will look into the UK country kit and see if I can find the transitional kerb assembly.

 

strings 1.PNGstrings 2.PNG

Mike Kingdon
Civil 3D Zealot

EESignature

Message 8 of 18
m_kingdon
in reply to: FrankHuang

Hi Frank,

 

I have updated the file, links below.  Construction Cloud only allows me to provide links with a 3 months expiry.

Some comments and wish list items I have from making this model:

  • A transitional kerb assembly that could response to targets would be very useful.  The MLT is good for smaller projects, but having my kerb made of many regions was hard to manage
  • I am unable to paste some roading surfaces together, a better way of finding circular dependencies would be more useful than the useless "error performing edit" message.
  • The ability to rotate corridor assemblies respective of the alignment would be a massive help, rather than corridors being perpendicular only!
  • Add widening to offset alignments needs to be made easier and more robust.  I found the command to be finicky and would often not respond.  I often had to just throw a wide region onto my offset alignment by clicking the plus symbol on the grip icons and then grip edit the wide region into place to make my parking bays.
  • A simple transition to a wide region on a offset alignment is needed.  The linear, curve-line-curve etc options are fine for some highway design but impossible to use if the road width varies around a corner.
  • Corridor surface boundary should actually follow the corridor.  The fact that a corridor surface can jump a gap between two separate regions is very frustrating!!  I could probably have built the whole road model with one corridor if I could make the corridor surface stay within the corridor.
  • Compound Curves in the Connected Alignments are a welcome addition.  But these alignments need to be more flexible, i.e change the curve type and radii values after the connected alignment is created.
  • Ability to extract feature lines from more and one corridor at a time would be useful.
  • Better Civil 3D to Infraworks workflow.  My roads look crazy in Infraworks with the component road pieces?  It is almost like Infraworks and Civil 3D were built by two different companies, but since they are both Autodesk produces they should just work.

 

 

Roading model can be found here:

https://acc.autodesk.com/docs/share/projects/222eb5fe-309f-479a-bf88-b824ae0917c0/files?shareId=7352...

 

Existing surface (incase you need this)

https://acc.autodesk.com/docs/share/projects/222eb5fe-309f-479a-bf88-b824ae0917c0/files?shareId=d886...

 

MLT subassembly:

https://acc.autodesk.com/docs/share/projects/222eb5fe-309f-479a-bf88-b824ae0917c0/files?shareId=6ead...

 

Let me know if you have any questions.  I am happy to discuss this model further.

Mike Kingdon
Civil 3D Zealot

EESignature

Message 9 of 18
tcorey
in reply to: m_kingdon

Kudos to @m_kingdon @mark.reeveTXANL @FrankHuang and

@KirkWM 

 

This thread is worthy of an Autodesk University course. Thanks for sharing your expertise and here's hoping you submit and score a trip to the next AU in person.

 

 



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 10 of 18
m_kingdon
in reply to: tcorey

Thanks very much for the kind words @tcorey 
I am grateful to the community here for all the help you all have provided me over the years.  I did plan writing a course (or many small lessons) regarding how I modelled this project as well as other smaller projects, I even bought a website domain to host this content, but I just haven't made the time yet to work on this.  Hopefully soon, especially now this project has been issued.  I will make this happen.

Mike Kingdon
Civil 3D Zealot

EESignature

Message 11 of 18
FrankHuang
in reply to: m_kingdon

@m_kingdon , for modeling of curbs, the way of creating curb in UKIE/UK might helps.  Add a property value to give you the parameters of curb. 

I tested the transition cases, seems we can handle the transitions automatically. which is good. 

Looking forward to see your feedbacks on this. 

FrankHuang_0-1645438101831.png

FrankHuang_0-1645438267840.png

 

That means we can make the conditional works for the bus-bay area. 

"https://damassets.autodesk.net/content/dam/autodesk/logos/autodesk-logo-primary-rgb-black-small_forum.png"
Tags (1)
Message 12 of 18
jameshitt
in reply to: m_kingdon

Really impressive work.

Off the top of my head, the one thing that I think you should consider is dividing up your data with some data references. I typically have design alignments/profiles in one drawing, road corridors in another, and overall surface creation in another (in addition to deliverables, and volumes--both earthworks and flood plain mitigation--in other drawings as needed, of course).

Now in this case, your theoretical corridor file would probably still be huge, but it might be small enough to at least be a sufficient amount less than the frightening (and for me, unacceptable) 100mb size. My personal choice would be to consider dividing into 2 corridor files, IF there was a nice clean straight area in which I could set a split point.

(Another big advantage of splitting design alignments/profiles into their own file is for large projects with multiple phases. This makes keeping track of the design between phases much easier and more reliable. Your design alignments/profiles are in one Master base file, and the different phases can each have their own corridor/grading files building on top of the alignments/profiles referenced in.)

Message 13 of 18

Its important to note that kerbs can only transition between different types using the UKIE multikerb assembly, not the standard UKIE sub assembly for kerbs - and the multikerb sub assembly only seems to work in 2020 version+.

 

when using the older british kerb sub assembly what people on the forum suggest is leaving a gap for the transition when changing the kerb type. I admit it is an annoying solution considering it means that you can't export corridor solids but realistically I have never really had to do that too often. Usually it is a 3d polyline drawing which still works with the gaps in the corridor.

 

I have been looking for an answer in how to get the new multi kerb sub assembly to transition more than once - you have to put specific chainages in the sub assembly - and i think the answer to this is dynamo which unfortunately means if your not used to it or dont have the latest version of C3D it might be a non starter.

 

I'll be honest I have tried creating an MLT sub assembly and have looked and rewatched Jowens lessons and havent been able to spend enough time playing around to make a british sub assembly transition but a part of me can't help but feel it adds a lot of complexity to something that might not really matter. In my projects and experience I have never been asked to get the kerb info from a C3D file, usually that is a 2D output, sure it would be awesome to have but does it impact the level design - not significantly.

 

What I have been thinking of doing is make a version that can have the targets manually set, so the sub assembly would have the different kerb types and aswell as that it would just have vertical and horizontal targets added to it, then when a transitions is needed 2D polylines can be drawn to guide the transition, more manual but would still work.

 

In terms of the reducing the size it can be a hard one to get benefits in, I agree that in principle having different entities in different drawings is useful if you have a network/vpn that can manage the amount of data being sent and recieved; I usually end up having a "design modal" which is large but then split the outputs into smaller files; the time you save in working with smaller files you lose in trying to synchronise and then rebuild the corridors when you have restrictions on the network speeds, i.e. over a VPN.

 

What I have seen help is being militant in how you use the file, hide regions of corridors that aren't near the area your working, turning the surface creation on and off, use quick profile view instead of having "working" cross sections created, reducing frequency for the corridors until you need it wo be detailed, even a chnage from 5m to 1m intervals helps. 

 

Hope some of the above helps.

Message 14 of 18
mark.reeveTXANL
in reply to: m_kingdon

Good summary of what would could be developed in C3D!
Message 15 of 18
m_kingdon
in reply to: FrankHuang

Hi Frank,

 

Sorry for the delay.  I have been busy with other parts of this project for several months now.  The model is now half-built in real life which is very exciting.

 

I tried using the British Multikerbs (with transitions) subassembly which does seem very useful.  However, I don't think it would have worked in my situation.  My understanding is that the subassembly can only support two transitions (to and from type a to type b) and that the chainage of these transitions must be specified in the subassembly.  I would therefore have to use a separate subassembly for each parking bay and I have at least 50 on this scheme.

 

Another issue is that removing a parking bay would reduce the chainage of all parking bays upstream of the alignment.  I would have to go through each subassembly and update the chainage manually.

 

An alternative workflow I have been thinking about recently would be to use Jeff Bartel's "number generator" and use additional profiles along my road alignment to control parking bay widths and kerb heights. 

Video here on the number generator:

https://www.youtube.com/watch?v=W-f4Ep7TXyE

 

Frustratingly, the kerb assembly native to Civil 3D does not support height targetting so I was considering writing my own in SAC.

 

Based on recent experience with this project, I really think accurate road modelling is becoming a standard requirement.  Surveyors and contractors have been demanding exact string locations for setting out kerbs, including kerb heights.

 

Using offset alignment for parking bayUsing offset alignment for parking bayRemoving a widening section with change the alignment length and all chainage upstreamRemoving a widening section with change the alignment length and all chainage upstreamAdding extra profiles to my road alignmentAdding extra profiles to my road alignmentThe end result.  Looks good but corridor frequency needs to be very high!The end result. Looks good but corridor frequency needs to be very high!Road assembly with Number generators is the middleRoad assembly with Number generators is the middleGeneric link used as parking bay, targetting number generatorGeneric link used as parking bay, targetting number generator

Mike Kingdon
Civil 3D Zealot

EESignature

Message 16 of 18
mark.reeveTXANL
in reply to: m_kingdon

You should definitely look in to the making your own sub assembly - even if you don't use it it can still learn a lot.

Adding a profile target to a kerb is what I have done for years now, in my opinion it is more useful or at the least; easier to read and understand this way rather than using the number generator. I say that because if you use a profile the information is relative to the elevation of the design rather than just a value for the sub assembly to use.

We show the channel and TOK profiles on the same longsections, that way we can see kerb heights in the long section as they are just two profiles that info can be pulled from. It is also way easier to tie into existing levels.
Message 17 of 18
m_kingdon
in reply to: mark.reeveTXANL

Yes, I learnt a lot making the MLT subassembly. It kept me busy for the first week of the second covid lockdown in Auckland.

With your custom kerb subassembly. I assume you have added a target parameters that negates the need for the number generator subassembly? Do you have an example of a profile showing the TOK levels? Do you create this by offsetting the road profile?

Mike Kingdon
Civil 3D Zealot

EESignature

Message 18 of 18
mark.reeveTXANL
in reply to: m_kingdon

Basically yes; there is a vertical target parameter added to the sub assembly which you use to target the TOK profile you draw.

You can show as many profiles on the longsection as you want you aren't restricted to just 1, but essentially yeah select the channel profile use the copy profile option, then raise it the height of the kerb - the good thing with this is that it gives you the ability to have a TOK and channel that can deviate from one another. they are however independent from one another.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report