Sketch speed bogged down from Mirroring

Sketch speed bogged down from Mirroring

Anonymous
Not applicable
1,297 Views
11 Replies
Message 1 of 12

Sketch speed bogged down from Mirroring

Anonymous
Not applicable

I drew a rectangle, wide and narrow,

made one arc centered on the long top edge,with start and end point on the same edge, forming 180 degree arc or what looks like a half circle.

 

Next, patterned 60 copies of this arc from left to right, so as to make the top edge look like it has teeth, so to speak.

Next I broke each line part within the open side of each arc using sketch> break, clicking the existing edge line between the 2 arc end points to break it there. I did this for all 60 arcs along the original top edge of my starting rectangle.

 

Then I changed all the line segments thus broken to construction lines. So, we end up with what looks like an edge with half-rounds taken out of it where the arcs are, and completely connected so all arcs are connected to the lines between them in a seamless run.

 

Next I morrored this pattern, being careful to only select sketch curves and nothing else for the mirroring. The mirroring was done so now the rectangle became twice as wide, but now with 120 arcs total.

 

At this point, further work got pretty bogged down in the sketch environment. I decided to just pattern the whole array of arcs after the mirroring of the rectangle, so the pattern doesn't have to go "through" the mirroring. Maybe that would be one less "slow down" multiplier under Fusion 360's hood, so to speak.

 

When I went to delete the mirror constraints, the "[  ]" items, only selecting them (with use of select menu only checkbox sketch constraints) and hitting delete on the keyboard, The slowness multiplied. In other words, adding a line to the sketch was slowed to like 6 seconds, whereas deleting the mirror constraints seems to be this time multiplied by the number of them or some multiple. It took like 20 minutes or so.

 

So I guess what I am asking or sugggesting, is for someone to duplicate my effort, and look under the hood for optimization possibilities. It looks like maybe the hardness of the problems of scanning hundreds of sketch items in memory could benefit from some smart shortcuts that skip redundant elements in the array, or improved loop structures, etc.

 

I would think a couple thousand elements should be where this slowness starts to appear, not several hundred. It kinda feels like java or interpreted language slowness, as compared to C ++, or assembly in the inner loops. I mean I am drawing one part with 120 arcs along the edge. Is mirroring that "cpu steps" costly? I will try a simple parttern for all the arcs, rather than mirroring a pattern.

 

I did not notice my hard drive light saturating continuously, so I don't think it's lack of memory kind of issue, or heavy paging to disc, etc.

 

I only have a browser and sketchup running in the background, maybe I should reboot the laptop, it's been awhile.

0 Likes
Accepted solutions (2)
1,298 Views
11 Replies
Replies (11)
Message 2 of 12

TrippyLighting
Consultant
Consultant
Accepted solution

Please share your design, so we can look at possiblme optimizations.

In general it is much better for the overall perfomace of a model to keep sketches as simple as possible and pattern solid modeling features and bodies. 


EESignature

0 Likes
Message 3 of 12

Anonymous
Not applicable

OK I am sharing via a link. Gotta wait a sec right now as it's again caught in a "processing" loop.

 

I took note of your recommended general practice of keeping sketches simple as possible, and doing patterning in 3d solids and bodies rather than in sketches.

 

Keeping with this, I did away with the mirroring completely within the sluggish sketch in question, but leaving the array of 120 or so arcs along an edge. Now the 6 seconds to set a new line into the sketch, (following final click) is more like 3 or less, but when appliying the last few constraints, Fusion now bogs down for like 5 miuntes or so each time I try to add one.

 

I assume this is because it has to evaluate all of the arcs, which form the majority of drawing elements in the sketch, and that is what is causing the slowdown. Perhaps a method could be found where the system could do the constraint processing as a hierachy of chunks, where all the arcs and the lines connecting them (in my narrow example) are evaluated heavily on the first pass, but more like a single line on subsequent passes, rather than number-crunching the whole shebang each time.I know that smartly deciding when to do the whole thing again, or instead to skip the "linear chunk of many elements", is the crux of the issue there.

 

I will try to force it to skip the arcs myself, by setting them"fixed" (green lines) for the arcs and the lines between them. Then once I set the other housekeeping constraints, I can un-fix them. Sounds good in theory, at least.

0 Likes
Message 4 of 12

Anonymous
Not applicable

