Patterns, alternatives and possible bug

Patterns, alternatives and possible bug

Julie_7
Advocate Advocate
310 Views
2 Replies
Message 1 of 3

Patterns, alternatives and possible bug

Julie_7
Advocate
Advocate

I am having a problem trying to create a configurable tray with a variable number of slots of varying widths. I am hoping that someone can suggest a better way, or at least one that works.

 

First a positive:

Conditional parameters are a huge improvement!

 

History/Background Information - Tray using pattern (component)

 

In the past, I have used rectangular patterns to accomplish a similar design with slots of the same width.

 

Julie_7_1-1706127822202.png

Even though it has worked for me doing it that way, and the body was usable, it often caused errors when a given dimension was reduced to a minimum size. The problem often occurred with both patterns and fillets. However, the errors cleared when the body was resized so there was no count of zero in the pattern. I just had to ignore the errors.

 

Julie_7_2-1706127835495.png

For some reason in this example, reducing y_units to 1 does not show a warning/error on the y pattern in the timeline.

If I edit the pattern then I can see that the count parameter is shown in red.

However, the design works fine even when the y_units is 1 and I can 3D print the body.

 

Current Design - Tray with variable slots using rectangles

 

Because a pattern only allows a single value for spacing, I could not use a pattern to create the dividers. My solution was to draw the maximum number of dividers on the sketch and use numbered parameters to control the spacing (slot_1, slot_2, etc.).

 

Note:

It would be nice to have array parameters instead of individually named and numbered parameters.

If patterns could take arrays for the spacing it would have been very simple solution. I could have just set the array as the spacing values in the original rectangular type solution. The could would just be the length of the array-1.

 

Note: I failed to capture the images while creating this component and now they do not compute correctly because of my use of the same parameters for the next component.

 

In order to configure fewer slots than the maximum I set the unneeded slots to zero width. Because I started the current design using the previous method of creating a rectangle for the divider that failed because a rectangle cannot have a zero dimension.

 

A different method - Tray with variable slots and bug

 

Instead of using rectangles for the dividers, I switched to parallel lines, which does allow a distance of zero between them. (I am using slot widths of 10 + slot number to make it easier to see what is happening when I make changes.)

 

This is the tray using all slots.

Julie_7_3-1706127917019.png

Now I can just change the slot sizes to create a tray with 3 slots and make slot 2 wider.

This works fine. There are no errors showing in the timeline and the body is exactly how I specified it. It appears that this design will work.

Julie_7_4-1706127955448.png

Then, I want to make another tray with 6 slots again, so I put in the value for slot 4, 5 and 6. (I am only showing the sketch so that it is easier to see how the dimensions flip the divider sides.)

Slot 4 width is to the far side of the divider.

Julie_7_5-1706128008782.png

That looks pretty bad, but in reality it gets much worse.

If I change slot 2 to 0 and then to 12 I get slots interleaved. Notice that the right edge of slot 2 has now moved to the left of the left edge.

Julie_7_6-1706128028585.png

Am I missing a constraint that could be applied?

 

 

The General Issue

 

This is an example of a general issue that has to do with constraints.

  • There are explicit constraints that I manually apply.
  • There are implicit constraints that get applied automatically while sketching, such as vertical, coincident, perpendicular.
  • There are also implied constraints, such as this vertical line is to the right of the previous one, or these lines define a single profile.
  1. I find that implicit constraints are easy to create, but hard to manage. They are not visible when showing constraints and must be discovered, then accessed (clicking on a point for example) before they can be deleted.
  2. Implied constraints are not recognized by the system and get ignored when adding dimensions. I believe that this is what causes my issue above.

 

Implied Constraints

 

The lack of maintaining implied constraints frequently affects my sketching. I try to follow the best practice of sketching lines, arcs, etc. followed by adding constraints and finally adding dimensions.

 

While adding dimensions I often have to drag lines and profiles around before adding a dimension because they change relative positions.This can become very challenging when drawing a very complicated sketch and then adding dimensions. With angled lines and arc, often a single profile changes to one with many crossing lines and no longer resembles the original sketch.

 

A simple example:

 

I start a sketch and draw 4 vertical lines. The lengths show the left to right ordering.

Julie_7_7-1706128068954.png

 

 

Julie_7_8-1706128068955.png

 

Then I start adding dimensions, the left to right relationship of the lines changes.

Note:

I added a horizontal construction line and made the bottom of all the lines coincident to it. When I added the dimension between v1 and v2 the implied constraint was applied and all the lines to the right of line 2 moved. Sadly, when I tried to produce separate sketches showing this, I found that I could not reproduce it.

 

 

Complex example:

Julie_7_9-1706128068955.png

 

When I start adding dimensions, I add the 30 degrees and when I add the 95 degrees the shape is no longer a single profile.

 

Julie_7_10-1706128068955.png

 

While this is a contrived example, I have had this occur many times when trying to sketch a physical object and then measure and input dimensions.

 

 

Bugs Noted:

 

When adding a dimension between two lines using a parameter, if the parameter value is 0 then the parameter name can be entered in the expression box and it is not red indicating an error. However, there is no way to close the expression box, which is very confusing.

 

 

I have appended the design file with the examples.

0 Likes
311 Views
2 Replies
Replies (2)
Message 2 of 3

sameer_babarNJS6C
Autodesk
Autodesk

@Julie_7 
Have you tried configuration feature to create the above tray, i feel it is good example to create using configuration feature.
Also using zero dimension may cause trouble in solving so we recommend not to use them but please feel free to contact me on my email id (sameer.babar@autodesk.com) , we would like to hear more about this workflow and may be provide better solution.

Thanks,
Sameer Babar.
Autodesk Fusion 360 Team



0 Likes
Message 3 of 3

Julie_7
Advocate
Advocate
Thanks @sameer_babarNJS6C
I found that 0 dimension was a problem and I am now just moving all of the unneeded partitions into the wall where they become part of the wall.

I cannot use configurations because the API does not yet support write access and I use the API to generate variations of the tray as needed.