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.
2 - Roading corridor.
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.
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 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.
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
Solved! Go to Solution.
Solved by KirkWM. Go to Solution.
The model can be downloaded here:
Mike Kingdon
Civil 3D Zealot
What a thoughtful share and well documented! 45 separate corridors is a lot :-O. Some thoughts:
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
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.
@m_kingdon Want to spend some time on this case. seems the model you shared can be accessed anymore.
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.
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.
Mike Kingdon
Civil 3D Zealot
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:
Roading model can be found here:
Existing surface (incase you need this)
MLT subassembly:
Let me know if you have any questions. I am happy to discuss this model further.
Mike Kingdon
Civil 3D Zealot
Kudos to @m_kingdon @mark.reeveTXANL @FrankHuang and
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.
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
@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.
That means we can make the conditional works for the bus-bay area.
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.)
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.
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 bay
Removing a widening section with change the alignment length and all chainage upstream
Adding extra profiles to my road alignment
The end result. Looks good but corridor frequency needs to be very high!
Road assembly with Number generators is the middle
Generic link used as parking bay, targetting number generator
Mike Kingdon
Civil 3D Zealot
Mike Kingdon
Civil 3D Zealot
Can't find what you're looking for? Ask the community or share your knowledge.