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: 

My wish: Elevation Target with 2 options

20 REPLIES 20
SOLVED
Reply
Message 1 of 21
joantopo
2093 Views, 20 Replies

My wish: Elevation Target with 2 options

Currently, the Elevation target only works in a only one way. It would be good that Civil 3D provides 2 options (2 ways) to provide the elevation to the subassembly.  Nowadays, Civil 3D works as the left side (the elevation of the design profile in that station) is dragged to the edge of the subassembly, whereas it would be interesting like the right side one (the new elevation of the subassembly edge is calculated by interpolation (theorical projection) ).

Thus, it doesn´t have to create a new offset alignment (also used for the Horizontal target) with its corresponding design profile to obtain the properly elevation for the subassembly.

 

So, in a corridor Region, for a subassembly, you can choose one of the 2 options for the elevation target.

 

 

 

elevation target options-wish list civil 3D.jpg

 

I attach a drawing file which is the source of this screenshoot.

 

Please, Autodesk staff, remember this improvement.

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
20 REPLIES 20
Message 2 of 21

I know this is possible if writing your own subassemblies in .NET. Not sure if this is possible in subassembly composer.

Mike Robertson
FL. Dept. of Transportation
CADD Applications Developer
Message 3 of 21

Yesterday I was reading the help guide of the SAC about this.

 

I also think that it is possible with our own subassembly, perhaps like this:

 

 

**The subassembly has 2 points (P1 and P2) and a link (L1) between them.

**TargetElevation is the name of the "Target Parameter" of type=Elevation.

 

(Decision)
TargetElevation.IsValid
(True)

// define variable and set it.

**TargetElevation.Elevation is only the difference bewtween elevations.

ElevationZ_Target= BaseLine.Elevation + TargetElevation.Elevation;
ElevationZ_P1= P1.Elevation;
ElevationZ_BaseLine= BaseLine.Elevation;

//we do the same for the offsets (widths).



//Input parameter, to be filled in by the user.
This input paramater will be used when the subassembly has assigned the Elevation target.

Input parameter (double)---(by default 0) called "offsetBaseLine_ElevTarget"

//new variable:
IncrX= offsetBaseline_ElevTarget - P1.Offset;

//new variable:
IncrY= ElevationZ_Target - ElevationZ_P1;

//new variable:
PartialIncrY= L1.Xlength * IncrY / IncrX ;

//Finally, we put the new elevation for P2 point, which it will be the interpolated elevation using the target elevation.

P2.Elevation= P1.Elevation+ PartialIncrY;


 

In this case, we don´t use an Offset Target, only the ElevationTarget, and the last snippet code only works if the TargetElevation parameter is enabled by the user (is valid).

 

We don´t use an Offset Target but we use an input parameter called "offsetBaseLine_ElevTarget" to know the horizontal distance between the baseline and the ElevationTarget.

 

Perhaps, in the API in SAC, it should have a new member (currently there are: ElevationTarget.IsValid  and ElevationTarget.Elevation), why not ElevationTarget.Offset ?

So, I didn´t have to ask this value to the user with an input parameter.

 

I would like that the stock subassemblies, in special LaneSuperelevationAOR and ShoulderVertical, have this property to catch the interpolated elevation from a ElevationTarget.

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 4 of 21
joantopo
in reply to: joantopo

for target surface, there is "P1.DistanceToSurface(SurfaceTarget)", why not  this new member:"P1.DistanceToElevationTarget(ElevationTarget)", to obtain the horizontal distance?

 

In my code, the alignment(from the elevation target) must be parallel to the baseline because I add an input parameter for that offset.

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 5 of 21
joantopo
in reply to: joantopo

Oh yeah! 

I can apply an Offset Target without overriding my width of the subassembly !

 

This way allows me to know the offset assign a Offset Target without overriding.

 

But, Could I enable the Offset Target Override with an Input parameter, boolean type, (new property of the subassembly) if I would want?

 

 

 

without override.jpg

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 6 of 21
Anonymous
in reply to: joantopo

Joan, have you tried auxilary links, auxilary surface links and auxilary intersections?

Message 7 of 21
fcernst
in reply to: joantopo

Since your goal is to use those two stock subassemblies anyway, for now it would be easier to use a generic link to compute the projected slope and pass it on.



Fred Ernst, PE
C3D 2024
Ernst Engineering
www.ernstengineering.com
Message 8 of 21
joantopo
in reply to: fcernst

About this:

"have you tried auxilary links, auxilary surface links and auxilary intersections?" the intersections is with different links in the same subassembly,  and I am not using a target surface, is a design profile with ElevationTarget.

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 9 of 21
joantopo
in reply to: fcernst

