I have created a subassembly using SAC 2018 that is not working correctly on the left side. There are two instances of "Slope to Surface" in the routine. The first one works on both the right and left side correctly and has a default slope of -1.5:1. The second one isn't working properly on the left side. It calls for a 0.00% slope to the existing ground but in Civil 3D it draws the point and link on the right side. In fact, the link is drawn at the correct distance to the surface just in the opposite direction. I greatly simplified the routine to troubleshoot this issue and have a very simple drawing to test it in. Both are attached.
Solved! Go to Solution.
Solved by Jowennl. Go to Solution.
Can you share your .pkt file?
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®
Still not attached. You may need to .zip the file or just change the .pkt extension to .zip temporarily to attach 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®
Wow, this is not a good day for me. Maybe to much eggnog yesterday. Attached is the correct version of the pkt that I am having issues with. Thanks in advance.
Hi @Brant_Dallas,
Please see attached Barb Trench V2.zip where I save the PKT version. I don't think the left side or right side is the issue.
Animated gif (Preview of SAC)
Original pkt and v2
Comments / Notes:
1. Your original pkt needs adjustment to include different scenario of surface position compared to origin and target trench.
2. I use math.abs to convert to absolute value
3. I use Decision workflow to check Origin vs EG vs TargetTrench (See image below)
4. I use Decision workflow to check L6 if Top or Datum (See image below)
5. I use Point, Link and Shape code(s) as Input parameter variable rather than hard coded
6. If Origin is lower than TargetTrench then all link codes need to swap (something to be aware of see Scenario 4-6 Datum is now on top)
Sample L6 as variable
Scenario 1 to 6
Lastly, I just assume that this is what you want to do. Good luck and please use this as a guide.
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
Thanks for the work on this Jowennl. Your programming is much more elegant than mine. I have a pkt file already that takes care of all the other options but simplified it a bunch so I could troubleshoot and get help on this one issue. I don't need the whole subassembly programmed. Even in your version the trench bottom line does not "Slope to Surface". This is where my issue is. When the ground slopes so steeply that the trench bottom width extends past the ground surface I need the trench bottom to stop at the ground surface. That is why I do a "slope to surface" in my code.
Below is the cross section view of what Barb Trench V2.pkt produces. Notice that the Trench Bottom extends past the ground surface. In this case I want it to stop at the ground surface. In my fully coded subassembly I have tested for this situation and have a decision that gets me to the code that I asked for help with.
The bottom image shows my pkt file and the line in question. Why does it work on the left side of the centerline but not on the left? See my original post.
Maybe I can explain this better with pictures. First one shows the code. Notice P15 is "Slope to Surface" at -10% (the original pkt is 0% but I used -10% to show how it works in SAC).
The second picture shows the sub assembly with the Side Parameter set to right.
The third picture shows the sub assembly with the Side Parameter set to left. Looks good in SAC.
The forth picture is only the right sub assembly in Civil 3D. Looks good.
The last picture is only the left sub assembly in Civil 3D. This is the one that blows up. What am I doing wrong?
Coded in SAC - Notice -10%
This shows subassembly with Side parameter set to Right
This shows subassembly with Side parameter set to Left (looks good in SAC)
Right subassembly in C3D. Working correctly.
Left subassembly in C3D. This should look like the right subassembly.
Hi @Brant_Dallas,
Very interesting complex subassembly you got here.
Thanks for clarifying. I assume you always want to have full trench width in the bottom no matter what as that is what the layout view show. If you want the trench width to hit existing ground using 0% slope to surface the SAC will not work due to EG surface is flat. Here is my workaround with that scenario, I use intersection instead.
See attached Barb Trench V3.zip, this works well if EG is below. The rest of the conditions you need to check.
See animated gif.
VarbTrenchV3.gif
New nested rule
Hope this helps. Good luck in adding the rest of the conditions.
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
Jowennl, thanks for the help. It is greatly appreciated. Sometimes I get so focus on forcing one thing to work that I don't look at other options. The intersection option was a great workaround to solve this problem. I have been using my full sub assembly today and it has been working great.
Can't find what you're looking for? Ask the community or share your knowledge.