OK, well, the fixing worked to stop the stalls, but I decided to connect the arcs together with lines between them manually. Below is another attachment showing the desired end goal state of the sketch. So, I guess the lesson learned is, if you have a lot of geometry bogging down a sketch to the point where changing things gets annoyingly slow, one option is to fix the complex geometry using the fix/unfix command from the right click menu after selecting said geometry. Otherwise, one can also simply delete it and add it back at the end, after getting the basic "framework" geometry in order. I wish there was a way to connect all those arcs in one go, as opposed to connecting each arc one by one with lines. Maybe it would be better and faster to add the half-round cavities after the basic sketch in a body-cutting pattern somehow.

 

It seems to me to be a little counter-intuative that its less computationally intensive to do this sort of thing in 3d solids than in the original 2d sketch, but I will also try cutting the body method. I guess this makes sense because going to bodies skips further sketch evaluations with my hundred+ arcs bogging down the constraints engine, and I suppose it's a relatively simple cut pattern to do in the body.

 

Below is an update of the original project, showing the intended result of my original sketch effort. I also extruded the body so it's there.

0 Likes
Message 5 of 12

Anonymous
Not applicable
Accepted solution

Here is the same component, but using the pattern in the body rather than the sketch. I made one arc in the sketch, near the center, and left the rest of the edge as straight lines. Then I c;osed the sketch and extruded it into a body, patterned the one extruded arc face using Create > Pattern > Rectangular Pattern, and did a symmetrical pattern of it producting copies left and right of the original, and suppressed the extra one on the end because the original was off center. Whew. Ok that was actually easier than doing it in the sketch, because I did not have to draw all those little conencting lines between the arcs. Instead, I just seeded the body with one arc and duplicated it after extruding the sketch.

 

Attached is the resulting file/project.

 

Message 6 of 12

Anonymous
Not applicable

One minor complication from doing a pattern in the body, rather than in the sketch, is the cad module won't see the patterned (duplicated) items, because they aren't in the original sketch.

 

No big deal, just project the body's face into a new sketch on the original workplane, and use this new sketch (with magenta-colored lines and points) for selecting geometry in the cad. Hide the original sketch by turning off it's visibility. I did this, and it worked nicely. Remember to turn on body faces checkbox in the selection settings, or you won't be able to click the body's face when you try to project it.

 

 

0 Likes
Message 7 of 12

TrippyLighting
Consultant
Consultant

Glad it helped. Can you elaborate on what you mean with the"the cad module won't see the patterned (duplicated) items" ?

Maybe a screencast can explain this better.


EESignature

0 Likes
Message 8 of 12

Anonymous
Not applicable
By "the cad module won't see the patterned (duplicated) items", I meant that I was having trouble selecting the geometry in the CAM module (sorry, not cad module), unless I made it visible as a sketch. Then I found if I set select options to "select all" checkbox on in the Model environment, then back in the CAM environment I could select edges and faces of bodies for the CAM operations.
 
Now with that somewhat settled, I still need to turn on the sketch because to make the half-rounds, I am drilling the stock first, to make roud holes centered on the arc centroids, then I am using a construction line in the sketch to contour cut across the holes, cutting them in half this way, and thus reaching final cutting result which matches the body. I suppose also I could do this with two versions of the component, one with the arc-slots and one without. The one with the arc shaped slots gets used to generate the drilling toolpaths using the arc centroids or faces, and the version of my component without the arc-shaped-slots gets used for the final contour, cutting the drill-holes in half to form half pipe shapes along the newly exposed edge.
 
So there are at least two ways to provide the straight-line geometry for a straight-line contour across the arc-centered drill holes, without interference from the arcs themselves. One method uses a construction line as the selected geometry in CAM, the other uses a part missing the details which interfere with the desired basic outline being selected.
Message 9 of 12

Anonymous
Not applicable

OK, I know someone will ask, so here is an updated Fusion 360 file for doing the CAM operations as I talked about in my prevous post above. Specifically, with this model, in CAM, I selected Body Faces as the geometry for the drilling operation, and selected the sketch as the geomerty for the contour around the edges of the part. I did have to click the little red arrow in the contour so it cut on the outside of the part, not the inside. If you run the CAM simulation, you can see the two steps. First tool is 1.6mm diameter drill, and second tool is 3.175mm diameter flat end mill.

 

 

 

 