Hi fcernst.

 

I was just thinking in that possibility too.

 

Mysubassembly would be the closed subassembly of the BaseLine (the first beginning in the right side), I get the properly slope and extract it with an Output parameter, so the the next subassembly( such as LaneSuperelevationAOR ,takes the slope with an Input parameter= Mysubassembly.slope.

In this case, Mysubassembly should very very short, with a width of 1 milimeter, for example.

 

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 10 of 21
joantopo
in reply to: joantopo

I have a doubt about changing the elevation of P2.

 

I can do this "P2.Elevation" but it´s for read or create a varible using that value.

 

But.. how can I change this value? P2.Elevation?  can I set (write) it again in the Subassembly Composer?

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 11 of 21
joantopo
in reply to: joantopo

It could be a subassembly with only one point? And this an auxiliar point?

 

I don´t know if I can make a subassembly without links and only one auxiliar point.

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 12 of 21
doni49
in reply to: joantopo


@joantopo wrote:

Oh yeah! 

I can apply an Offset Target without overriding my width of the subassembly !

 

This way allows me to know the offset assign a Offset Target without overriding.

 

But, Could I enable the Offset Target Override with an Input parameter, boolean type, (new property of the subassembly) if I would want?

 


Do you mean something like the attached (download it and save with a pkt extension instead of zip)?

 

OffsetTargetBool.png



Don Ireland
Engineering Design Technician




If a reply solves your issue, please remember to click on "Accept as Solution". This will help other users looking to solve a similar issue. Thank you.


Please do not send a PM asking for assistance. That's what the forums are for. This allows everyone to benefit from the question asked and the answers given.

Message 13 of 21
doni49
in reply to: joantopo


@joantopo wrote:

I have a doubt about changing the elevation of P2.

 

I can do this "P2.Elevation" but it´s for read or create a varible using that value.

 

But.. how can I change this value? P2.Elevation?  can I set (write) it again in the Subassembly Composer?

 

 


Instead of defining P2 and then trying to change the elevation of P2 later, I would assign an Aux point in place of P2.  Then when you're ready to "chagne" that point, create a real point that is relative to the aux pt.



Don Ireland
Engineering Design Technician




If a reply solves your issue, please remember to click on "Accept as Solution". This will help other users looking to solve a similar issue. Thank you.


Please do not send a PM asking for assistance. That's what the forums are for. This allows everyone to benefit from the question asked and the answers given.

Message 14 of 21
joantopo
in reply to: doni49

Hi.

 

I attach my pkt file. Perhaps, it could have been another name more correct. XD

 

 

With only one point (is an auxiliar point) works fine (I don´t need a second point neither a link).

 

The Target offset is only to get the Horizontal distance from the base line and the design profile(according to its alignment).

 

The calculated slope is an output parameter to catch it in another subassemblies. (it seems that the output parameter works fine).

 

The only trouble now, is that the calculated slope is not calculated properly. I don´t know what is the reason. Could you check my variables if they are right?

 

Note: I use the elevation BaseLine and the offset of the AP1, because this subassembly can be used between subassemblies, so it is not obligatory that this subassembly was the first. (it is not necessary it was anchored to the BaseLine).

 

Later I will see your pkt file.

 

Thanks.

 

 

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 15 of 21
hmartinez5
in reply to: joantopo

Why don't you let the program calculate it for you. See the modified PKT.

Message 16 of 21
joantopo
in reply to: joantopo

Ok, I think what is the issue in my pkt file.

The output parameter is a grade type and should be slope type.

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 17 of 21
joantopo
in reply to: joantopo

Great @hmartinez5 

 

It works now fine!

 

I missed assign both targets in AP2 to override the other values, you are right.

 

I see that the input parameter was right, it must be "grade" but in the expression I multiplied by 100, I thought it should be in percent.

 

I have tested and works perfect.

 

Thank you all.

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 18 of 21
Anonymous
in reply to: joantopo

Grading transition between two different targets........
Message 19 of 21
joantopo
in reply to: Anonymous

Well, there is only one Elevation target (from a design profile) , the another one is the design profile of the BaseLine.

Pehaps, grading transition between design profiles.

 

We also need the Offset target because we cannot get the Horizontal distance from the design profile to the BaseLine.

I think in the API in SAC, the ElevationTarget needs a new member: ElevationTarget.Offset thus it wouldn´t be necessary to select an Offset Target too.

 

 

And the Auxiliar link doesn´t have to do, because we can do this: AP1.SlopeTo("AP2")

Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS


Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes
Message 20 of 21
Anonymous
in reply to: joantopo

I'm just talking about for grading objects.

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

Post to forums  

Rail Community


 

Autodesk Design & Make Report