Stretch Pair/Stretch Different Objects in Different Directions Using Same Value

Stretch Pair/Stretch Different Objects in Different Directions Using Same Value

Anonymous
Not applicable
2,440 Views
20 Replies
Message 1 of 21

Stretch Pair/Stretch Different Objects in Different Directions Using Same Value

Anonymous
Not applicable

 Good day All,

 

Kindly refer to the blocks attached, which consist of a rack profile and its various parameter sets. 

 

I have a stretch parameter set that adjusts the width of the frame on the right outwards. I would like for the left frame to stretch equally in the opposite direction. 

 

Question 1: Dynamic Rack.dwg
I tried to use two stretch parameter sets, namely Frame Width and Frame Width_, where 
Frame Width requires an input value, and Frame Width_ = Frame Width, however it appears that you can only use formula based expressions when working with constraints? I also failed to have constraint dimensions integrate with parametric sets via formula expressions? Are these assumptions true?

 

Question 2:
I read in a 10+ year old post that parameter sets are unreliable and that manually setting the parameters and actions was more reliable. Is this still the case?

 

Question 3: Dynamic Rack_Stretch Pair.dwg

I tried to use a stretch pair parameter set to stretch both, by setting the second stretch action of the pair's direction to 180degrees, but this didn't seem to work?


Question 4:
I exploded the nested blocks so that I could assign the geometry parameters which could be accessed in the host drawing. I would rather maintain the nested blocks as its more organised and compressed. Is there a way to achieve this? With a function similar to Revit's shared/instance parameters?

 

Question 5:
You'll see that if you lengthen the Frame CTC parameter that the hatch doesn't follow. How would I solve this? Would I constrain the hatch to the edges of the geometry being stretched?

 

Any guidance would be highly appreciated.

 

Regards,

Connor

0 Likes
2,441 Views
20 Replies
Replies (20)
Message 2 of 21

h_s_walker
Mentor
Mentor

This should start you off.

 

I added a stretch parameter to your right hand frame width and selected the left hand frame and gave it an angle of 180 degrees.

 

 

I cheated a bit on your beam. I created a new one. I couldn't get the outer hatch to stretch, so I just created two polylines and gave them thicknesses.

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 3 of 21

h_s_walker
Mentor
Mentor
Accepted solution

I've done a bit more work on your block. I've called mine test. It's the one you see when you open the attached drawing.

 

I couldn't get the hatch to stretch properly so I cheated and made some polylines with thicknesses for the beam type.

 

I've disabled the user changing the beam height because you can't have a higher number beam at a lower height than a lower number beam. Don't worry though, the beam heights are all linked to the beam pallet heights.

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 4 of 21

Libbya
Mentor
Mentor
Accepted solution

@connor7YUSA wrote:

 Good day All,

 

Kindly refer to the blocks attached, which consist of a rack profile and its various parameter sets. 

 

I have a stretch parameter set that adjusts the width of the frame on the right outwards. I would like for the left frame to stretch equally in the opposite direction. 

 

Question 1: Dynamic Rack.dwg
I tried to use two stretch parameter sets, namely Frame Width and Frame Width_, where 
Frame Width requires an input value, and Frame Width_ = Frame Width, however it appears that you can only use formula based expressions when working with constraints? I also failed to have constraint dimensions integrate with parametric sets via formula expressions? Are these assumptions true?

 

Question 2:
I read in a 10+ year old post that parameter sets are unreliable and that manually setting the parameters and actions was more reliable. Is this still the case?

 

Question 3: Dynamic Rack_Stretch Pair.dwg

I tried to use a stretch pair parameter set to stretch both, by setting the second stretch action of the pair's direction to 180degrees, but this didn't seem to work?


Question 4:
I exploded the nested blocks so that I could assign the geometry parameters which could be accessed in the host drawing. I would rather maintain the nested blocks as its more organised and compressed. Is there a way to achieve this? With a function similar to Revit's shared/instance parameters?

 

Question 5:
You'll see that if you lengthen the Frame CTC parameter that the hatch doesn't follow. How would I solve this? Would I constrain the hatch to the edges of the geometry being stretched?

 

Any guidance would be highly appreciated.

 

Regards,

Connor


Answer 1.

You cannot enter formulas into dynamic parameters/actions.  You can usually make them work the way you would like, though.  Parametric constraints will not alter dynamic parameters and vice versa.  They don't play very well together at all.  Using two separate parameters for dimensions that you want to remain equal can be done, but is more cumbersome than necessary.  Just use one parameter and add the two actions necessary.    

 

Answer 2.

No, that is false.  Parameters sets will behave exactly the same as adding the same parameter/action(s) individually.  I don't usually find parameter sets particularly useful, though, as parameters often will need multiple actions added to them to do what i want.

 

