Geometry Pattern Myth

Discussion in 'SolidWorks' started by matt, Oct 9, 2006.

  1. matt

    matt Guest

    I've heard this one too many times now from too many people. I know
    these people aren't stupid, and they're not malicious, they're just
    taking for granted information given out by corporate Tech Support and
    even in the Help file which is demonstrably incorrect.

    The myth which has circulated for many years now is that for large
    patterns, Geometry Pattern is faster than non-Geometry Pattern because
    using the option disables the parametrics which have to be calculated at
    each instance. This has been SW's response when a sheet metal user tries
    to perforate a sheet with 1000 hexagonal holes for a ventillation grate
    or something like that.

    This is documented in the Help file as late as SW2007 sp1. You can find
    it in the Help index under Geometry Pattern.

    I want to put an end to the myth that the Geometry Pattern option can in
    any way be considered a performance enhancing option. It can not. Try it
    yourself. I ran tests in 2001 and again in 2007 that confirm this.
    Create a 20 x 20 pattern of circular cuts on a flat plate. CtrlQ a
    couple times and use Feature Statistics. Depending on your computer, the
    rebuild time increases by something in the range of 30%.

    The *only* time it speeds up the pattern is when there is an end
    condition attached to the patterned feature, such as shown in the help.
    In this situation, however, you cannot claim that the option is used for
    a performance benefit because it changes the geometry of the result.

    In the end, this switch should only be used for the type of feature
    shown in the Help, and only to change the geometry, not for performance.
    I have ocassionally used the option to make patterns work which would
    otherwise not work, but this is not completely predictable (at least I
    can't predict with 100% accuracy when it will make a pattern work and
    when it won't).

    The test was originally conducted to show the difference between sketch
    patterns and feature patterns, which is far more dramatic, ranging from
    about 300% to 800% increase (feature patterns are far faster than sketch
    patterns).

    Further, Verification on Rebuild shows approx. a 10x increase in rebuild
    time over sketch pattern times, and 0 (that's ZERO) percent increase for
    feature patterns. Verification on Rebuild build times seem to increase
    exponentially with the number of faces, and depends to some extent on
    the part geometry or construction methods. This is why parts with
    fillets take a much larger hit than parts with only the big faces
    blocked in, and why multibody parts rebuild faster than single body
    parts with VOR turned on. (if a single part has 100 faces, VOR checks
    10000 (100*100) combinations, but if you have 10 bodies with 10 faces
    each, VOR checks 1000 (10*10*10) - its the same number of faces, but
    fewer combinations, because faces don't have to be checked between bodies.

    Anyway, SW please take this reference out of the help file, Tech Support
    please stop spreading this fallacy.
     
    matt, Oct 9, 2006
    #1
  2. matt

    John H Guest

    Matt,

    Good detective work.
    I must admit, I never turn on "geometry pattern" unless the feature fails.
    Interestingly, you get the impression Solidworks actually know that it is
    faster with it switched off, because that is the default setting.....

    You repeated what I've heard others say regarding sketch patterns being
    slower than feature patterns. Do you know whether this also applies to
    "sketch driven patterns"?

    Regards,
    John Harland
     
    John H, Oct 11, 2006
    #2
  3. matt

    matt Guest

    I haven't tested that directly, but I would suspect that sketch driven
    patterns would behave like feature patterns rather than like sketch
    patterns. The important part is the way faces are created. Sketch
    pattern creates faces the same way a regular extrude creates them.
    Sketch driven pattern creates faces the same way a linear pattern
    creates the faces.
     
    matt, Oct 11, 2006
    #3
  4. matt

    That70sTick Guest

    Thanks for the research, Matt. Now I know I'm not missing much when
    "geometry pattern" fails. Might as well stop trying.
     
    That70sTick, Oct 11, 2006
    #4
  5. matt

    Brian Guest

    Geometry patter does, in some instances, have its place as a performance
    benefit. I'd not actually tested it since 2006 first came out until you
    posted.

    Bit of history: When 2006 came out I tested, then after a month or so,
    upgraded all our files. Worked fine until I noticed that certain assembly
    drawings were taking an inordinate amount of time to rebuild if any change
    was made. Tracked it down to pieces of perforated tubing, drawn with actual
    perforations ( I now draw plain tubing, annotate, and apply a material to
    create the illusion of perforations ). Rebuild times for these relatively
    simple parts could take nearly an hour in 2006. I tracked it down to some
    sort of funtionality change/bug made to how geometry pattern worked. The
    parts had origionally been drawn in 2001-2005 without long rebuilds, so I
    had not used geometry pattern. Editing the parts and enabling geometry
    pattern in 2006 brought the rebuild times back to what they'd been in 2005.
    I submitted it as a bug to my var, who claimed that it was "working as
    intended" so would not submit a bug report. Fine, I sent them the remainder
    of similar parts that I had and told them to convert them to 2006. Got them
    back after a week or so. It was taking 4-5 hours of cpu time to edit each
    pattern and enable geometry patterns for a given file.

    Looks like 2007 is working similar to what 2005 did. Here is the part
    that I just tested ( 2007 sp1 ). Its a 2" diameter tubing with 1330 3/16"
    holes in it. It consists of the following features: sheet metal, lofted
    bend, cut-extrude1 ( seed hole for linear pattern ), linear pattern1 ( 35
    instances along the tubes axis ), cut-extrude2, linear pattern2 ( 36
    instances ), and circular pattern1 ( 19 copies of the two linear patterns ).
    No holes extend beyond the end of the tubing ( which might cause the
    geometry changes that Matt referred to ).

    Starting condition is that geometry pattern is checked for all patterns.
    VOR is off for all CTL-Q rebuilds. I then unchecked geometry pattern in
    each feature, one at a time, and noted rebuild times. I then re-enabled it
    for the circular pattern, to double check.

    geometry pattern on for all patterns- 49.25, 50.89 seconds
    off for linear pattern1- 54.28,53.52
    off for linear pattern2- 52.47,51.33
    off for circular pattern-62.42,62.06
    on for circular pattern-56.52,54.97

    Its pretty clear to me that, at least the circular pattern, benefits in
    performance from using the geometry pattern option.

    I think what is missing from SW is an ACCURATE explanation of what
    geometry pattern does, when its applicable, ect. Instead I think they are
    giving out information based upon what they would like it to do. It does
    not seem to perform the same release to release.

    I'd be happy to send Matt the file that I tested, if he wants it. Maybe
    he'll see something that I missed. Sorry if this is a bit verbose, after
    last years fiasco, patterns became kind of a sore spot for me.
     
    Brian, Oct 11, 2006
    #5
  6. matt

    matt Guest

    Brian,

    Yeah, I wouldn't mind taking a look at the parts.

    Your post prompted me to take a closer look at end conditions which turn
    out to be very important. I used the same part, a rectangular block with
    a 20x20 pattern of cut-extruded circle, instances don't intersect with
    anything but the flat plate.


    no GP GP
    offset from surf 2.88 .91
    up to surf 2.70 .89
    through all .20 .28
    blind .08 .27
    up to next .08 .28


    This says that you pay a big price for using up to and offset from
    surface end conditions and that GP shows some performance benefits for
    those end conditions, but remember that those are intelligent end
    conditions that make each instance of the pattern different, and GP
    essentially makes them all the same. (see help for example). So for
    these examples, unless the up to and offset from end conditions are
    being used when they don't need to be, GP can't be said to produce a
    performance benefit, since the finished geometry is different.

    In my examples previously I had used the through all end condition,
    which suffers about a 30-40% hit by using GP.

    What is big news to me is that using blind and up to next offers a 60%
    time savings over through all, and take a 300%+ hit from GP. I'm glad I
    did this additional test.

    So, I believe your results indicate that you may be using one of the
    first end conditions. If this is true, you will get a bigger benefit out
    of using blind or up to next than you will from Geometry Pattern. An
    interesting thing here is that the up to next condition is still an
    intelligent end condition, but the speed cost of using it is very low. I
    have a new default end condition for patterns, I think.

    Can you say what the end conditions are on the patterned features in
    your parts?
     
    matt, Oct 11, 2006
    #6
  7. matt

    Brian Guest

    My end conditions are "thru all". I'll send you the part to look
    through. But if you really want to see a huge difference, and still have it
    loaded, re-create the part in 2006 ( one of the earlier sps ).
     
    Brian, Oct 11, 2006
    #7
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.