Hi.
I have a boolean input parameter in my customized subassembly.
The var´s name is "UseShoulder" like this example (the last part):
http://www.civil4d.com/2010/12/subassembly-composer-series-part-3-conditionals/
However, in that example says that in the "Decision" element we have to put like "Conditional" the name of the variable:
Conditional: UseShoulder.
I tried that but I got a report message.
So, I tried with this:
Conditional: UseShoulder=UseShoulder
I didn´t got any report message although if I use the subassembly in Civil 3D and change "Yes/No" value, there is no changes in subassembly.
What is wrong?
Thanks in advance.
Solved! Go to Solution.
Solved by KMercier_C3D. Go to Solution.
Solved by KMercier_C3D. Go to Solution.
That tutorial (written in 2010) is based on an older version of SAC.
But to answer your question, use the Decision UseShoulder=Yes (This will result in the True side = Yes and the False side = No)
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®
Ok. You are right.
It works fine with "UseShoulder=Yes"
And about this:
" Put the subassembly components under the true decision arrow and then the daylight components under the false decision arrow. This is a good time to realize that components have multiple connection in points. So instead of redefining the daylight components to use after the shoulder is combined, you can connect back into the same components after defining the shoulder. Here is the preview with a target surface = -1 and UseShoulder = True: "
Can we do it with the currently version of SAC?
For example, having "L2Fill" and "P3Fill" for true and false cases.
Firstly, I define a var called "WidthShoulder_InternalVar" .If bool var is true, then WidthShoulder_InternalVar= WidthShoulder (input parameter) but else, WidthShoulder_InternalVar=0.
L1 Delta X=WidthShoulder_InternalVar.
Yes you can do the same thing, you just need to make sure your point numbering system is the same. The point that the daylight is connected to has to be consistent between the two sides of the decision.
For example if the outside edge of your shoulder is P2 and your daylight goes from P2 to P3, then there also has to be a P2 on the non-shoulder side that the daylight connects to, this can be coincident with P1.
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®
Great!
I thought that I couldn´t repeat the same name for points!
This way is better than the test1 because I can check if is cut or fill from P2 instead of P1.
Thanks very much KMercier.
@joantopo wrote:
Great!
I thought that I couldn´t repeat the same name for points!
You can't re-use the same point(s). But as long as you're in different branches of a decision tree (or a switch), then you're not reusing the point.
Think of it as travelling through the flow chart from the "Start" to the very end. If the decision tree routes you through the "True" side, then anything on the fall side (including using a point number) never happened.
Don Ireland
Engineering Design Technician