Answer 3. 

Even though you put a question mark at the end, you didn't post a question under question 3.  Are you trying to ask why it didn't work?  You probably didn't do it right.  Using a single parameter to stretch multiple objects in different directions is certainly easily doable.

 

Answer 4.

I know very little about Revit.  Can't really answer that.  

 

Answer 5.

Make sure the hatch is associative.  Make sure the boundary is closed.  Do *not* stretch the hatch, stretch the boundary instead, making sure that it will remain closed during the stretch.  

0 Likes
Message 5 of 21

Anonymous
Not applicable

Good day Gents, sorry for the delayed response.
@h_s_walker,

The frame stretch of two actions on one parameter was a very easy fix, thank you! Showed why I shouldn't rely on parameter sets.


I like what you did with your alteration of linking beam & pallet heights - the only issue here is that the clearance between the pallets and beams differs depending on the beam below's height:

beam height  //  clearance
<6m              =   100mm, unless there is a sprinkler on that level, then,

<6m              =   125mm,

6m<9m         =   125mm,

>9m              =   150mm.

 

 

If I could use a formula along with the parameters to automate this, that would be great! I was able to do this in Revit, but the exporting to dwg wasn't great, hence..

Your hatch improvisation is original, I will keep it in mind in future - thank you.

 



@Libbya

Response to Answer 1:
How would one deal with dynamic beam height/clearance issue above, as it requires a formula based solution? Or not?

Response to Answer 2 & 3:
@h_s_walker's parameter solution cleared these up. (That was a question mark of uncertainty.) 😉

 

Response to Answer 4:
No problem, thanks.

 

Response to Answer 5:
Excellent!!!



Thank you both for your help,
Connor

 

 

 

 

 

0 Likes
Message 6 of 21

h_s_walker
Mentor
Mentor

Unfortunately I don't have full AutoCAD here at work to be able to manipulate the clearances.

 

But what I would do would put in a distance of 100mm for each clearance, then link them to the relevant beam height.

 

You would also need a setting for the sprinkler as well.

 

eg.

 

Is Beam Height 1<=6m if it is Top of Ground Pallet to beam height 1 clearance is 100mm

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 7 of 21

Libbya
Mentor
Mentor
Accepted solution

@connor7YUSA wrote:

beam height  //  clearance
<6m              =   100mm, unless there is a sprinkler on that level, then,

<6m              =   125mm,

6m<9m         =   125mm,

>9m              =   150mm.

 

 

If I could use a formula along with the parameters to automate this, that would be great! I was able to do this in Revit, but the exporting to dwg wasn't great, hence..

 



@Libbya

Response to Answer 1:
How would one deal with dynamic beam height/clearance issue above, as it requires a formula based solution? Or not?

 



If I understand what you are asking for, then I would use a lookup linked to a gripless (invisible) point parameter to set the sprinkler/no sprinkler setting.  I would then use that point parameter and the beam height as inputs on one double lookup table and on the other table I would change the value of the appropriate parameter to adjust the clearance.  

 

If you would like a screencast of the specific steps, please post a file showing the specific items drawn the way you would like them to show in the different situations along with a description in the file.  
 

0 Likes
Message 8 of 21

h_s_walker
Mentor
Mentor

That sounds like your doing a sprinkler for all beams, what if he only wants sprinklers for every other beam or combination thereof?

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 9 of 21

Libbya
Mentor
Mentor

The solution is the same.  Add an input for each individual beam. 

0 Likes
Message 10 of 21

h_s_walker
Mentor
Mentor
Accepted solution

I've updated the block.

 

I've added a new lookup which asks for a sprinkler only for beam 1. If you study what I've done I'm sure you can do the rest.

 

The only problem is, that the lookup table wouldn't accept duplicate values, so I've either added or removed 1mm

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 11 of 21

Libbya
Mentor
Mentor

Hwalker, the bracket includes the value next to it, a parenthese does not.  You can avoid the 1mm gap in values by using this to advantage.  You can use the lookup values of (,6000) and [6000,9000) on separate rows and it will not consider them duplicate values.  

0 Likes
Message 12 of 21

h_s_walker
Mentor
Mentor

Ah sorry just reread my post and you've got the wrong end of the stick. It wasn't accepting the Clearance gap having the same value in the "No Sprinkler" and "Sprinkler" settings

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 13 of 21

Libbya
Mentor
Mentor
Accepted solution

