turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Close

AutoCAD Civil 3D General Discussion

- Autodesk Community
- >
- AutoCAD Civil 3D
- >
- AutoCAD Civil 3D General Discussion
- >
- Re: How to model corridors with assemblies perpend...

Topic Options

- Start Article
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

1324 Views, 4 Replies

01-17-2013 01:38 AM

Hi everybody,

I'm trying to model a tunnel network and I have come across a problem I can't solve by myself and any help is greatly appreciated! I know what I'm trying to do is not what Civil is ment for but bear with me =)

The problem is best described with an example:

A sort of tunnel - or shaft - has to be blasted in order to make an access between the ground surface and a certain parking cavern. This access will be an escalator and the tunnel will be blasted in a 30 degree angle to the horizontal level. Normally when I design tunnel cross sections (CS) the contractor will blast the designed CS perpendicular to the designed profile.

I drew the tunnel CS with sub assembly composer and created an assembly in civil. I then made an alignment and a profile according to our design. And here is the actual dilemma: Civil draws the assemblies so that the assemblies are vertical and what I need is them to be drawn/modelled perpendicular to the designed profile. Is there a way to do this?

I will attach a .pdf and a .dwg of a surface profile along the alignment created (and tidied up) with civil 3d, in which I have tried to illustrate the problem in case my description isn't clear enough!

- Frans

Solved! Go to Solution.

Solved! by KMercier_C3D. See the answer in context.

You can use the API function **baseline.grade** in any expression used in Subassembly Composer to take into account the instantaneous slope of the baseline at that specific location and then calculate the shrinkage factor right in the subassembly so it will take into account any of the grades that it comes into (even vertical curves) so no need to make different subassemblies for every grade.

As far as needing an ellipse in SAC, the program currently only allows arcs and parabolas but both of these have arc tessellation. If I were to use an ellipse I would use simple geometry and create my own "arc tessellation" using points and links. You could easily set up a Sequence element which uses the calculated ellipse variables to make a series of points and links to generate the needed ellipse shape (really that is all the Curve element is, a sequence of points and links based on the curve geometry properties).

Hope that makes sense!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-17-2013 05:13 AM in reply to:
Buzz0m

The corridor is always going to place the assembly in a vertical orientation but you can give it distorted information so when it is drawn vertically the dimensions appear correct when measured perpendicularly.

I would actually make two sets of subassembly or one subassembly with a Boolean operator (yes/no) to switch it from perpendicular to the profile to typical vertical. In your subassembly you will want to add a variable for VerticalDistortion. This variable would be a percentage that each of the vertical dimensions would need to be stretched/shrunk by on order to switch back and forth between the perpendicular and vertical sections (you can use the Baseline.grade API function an a little trigonometry to calculate the distortion value.

All of your input parameters would be entered as values measured perpendicular to the baseline, I presume. Then if you want the subassembly to perpendicular to the baseline then the distortion will be 1 and if you want the subassembly to be vertical then the distortion will be this calculated value. So for the placement of each point you would multiply the vertical values by this distortion.

So now you have a subassembly that can handle being drawn vertically but the dimensions should be correct in the perpendicular direction. You will use this corrected subassembly for all of your modeling. However if you want to generate cross section views you would just use the non-distorted version (which is why I said make two or make one that can switch the distortion on and off). And run that along the baseline and generate cross sections from there and they will dimension out correctly. (Hope that makes sense and I interpreted your problem correctly!)

Although a slightly different application, I went over a subassembly that takes into account the baseline.grade in my AU class taught in 2011, the handout may give you some further insight.

Good luck!

Kati Mercier, P.E.

Co-author of "Mastering AutoCAD Civil 3D 2013"

AutoCAD Civil 3D 2013 Certified Professional and AutoCAD 2013 Certified Professional

AU2012 Speaker::: CI3001: Reverse Engineering with Subassembly Composer for AutoCAD Civil 3D

AU2011 Speaker::: CI4252: Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D®

Co-author of "Mastering AutoCAD Civil 3D 2013"

AutoCAD Civil 3D 2013 Certified Professional and AutoCAD 2013 Certified Professional

AU2012 Speaker::: CI3001: Reverse Engineering with Subassembly Composer for AutoCAD Civil 3D

AU2011 Speaker::: CI4252: Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D®

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-17-2013 06:39 AM in reply to:
KMercier_C3D

Thanks for the tips! I figured I would be forced to do something like that and I will try it out as soon as I can find the time! =)

Is there by any chance a way to code the assembly so that it would calculate the (let's call it) shrinkage factor, SF, based on the slope of the baseprofile? The same problem I described earlier of course applies for all tunnels which are not horizontal and often long highway tunnels have many different slopes and being forced to make different assemblies for every slope is not imho an efficient solution!

Another problem (which I also just have to live with) is that when I will try the "shrinking" of the cross sections, I won't be able to model the tunnel roof properly! Scaling (or shrinking) the tunnel roof - which is an arc - in the vertical direction will make it an ellipse. Creating geometrical rules in SAC that will take this in account will most likely be hard if not impossible to do.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-17-2013 06:48 AM in reply to:
Buzz0m

You can use the API function **baseline.grade** in any expression used in Subassembly Composer to take into account the instantaneous slope of the baseline at that specific location and then calculate the shrinkage factor right in the subassembly so it will take into account any of the grades that it comes into (even vertical curves) so no need to make different subassemblies for every grade.

As far as needing an ellipse in SAC, the program currently only allows arcs and parabolas but both of these have arc tessellation. If I were to use an ellipse I would use simple geometry and create my own "arc tessellation" using points and links. You could easily set up a Sequence element which uses the calculated ellipse variables to make a series of points and links to generate the needed ellipse shape (really that is all the Curve element is, a sequence of points and links based on the curve geometry properties).

Hope that makes sense!

Kati Mercier, P.E.

Co-author of "Mastering AutoCAD Civil 3D 2013"

AutoCAD Civil 3D 2013 Certified Professional and AutoCAD 2013 Certified Professional

AU2012 Speaker::: CI3001: Reverse Engineering with Subassembly Composer for AutoCAD Civil 3D

AU2011 Speaker::: CI4252: Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D®

Co-author of "Mastering AutoCAD Civil 3D 2013"

AutoCAD Civil 3D 2013 Certified Professional and AutoCAD 2013 Certified Professional

AU2012 Speaker::: CI3001: Reverse Engineering with Subassembly Composer for AutoCAD Civil 3D

AU2011 Speaker::: CI4252: Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D®

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-17-2013 06:53 PM in reply to:
KMercier_C3D

Peter Funk talked about a similar situation in an AU class, back in the days when subassemblies were written in VBA. In that case the corridor was used to represent a concrete bridge structure in France somewhere. The assembly built a series of polylines perpendicular to the horizontal and vertical alignment which could be used for design of the prefab formwork.

Search This Board

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.

- Privacy | Legal Notices & Trademarks | Report Noncompliance | Site map | © Copyright 2014 Autodesk Inc. All rights reserved

Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Please see the Autodesk Creative Commons FAQ for more information.