Very helpful video, thank you. We ended up needing to do the opposite where the number in the pattern determines of overall product dimensions. Side note: thankfully you can indeed change the type of unit after the parameter is created. (A right click on the unit brings a drop down menu for you to select the unit type.) Keep up the great content.
When i made this video IF statements weren't released yet, so be sure to check out the IF statement video which might make it easier th-cam.com/video/91LBG-3DkpY/w-d-xo.html
@@LearnEverythingAboutDesign It's not going how I thought it would, it's spacing them too far apart and cutting off the remaining. EDIT: Figured it out, I had to subtract the width of the feature from the spacing
Excellent, Those re Hiding Parameters Tricks, i recreate your example and works!! i try before but always get frustrate by the red color on the function, but you solved Flawless putting the units inside on the number
Ive followed step by step three times with you. Great instruction, thanks! One question i havent been able to work through in these hours: In the formula, "floor(width/count/x))" you chose 50 for x, and i cant understand why 50. What is 50 in your equation? I dont know what to choose for my own to output the desired spacing. Thanks
Hey Dallas, yeah using Floor or Ceiling is a bit of a trick unfortunately. Really it would be nice to have an if/else statement. In this case the 50 in the equation just gives us a nice pattern. In the hole pattern example i had 25mm offset from each side of the plate. Using 50 in the Floor function just took the width and divided it up nicely. With this method you can't really control the exact spacing between each hole/feature but just work out a range that works for you. So in the example 800/50 gave us a nice round 16 holes. When we go to 799/50 the answer is 15.98 and Floor rounds that down to 15 instances of the pattern. If i had changed the formulate to floor(Length/25), at 800mm length i would get 32 holes vs the 16 holes in my example. If you start playing with numbers like 30 that aren't as evenly divisible you end up seeing a lot more rounding down. Hopefully that helps.
@Learn Everything About Design thank you for the reply! I think the trouble is, in my situation, the number of instances is going to be set, and i want the extent and spacing of that pattern to remain centered within, and offset from the edges of a certain length. In your example, the number of holes is not critical. It might not be the right formula for what im trying to do. Very helpful to know anyway. Discovering parameters is a revelation.
@@dal2888859 For your case it might make more sense to do this with construction geometry. Take a look at this example and adjust the plate width parameter a360.co/3TsypX8 It is all done with equal construction lines. So the spacing changes but the number doesn't. is that what you mean?
@Learn Everything About Design yes, but in addition to the ability to adjust the length and have the hole spacing adjust accordingly, as that one does, i also want to be able to input hole number and have that change seperately from the length. So if i want to make an egg tray for example, I'd like my design to allow me to increase the number of eggs it holds in a line, and/or the length of the model, where the two inputs are independently controlled, and where the number of eggs is always centered on the platform, whether its an odd or even number. I finally got my model to behave that way but im sure there is a cleaner or more efficient way to do it than i did. Id be happy to send it to you
hmmm. it should still work, but i will check it out and be sure. thanks. I do have an updated video when the IF statement was added th-cam.com/video/91LBG-3DkpY/w-d-xo.html
Is there a chance you could do a pattern like this but on a Circle or cylinder face? I am going to try and apply what I have learned thus far and see what happens. Looking to design a gear driven rod cylinder tumbler. Putting an idea together for my baby son to play with.
can you drop me an email support@caducator.com so i can better understand what you are trying to do. It is possible to do the same thing, but since this video was made Fusion did add some more conditional statements so now we have If/Else. I have a video on that as well, but there might be better options than what was done here with floor/ceil
Thanks Lars! I have mentioned it before :) If statements exist in CAM Expressions. Something like tool_diameter < 0.25 ? 0.5: 0.75 . Which works like If (tool_diameter < 0.25 then use 0.5 otherwise use 0.75. I have tried on many occasions to do that in a parameter without luck. Maybe one day!
th-cam.com/video/-BPcktQwIIY/w-d-xo.html anyone else running into the issue, that the dialog does not accept a user parameter for the pattern distance right now (Apr 29th 2023)?
@@LearnEverythingAboutDesign thank you for responding. It seems, that in a fresh and neutral setup this works for me as well. I figured out that it does not work in the following scenario: - make a master design with a few general sketches. (I usually did this for assemblies in solidworks and do it in fuson as well.) add an external component to the master assembly and use in-context-editing to create an assembly context. Within this assembly context create a sketch with reference to the parent assembly and add at least one driven dimension. Create a User Parameter within the subassembly, which references the driven dimension. Long story short, try to use this User Parameter, it will not work. Or will it?
@@alfredjodokusquack2 So this is an interesting topic for sure and there are some nuances here. Assemblies in solidworks will have Global parameters and those parameters can be used other places like drawings. Contrast that with Fusion where you only have a single design file (no part and assembly files) and you get a different behavior. When you have an Xref(External reference) design inserted making it a "distributed design" the parameters are contextual. meaning if you are using the Edit in Place functionality you can create and access parameters that are inside of that design, but once you finish the edit in place, you are only seeing parameters that exist in the parent design. A test for this is to Edit in Place, Create a new parameter called "EditinPlace". finish edit in place and save the design. Open the external design, and before you update to the new version, check your user parameters and note the new one isn't there. Update to the new version and check again and it will be there. So as it stands right now the parameters are only inside of the "parent" design. So you can't really work in this manner trying to share them across external refs. Hopefully that all made sense. To do what I think you are trying to do it will really only work if all your components are internal to the parent. There is one odd nuance here where you can have a bunch of components in a single design, select one component and Derive it out into its own design and take the parameters with it. It is a bit of the opposite of what you are trying to do, but might be something interesting to play with.
@@LearnEverythingAboutDesign i agree with all your points i guess. not sure though, if i made my attempted workaraund clear. so to be able to pass a parameter through, i created a new sketch within the "editinplace" component, which uses project to fetch some geometry vom the parent context assembly i put a driven dimension onto this projected geometry. you can then go into the parameters menu and reference this specific driven dimension. In rare cases i can trick the solver to accept the driven user parameter, but it does not take long to generate a red warning.
Very helpful video, thank you. We ended up needing to do the opposite where the number in the pattern determines of overall product dimensions. Side note: thankfully you can indeed change the type of unit after the parameter is created. (A right click on the unit brings a drop down menu for you to select the unit type.) Keep up the great content.
Glad it was helpful! and awesome you were able to use it in practice.
The most underrated F360 channel for me is my decentralized university.
Cool explanation of using variables
I think this answered my questions about patterns and spacing, now I need to update my model
When i made this video IF statements weren't released yet, so be sure to check out the IF statement video which might make it easier th-cam.com/video/91LBG-3DkpY/w-d-xo.html
@@LearnEverythingAboutDesign It's not going how I thought it would, it's spacing them too far apart and cutting off the remaining.
EDIT: Figured it out, I had to subtract the width of the feature from the spacing
Excellent, Those re Hiding Parameters Tricks, i recreate your example and works!! i try before but always get frustrate by the red color on the function, but you solved Flawless putting the units inside on the number
Glad it helped! Parameters are very useful, but I wish there was a bit more there. Maybe one day but for now these little tricks can help.
Skilling up in fusion at the moment. Another great video
Thanks!
Ive followed step by step three times with you. Great instruction, thanks! One question i havent been able to work through in these hours: In the formula, "floor(width/count/x))" you chose 50 for x, and i cant understand why 50. What is 50 in your equation? I dont know what to choose for my own to output the desired spacing. Thanks
Hey Dallas, yeah using Floor or Ceiling is a bit of a trick unfortunately. Really it would be nice to have an if/else statement. In this case the 50 in the equation just gives us a nice pattern. In the hole pattern example i had 25mm offset from each side of the plate. Using 50 in the Floor function just took the width and divided it up nicely. With this method you can't really control the exact spacing between each hole/feature but just work out a range that works for you. So in the example 800/50 gave us a nice round 16 holes. When we go to 799/50 the answer is 15.98 and Floor rounds that down to 15 instances of the pattern. If i had changed the formulate to floor(Length/25), at 800mm length i would get 32 holes vs the 16 holes in my example. If you start playing with numbers like 30 that aren't as evenly divisible you end up seeing a lot more rounding down.
Hopefully that helps.
@Learn Everything About Design thank you for the reply! I think the trouble is, in my situation, the number of instances is going to be set, and i want the extent and spacing of that pattern to remain centered within, and offset from the edges of a certain length. In your example, the number of holes is not critical. It might not be the right formula for what im trying to do. Very helpful to know anyway. Discovering parameters is a revelation.
@@dal2888859 For your case it might make more sense to do this with construction geometry. Take a look at this example and adjust the plate width parameter a360.co/3TsypX8 It is all done with equal construction lines. So the spacing changes but the number doesn't. is that what you mean?
@Learn Everything About Design yes, but in addition to the ability to adjust the length and have the hole spacing adjust accordingly, as that one does, i also want to be able to input hole number and have that change seperately from the length. So if i want to make an egg tray for example, I'd like my design to allow me to increase the number of eggs it holds in a line, and/or the length of the model, where the two inputs are independently controlled, and where the number of eggs is always centered on the platform, whether its an odd or even number.
I finally got my model to behave that way but im sure there is a cleaner or more efficient way to do it than i did. Id be happy to send it to you
I think this tutorial might be out of date now. I've tried replicating every step exactly and it just does not work on the latest Fusion :(
hmmm. it should still work, but i will check it out and be sure. thanks.
I do have an updated video when the IF statement was added
th-cam.com/video/91LBG-3DkpY/w-d-xo.html
Is there a chance you could do a pattern like this but on a Circle or cylinder face? I am going to try and apply what I have learned thus far and see what happens. Looking to design a gear driven rod cylinder tumbler. Putting an idea together for my baby son to play with.
can you drop me an email support@caducator.com so i can better understand what you are trying to do. It is possible to do the same thing, but since this video was made Fusion did add some more conditional statements so now we have If/Else. I have a video on that as well, but there might be better options than what was done here with floor/ceil
Great stuff, really helpful. Got what I needed first try! +REP Thanks
Awesome!!
Love this! And please can someone pressure Autodesk to include conditional expressions??
Thanks Lars! I have mentioned it before :) If statements exist in CAM Expressions. Something like tool_diameter < 0.25 ? 0.5: 0.75 . Which works like If (tool_diameter < 0.25 then use 0.5 otherwise use 0.75. I have tried on many occasions to do that in a parameter without luck. Maybe one day!
We have if else now, would you create an updated tutorial? :) Thnaks.
I have one from when If/Else was added. th-cam.com/video/91LBG-3DkpY/w-d-xo.html
th-cam.com/video/-BPcktQwIIY/w-d-xo.html anyone else running into the issue, that the dialog does not accept a user parameter for the pattern distance right now (Apr 29th 2023)?
seems like it does not accept an expression, if the expression itself references a driven sketch dimension.
I just tested this and it works for me. When you start typing in the dialog do you see the list of parameters there?
@@LearnEverythingAboutDesign thank you for responding. It seems, that in a fresh and neutral setup this works for me as well. I figured out that it does not work in the following scenario: - make a master design with a few general sketches. (I usually did this for assemblies in solidworks and do it in fuson as well.) add an external component to the master assembly and use in-context-editing to create an assembly context. Within this assembly context create a sketch with reference to the parent assembly and add at least one driven dimension. Create a User Parameter within the subassembly, which references the driven dimension. Long story short, try to use this User Parameter, it will not work. Or will it?
@@alfredjodokusquack2 So this is an interesting topic for sure and there are some nuances here.
Assemblies in solidworks will have Global parameters and those parameters can be used other places like drawings.
Contrast that with Fusion where you only have a single design file (no part and assembly files) and you get a different behavior. When you have an Xref(External reference) design inserted making it a "distributed design" the parameters are contextual. meaning if you are using the Edit in Place functionality you can create and access parameters that are inside of that design, but once you finish the edit in place, you are only seeing parameters that exist in the parent design.
A test for this is to Edit in Place, Create a new parameter called "EditinPlace". finish edit in place and save the design. Open the external design, and before you update to the new version, check your user parameters and note the new one isn't there. Update to the new version and check again and it will be there.
So as it stands right now the parameters are only inside of the "parent" design. So you can't really work in this manner trying to share them across external refs.
Hopefully that all made sense. To do what I think you are trying to do it will really only work if all your components are internal to the parent. There is one odd nuance here where you can have a bunch of components in a single design, select one component and Derive it out into its own design and take the parameters with it. It is a bit of the opposite of what you are trying to do, but might be something interesting to play with.
@@LearnEverythingAboutDesign i agree with all your points i guess. not sure though, if i made my attempted workaraund clear. so to be able to pass a parameter through, i created a new sketch within the "editinplace" component, which uses project to fetch some geometry vom the parent context assembly i put a driven dimension onto this projected geometry. you can then go into the parameters menu and reference this specific driven dimension. In rare cases i can trick the solver to accept the driven user parameter, but it does not take long to generate a red warning.
First! 😊