I have the right end of the stick.  I'll attempt to clarify it better for you.  A bracket next to a value means 'all values up to and including the value'.  A parenthese next to a value means 'all values up to but *not* including the value'.  You cannot have a bracket next to the same value on two rows or it will trigger the 'duplicate' issue because the brackets include the value in the range on both rows.  That was the issue you saw but your solution is not a good one.  Leaving a gap in the table means that if someone selects the range of the gap, the table will not work.  There is a better, easy solution.  If the same value on one row has a bracket next to it and on the next row a parenthese next to it, there is no 'duplicate' triggered because the bracket includes the value and the parenthese excludes it.  In that situation there is also no gap in the values covered by the table and no 'duplicate' error is triggered.  See screencast for clarification.   

0 Likes
Message 14 of 21

h_s_walker
Mentor
Mentor

When I put [,5999 I put a ] at the end. AutoCAD automatically changed it to a )

 

Same with [9000,

 

https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoC...

 

This is what I was following to try and get <=5999, 6000-8999 and >=9000 



You're looking at the wrong lookup. Look at Lookup 9 Change the clearances to 100, 125 and 150 as requested and you will see it says "Duplicate value" and it will not change the Beam 1 gap clearance 

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 15 of 21

Libbya
Mentor
Mentor

It will change [,6000] to (,6000] because the infinite descending range cannot include the value.  I have never seen it change a bracket next to an integer to a parenthese.  As you can see in the screencast I posted, it works fine.  If it will not accept the value, please post a screencast showing what is happening when you enter the value, as I would like to understand what is going on.

0 Likes
Message 16 of 21

Libbya
Mentor
Mentor

I would also mention that there are a couple errors in table you linked.  The examples for the rows of 'Greater than' and 'Less than' are reversed.  It should read "(5,)=value greater than 5" and "(,5)=value less than 5".

 

 

0 Likes
Message 17 of 21

h_s_walker
Mentor
Mentor

Less than or equal to (open-ended range) Value preceded by comma, enclosed in brackets: [,n] [,5] = value less than or equal to 5 [,5999]

Greater than or equal to (open-ended range) Value followed by comma, enclosed in brackets: [n,] [5,] = value greater than or equal to 5 [9000,]

 

The above is copied from that link. The bold is what I was putting, but I was actually talking about lookup 9 telling me that I had duplicated 125 and 150 for Beam Clearance and it wouldn't change the distance, but it seems to be doing it now.

 

Here's the screencast showing me putting in [,5999] and it changing it to (,5999]

 

 

 

 

Howard Walker
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Left Handed and Proud

0 Likes
Message 18 of 21

Anonymous
Not applicable

Good day Gents,

 

Again I apologise for the delayed response. 

I was able to take a brief look at your posts, the updated block and the screencast. I am amazed and excited that this is all possible! I love how the less than and greater than can be syntaxed in a lookup table to substitute "the lack of conditional statements" that I was longing for in the form of parametric formulas - beautiful. 

@h_s_walker, I also tried to make the values in Lookup9 the same with the same error. And after following @Libbya's screencast I was able to make the values the same? 


I will dig into it as soon as possible and try to complete it, else post any more questions that I may have.

 

@Libbya@h_s_walker, once again, thank you both kindly!

 

Kind regards,

Connor

0 Likes
Message 19 of 21

Libbya
Mentor
Mentor
Accepted solution

@h_s_walker  Yeah, that's another error on that Autodesk help page.  You cannot have a bracket next to the open-ended value.  It will change to a parenthese because the infinite range on that side cannot include the value of infinity.  That is not what you described previously, though.  You stated that the bracket next to the integer changed to a parenthese.  That does not happen.  It stays a bracket. 

 

The parenthese on that side of the range is not the issue I was pointing out.  When the ranges on the table are as follows there are 1 unit gaps in the ranges:

 

(,5999]

[6000,8999]

[9000,)

 

If any value between 5999 and 6000 is selected or any value between 8999 and 9000 is selected, the table will not work.

 

Instead you should define the values as follows:

 

(,6000)

[6000,9000)

[9000,)

 

With that definition of range values there are not any gaps in the ranges.  Anything less than 6000 is covered by the first range.  Anything from 6000 to 9000 including 6000 and excluding 9000 is covered in the second range.  Anything greater than and equal to 9000 is covered in the third range. There are not any values duplicated in two rows. 

 

 

0 Likes
Message 20 of 21

Libbya
Mentor
Mentor

@h_s_walker wrote:

 

You're looking at the wrong lookup. Look at Lookup 9 Change the clearances to 100, 125 and 150 as requested and you will see it says "Duplicate value" and it will not change the Beam 1 gap clearance 


I looked at the Lookup9 table.  There is no reason to have the duplicate rows on that second table.  Instead, define the rows based on the desired end result.  See screencast on how to properly set up both tables so that there are not any gaps in the range values on the first table and so that the end result is the correct offset in all cases on the second table.  

0 Likes