Message 10 of 12

TrippyLighting
Consultant
Consultant

I don't work with the CAM module but I can imagine this willbe useful for other users. Thanks for posting this!


EESignature

0 Likes
Message 11 of 12

Anonymous
Not applicable

I forgot to mention, that the significance of selecting geometry on the sketch, is that in the sketch I had added a construction line across the open faces of the arcs. If used as part of the final contour around the part, this construction line can be selected as the contour "select geometry" dialogue. Thus, it replaces the need to have a second version of the body (without the arcs in my case) for this CAM contouring step. So both drilling and contour operations use selections within the original body/sketch; no need for another simplified body/sketch. This works for 2d. I imagine in 3d operation, sketches won't always be available where they are needed, so one would opt for using a simplified body in those cases to "skip over" details which interfere with the current operation.

0 Likes
Message 12 of 12

Anonymous
Not applicable

As a benefit for those trying to perfect mirroring to a higher degree than my previous examples, I posted a more perfect version of the discussed model again, below.

 

Some nice improvements:

 

Base Sketch is mirrored from vertical center line, reduces editing work by half essentially and insures symmetry.

A second sketch contains projected geometry from the original sketch, which together with some "mirror seam sealing" lines, drives the basic body.

 

Horizontal lines that cross the mirror line replace the two lines in the original. This prevents the occasional "seam line" showing up in the body, the precise trigger of which I have not yet narrowed down. I know a seam line appears in the extruded body at mirror lines sometimes, so I remove the original mirrored lines that make up the seam on each side of the projected sketch mirror line, and replace them with lines that are "attached" to the magenta projection points that I projected from the original sketch.

 

I found an issue where these added lines would be "left behind" if they are not properly constrained with a co-incident constraint at each end. I found that simply drawing the added lines (to seal the mirror seam from showing up in the body) is not good enough.

 

Instead, I draw the new line in the neighborhood of where it should end up, and then I apply co-incident constraints, one at a time, between the end of the new line and the magenta point to which it should be attached, and repeat for the other end of the new line, leaving both ends "anchored" in this way to the magenta points. If you don't add these new lines to the projection points in this way, and merely draw them between the magenta points, then when the underlying sketch changes sizes, due either to manual edits or parametric property updates, then the lines you added to "bridge the mirror seam" will not "stretch" to follow the changes. Instead, they will be left right where they are, or one line end will move and the other end will float in it's original location, etc.

 

The arcs along the edge are changed, there is one "seed" arc to the left of the original sketch mirror line, and one to the right. Bogging down is avoided because even though the arc is mirrored, it's one arc, not 59 arcs. Having two seeds, one on each side of center, is nice in that when I went to do a Create > Pattern > Rectangular Pattern on the seed arc faces in the body, I did it twice, one using the left seed and copying to the left, and one using the right side and going to the right, and both patterns are identical as per the intention of the part design. So it satisfies my obsession with Symmetry When Possible.

 

Added a few more part details which get mirrored in the first sketch.

 

As a toss-in, I also did a pattern in CAM, as a way to make 16 parts from a sheet.

 

I also did some basic tabs that don't get near the edge with arcs. Not perfect, but ok. Note the tabs are attached in CAM to geometry showing from the second sketch, the one with projections in it. This allows precise tab locating so when you cut many parts close together, the tabs form bridges.

 

I am still working on a "tab cutting" machining toolpath. It's not in this version.  It would cut the tabs holding the part in the sheet with several strokes, and pauses the spindle up high after each tab to allow repositioning of clamps, etc. It would be cool if this were added as a feature. Do not use your fingers to hold the part manually as the tabs are cut! I would not attempt cutting the tabs with the machine unless you figure out a jig or other method for holding down the part during tab cutting, and at that point, maybe better to use screws, etc, and enjoy the benefits of avoiding tabs completely.

 

Open the file below in Fusion 360 using File>  "New Design From File", go to CAM mode, and right-click run the simulation from the Pattern item. Turn on stock simulation so you see the stock being cut. Skip ahead to see the final set of parts with tabs.

 

The feeds and speeds are not real, just some defaults, etc, so don't break any tools.

 

That's about it. I am kinda "tuning in" to the Fusion 360 way of doing things. This mirroring/patterning worked very nice and ended up being symmetrical at each design duplication stage, very nice.

 

 

 

0 Likes