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: 

Subassembly Composer Define Variable Width for Superelevation

9 REPLIES 9
SOLVED
Reply
Message 1 of 10
Anonymous
5141 Views, 9 Replies

Subassembly Composer Define Variable Width for Superelevation

Trying to create a subassembly that will hold the slope of the inslope of my shoulder, but will extend or shorten links to my inslope depending on the slope of the superelevation. I think I need to define a variable possibly for the widths of my links or could I possibly do an intersection point or auxiliary intersection? Not exactly sure how to go about this.

 

In the image I've attached links L11, L9, would both have varying lengths depending on the grade of superelevation.

I would like said links to target/intersect Links L12 and L13 which I would like to hold at a 1:4 inslope from P9. 

Then link L18 would also be a varying width depending on superelevation, but target/intersect a line from P8 at -1:1 (L19)

 

 

SA SUPER.jpg

9 REPLIES 9
Message 2 of 10
KMercier_C3D
in reply to: Anonymous

As a good rule of practice (and especially when superelevation is involved) I try to avoid referencing Input Parameters that may be overridden by either superelevation or a target beyond their first reference where it is determined if they are going to be used or not and instead use the appropriate API function. For example, any point that is defined for a link that is parallel to L1 I would use L1.slope to define the slope instead of SLOPE

 

I also personally try to avoid using the ApplyAOR checkboxes and the Superelevation dropdown menues because I've found them to not always work right and there is less control. Instead of like to use a superelevation formula for L1 instead of just SLOPE. This formula can end up being long if you want to look at all the potential options but if you know what superelevation variable you are limiting it to then you can also work that in: 

 

if((UseSuperelevation=LeftInsideLane)AND((Side=Left)AND(SE.HasLeftLI)), SE.LeftLI,
if((UseSuperelevation=LeftOutsideLane)AND((Side=Left)AND(SE.HasLeftLO)), SE.LeftLO,
if((UseSuperelevation=LeftInsideShoulder)AND((Side=Left)AND(SE.HasLeftSI)), SE.LeftSI,
if((UseSuperelevation=LeftOutsideShoulder)AND((Side=Left)AND(SE.HasLeftSO)), SE.LeftSO,
if((UseSuperelevation=RightInsideLane)AND((Side=Right)AND(SE.HasRightLI)), SE.RightLI,
if((UseSuperelevation=RightOutsideLane)AND((Side=Right)AND(SE.HasRightLO)), SE.RightLO,
if((UseSuperelevation=RightInsideShoulder)AND((Side=Right)AND(SE.HasRightSI)), SE.RightSI,
if((UseSuperelevation=RightOutsideShoulder)AND((Side=Right)AND(SE.HasRightSO)), SE.RightSO,
CType(SLOPE,Double)))))))))

 

Now I'm unclear from  your original post if you are using only one superelevation and wanting that slope of L1 to be the same in L10 in which case you can use the L1.slope that I referenced above for defining P9 or if you are wanting the superelevation of the lane (L1) to be different than the superelevation of the shoulder (L10) if that is the case check out this post: SAC working with two different superelevation values

 

Now back to your original question, you are correct that you will want to define P10, P8, and P14 all as intersection points.

P10 will be a TwoPointsSlope intersection point from P6 with a slope of L10.slope and from P9 with a slope of -SLOPESHLDR.

P8 will be a TwoPointsSlope intersection point from P7 with a slope of L1.slope and from P9 with a slope of -SLOPESHLDR. (You will want to make sure you define P9 first.) 

P14 will be a TwoPointsSlope intersection point from P13 with a slope of L1.slope and from P8 with a slope of -100% and check the box for "Reverse Slope 2".

 

For all the intersection points you will have to define the link separately as another element after it. 

 



Kati Mercier, P.E. | LinkedIn | AutoCAD Civil 3D Certified Professional
Pronouns: She/Her
Co-author of "Mastering AutoCAD Civil 3D 2013"
AU2019 Speaker::: CES321590: Analyze and Revise Existing Subassembly Composer PKT Files for AutoCAD Civil 3D
AU2017 Speaker::: CI125544: Analyze and Devise in Subassembly Composer
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®

Message 3 of 10
Anonymous
in reply to: KMercier_C3D

Still having trouble getting this to work properly. I did get the intersection points to come in correctly and it seems to work fine in SAC. When I change the slope to 6% it shows the points and links being extended and holding the 1:4 inslope. 

But when I bring it into civil 3d it doesn't seem to work the same as in SAC. I did switch all my parallel Link slopes to L1.slope. 

But I was still using the apply AOR and superelevation drop down. So maybe that is what's wrong. So I think I need to use this formula that you posted but was unsure of how to go about that?

 

