Hello everyone,
I have created a custom side ditch that is attached to a shoulder, which is as one subassembly, when imported into civil 3d. I want the side ditch to look straight and not bent, as indicated by the number 2 in image 2. the connection of the shoulder near the number 1 should connect to the side ditch but still maintain the thickness of the subbase, whenever the shoulder superelevates. I have tried for 3 weeks but still cannot get it to work, please I need your help.
See attached is the subassembly, and the images.
Solved! Go to Solution.
Solved by Jowennl. Go to Solution.
Solved by Jowennl. Go to Solution.
Solved by Dexterel. Go to Solution.
Fix some slopes and convert delta X-s to delta Y-s.
Small note: Link L51 has 0 slope so be sure to take into consideration, this means L5 length=L1 length-Trim, if you need P20 to coincide with P27.
New Parameters:
Use superelevations: if "Yes" it will use superelevation if superelevation is declared (presence) otherwise uses ShoulderSlope parameter.
Type of superelevation: In your case it will be outside shoulder. Note if subassambly is on the right it will use right outside shoulder and so on.
Formula for slope:
if(SA.islayout or Use_super=No,ctype(ShoulderSlope,Double),
if(Side=Left,
if(super_type.value="OutsideLane",
if(SE.HasLeftLO, ctype(SE.LeftLO,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="InsideLane",
if(SE.HasLeftLI, ctype(SE.LeftLI,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="OutsideShoulder",
if(SE.HasLeftSO, ctype(SE.LeftSO,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="InsideShoulder",
if(SE.HasLeftSI, ctype(SE.LeftSI,Double), ctype(ShoulderSlope,Double)),
ctype(ShoulderSlope,Double) ) ) ) ),
if(super_type.value="OutsideLane",
if(SE.HasRightLO, ctype(SE.RightLO,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="InsideLane",
if(SE.HasRightLI, ctype(SE.RightLI,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="OutsideShoulder",
if(SE.HasRightSO, ctype(SE.RightSO,Double), ctype(ShoulderSlope,Double)),
if(super_type.value="InsideShoulder",
if(SE.HasRightSI, ctype(SE.RightSI,Double), ctype(ShoulderSlope,Double)),ctype(ShoulderSlope,Double)) ) ) )))
One more thing.
I change the SA so WallHeight represents the vertical distance mentioned in the attached image. SideSlope no longer influences this distance. This is way i change the points form deltaX-s to deltaY-s.
Hi @NeoAlpha,
Just a suggestion. Probably similar to @Dexterel.
Please see suggestion below and attached PKT:
General Notes:
1) I remove AOR as it confused me.
2) I use math.abs to always show correct value.
Cheers,
Jowenn
Jowenn Lua | Retired Account See My New Profile Here
AU 2023 CES600726 – Getting Started with Generative Design in Civil 3D: A Beginner’s Guide
AU 2020 CES473668 – Supercharge Your Dynamo Graph with Civil 3D Toolkit
AU 2019 CES319333 – Dynamo in Civil 3D Introduction Unlocking the mystery of scripting
AU 2018 CI225967 – Using Automation in Civil 3D for Construction Documentation and Exports
AU 2017 CI123653 – AutoCAD Civil 3D and Subassembly Composer— Real-World-Practice Tips and Tricks
Hi @Dexterel,
Nice pick up! Thanks for letting me know.
Cheers,
Jowenn
Jowenn Lua | Retired Account See My New Profile Here
AU 2023 CES600726 – Getting Started with Generative Design in Civil 3D: A Beginner’s Guide
AU 2020 CES473668 – Supercharge Your Dynamo Graph with Civil 3D Toolkit
AU 2019 CES319333 – Dynamo in Civil 3D Introduction Unlocking the mystery of scripting
AU 2018 CI225967 – Using Automation in Civil 3D for Construction Documentation and Exports
AU 2017 CI123653 – AutoCAD Civil 3D and Subassembly Composer— Real-World-Practice Tips and Tricks
That was awesome, thanks Dexerel and Jowenni.
The wallheight was also a very great fix as I can also change the wallheight without any issue. I tested both .pkt and they both worked great. Thanks once again.
Can't find what you're looking for? Ask the community or share your knowledge.