if((UseSuperelevation=LeftInsideLane)AND((Side=Left)AND(SE.HasLeftLI)), SE.LeftLI,
if((UseSuperelevation=LeftOutsideLane)AND((Side=Left)AND(SE.HasLeftLO)), SE.LeftLO,
if((UseSuperelevation=LeftInsideShoulder)AND((Side=Left)AND(SE.HasLeftSI)), SE.LeftSI,
if((UseSuperelevation=LeftOutsideShoulder)AND((Side=Left)AND(SE.HasLeftSO)), SE.LeftSO,
if((UseSuperelevation=RightInsideLane)AND((Side=Right)AND(SE.HasRightLI)), SE.RightLI,
if((UseSuperelevation=RightOutsideLane)AND((Side=Right)AND(SE.HasRightLO)), SE.RightLO,
if((UseSuperelevation=RightInsideShoulder)AND((Side=Right)AND(SE.HasRightSI)), SE.RightSI,
if((UseSuperelevation=RightOutsideShoulder)AND((Side=Right)AND(SE.HasRightSO)), SE.RightSO,
CType(SLOPE,Double)))))))))

 

This formula that you posted, how can I use this, can I just copy and paste this into SAC somewhere? Paste into my slope for L1?

I am only using one slope for all the links that transitions as it goes through the superelevation. Max super 6% 

Message 4 of 10
KMercier_C3D
in reply to: Anonymous

Yes use that big long formula for the slope of P2 (but remember to add your - sign before the SLOPE at the last line of the formula). You can hit the [...] button to have a window to insert the formula into instead of the single line if you want to see it all. That formula is set up to read the UseSuperelevation input parameter you already are using but is not set up to use the SupportAOR input parameter. And make sure you don't have any ApplyAOR checkboxes checked anywhere.



Kati Mercier, P.E. | LinkedIn | AutoCAD Civil 3D Certified Professional
Pronouns: She/Her
Co-author of "Mastering AutoCAD Civil 3D 2013"
AU2019 Speaker::: CES321590: Analyze and Revise Existing Subassembly Composer PKT Files for AutoCAD Civil 3D
AU2017 Speaker::: CI125544: Analyze and Devise in Subassembly Composer
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®

Message 5 of 10
Anonymous
in reply to: KMercier_C3D

Great, that seemed to be it! I removed the support AOR parameter and updated the slope of link L1 to that formula and it worked in Civil 3d. 

 

Thank you again!

Message 6 of 10
Anonymous
in reply to: KMercier_C3D

How did you added Enumeration Groups,,it was awesome can you please give me guidance i want to try

 

MYSUPER

LEFTLI

LEFTSO...ETC

Message 7 of 10
KMercier_C3D
in reply to: Anonymous

First go to View and select Define Enumeration: 

image.png

 

From that window you can Create an Enumeration Group and define as many Enumeration Items within that group as you want. Then it will show up in the drop down list as an option for Type in your Input/Output Parameters:

image.png



Kati Mercier, P.E. | LinkedIn | AutoCAD Civil 3D Certified Professional
Pronouns: She/Her
Co-author of "Mastering AutoCAD Civil 3D 2013"
AU2019 Speaker::: CES321590: Analyze and Revise Existing Subassembly Composer PKT Files for AutoCAD Civil 3D
AU2017 Speaker::: CI125544: Analyze and Devise in Subassembly Composer
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®

Tags (1)
Message 8 of 10
Anonymous
in reply to: KMercier_C3D

Hello

 

I did exactly what you said but seems the application of the formulae in the VB expression is giving me errors. I am only creating a simple assembly to calculate for the subgrade volumes and it seems that sections in curves are not showing any superelevation. Kindly help me since I need to submit this asap. I have attached the pkt. file to this mail,kindly take a look and help.

 

thanks alot 

Message 9 of 10
KMercier_C3D
in reply to: Anonymous

See attached example.



Kati Mercier, P.E. | LinkedIn | AutoCAD Civil 3D Certified Professional
Pronouns: She/Her
Co-author of "Mastering AutoCAD Civil 3D 2013"
AU2019 Speaker::: CES321590: Analyze and Revise Existing Subassembly Composer PKT Files for AutoCAD Civil 3D
AU2017 Speaker::: CI125544: Analyze and Devise in Subassembly Composer
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®

Message 10 of 10
KairoFilipe
in reply to: Anonymous

Dear @KMercier_C3D  First of all, thank you so much for the help on the foruns. I always found my answer in your coments. Now if you could help me, I am having problems with this questions of aor in my custom sub. In some parts of my corridor one sub disapear (Picture), I beleave that is the aor behavier. Could You take a Look? photo_2022-10-16_12-29-03.jpg

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

Post to forums  

Rail Community


 

Autodesk Design & Make Report