25 Replies Latest reply on Apr 7, 2015 11:31 AM by Stuart Bauer

    What is the most efficient Top-Down design flow in terms of rebuild time?

    J. R.

      Hi all,

       

      I'm having a iterative type design, one that requires experimentation with various part geometries and evaluating the result until it is satisfactory.

       

      I want to be able to control the whole project from a single Design Table. That means that each part must have some kind of external references to the main assembly so it can update when I update Design Table. This causes extensive rebuild times. I am looking for a method which would provide fastest rebuild time. It would be ideal if parts would check external references only when doing some kind of Super Rebuild, but not check them when, for example, I'm closing some sketch of some part.

       

      Oh, and one more thing. Parts and sub-assemblies in this assembly must be movable, so I have to use mates instead of fixed parts.

       

      I've tried the following:

       

      1. Creating Master Design Table at the main assembly, and creating additional Design Tables for each part which refer to the Master Design Table. It would be perfect solution, only that I don't know how to make those Design Tables to update on rebuild without opening and closing each part manually.

      2. Creating Global Variables in main assembly, driven by the same Master Design Table. Parts then refer to these Global Variables via equations. This works, but produces lots of update holders, and slows down rebuild, making it very hard to work.

      3.Creating Layout Sketch in the main assembly, driven by Master Design Table. Parts refer to dimensions of this Layout Sketch via Equations, similarly as with Global Variables. I am not sure if this is any faster - still feels slow.

      4. Creating Layout Sketch in the main assembly, driven by Master Design Table. Parts then refer to line lengths of this Layout Sketch via Relations instead of Equations. This, however, is not very good because parts are supposed to be moving. In certain conditions, they mess up.

       

      All but the first method produces Update Holders. As I've said, I don't need each part to check against Design Table (or whatever it drives) in the main assembly each time I close down some sketch or edit a feature or whatever. Only when required.

       

      Another good method would be for the Assembly Master Design Table to drive dimensions of each part. However, I haven't found a way to do that.

       

       

      Can anyone advice me on my attempts? How can I produce a design flow which allows me to control various dimensions from Design Table, and parts update on it only when required, so that rebuild time is faster?

       

      I would very much appreciate any kind of input. Thanks in advance

        • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
          Alin Vargatu

          if you need some ideas outside the box, watch the presentation Richard Laflamme and I delivered last year at SWW called Ten Different Ways to Create Inter-Part Relations in SOLIDWORKS.

           

          SOLIDWORKS World :: Presentation Archives

           

          In case you can attend this year's SWW, you would have the chance to see the 2015 enhanced version of this presentation, presenting more case studies, more pro and cons criteria and a guide on how to avoid the pitfalls for each method.

            • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
              J. R.

              Thank you, I have found that presentation, and will watch it soon.

               

              In the meantime, could you comment on my 1st described approach? Do you know a way to make those Design Tables update on some kind of Super Rebuild without going in each part and updating them manually? If I could make this work, it would solve all and every problem.

                • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                  Alin Vargatu

                  As per SOLIDWORKS:

                   

                  The design table works through some code that is triggered to read the information in the design table when the design table is opened from SOLIDWORKS.

                   

                  The process works through linking and embedding a core and standard Windows functionality.  The design table has no reference to the SOLIDWORKS application, only SOLIDWORKS has this reference.  The update is thus triggered when the design table is opened from SOLIDWORKS

                   

                  Equations work through the Visual Basic for applications code which is permanently loaded when SOLIDWORKS is opened.  Excel is only loaded when needed and closed when the design table is closed.

                   

                  My suggestion is to use this information as follows:

                   

                  1. Create independent equations in each part linked by a common equation text file. This way the parts will update on rebuild if the equation text file has been modified.

                  2. Have a design table in the assembly, linked to an external Excel file. Modifying the external Excel file will not trigger an automated rebuild, so this is your "super-rebuild" -> edit the design table in assembly in order to read the updated info from the external file.

                   

                  Note: Your assembly will also rebuild upon opening it (it will synchronize the design table with the external file).

                    • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                      J. R.

                      Thank you again. About these suggestions:

                       

                      1. I actually need to run quite a lot of calculations before inputting numbers into SW. Since it can't be done in text file, but only in Excel file, is it possible to link Excel file to text file too? Then it would be like this: user inputs data into external Excel file, Excel runs calculations and updates text file, and then SW draws data from that text file like you said. Can this be done?

                      2. That much is clear, but how can I then drive parts from that assembly without slowing down rebuild? Any kind of external reference creates update holders, and that increases rebuild time. Maybe there is a way to temporarily suspend the external reference checking, so parts would check if driving sketch/global variables in assembly have updated only when required?

                       

                      Another question. If, let's say, I make my parts non-moving in the assembly, what is the fastest way (in terms of rebuild time) to transfer a dimension (let's say, line length) from assembly to part?:

                      1. Create global variable in assembly, and have a part check that value by equation;

                      2. Create driving sketch in assembly with a line, set a dimension for it, and then have part equation link to that dimension;

                      3. Create driving sketch in assembly with a line, and link a line in part by Equal relation?

                      (Third method wouldn't always be feasible with features, so it's not actually an option, but thought I'd still ask)

                       

                      Which one of these methods would give fastest rebuild time?

                • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                  Josh Killalea

                  I will start by saying that I have a pretty basic understanding of top down, but it is mainly all I use now, I would struggle to point you in the direction of a part or assembly I have done bottom up. I also use design tables in assemblies and parts very regularly. so I will just put it out there that altho I do a lot of work with this stuff I may not be 100% with what I am about to say here, but I would be interested to see if anyone corrects me.

                   


                  from my experience what you are talking about isn't doable without a WHOLE lot of work. and your design table is going to have to be HUGE and massively detailed to keep track of it all. the complication comes in with the moving parts. but first let me expand a little on what I do with my top down stuff.

                   

                  I start my main assembly and insert a part that is constrained to the 3 origin planes. that part will be my "driving sketch". I then do sketches and add planes and all the geometry I need in that part only. if you need a design table to drive things it will need to be in that part.

                   

                  once I have the required geometry I add my first part or assembly and constrain it to the geometry that will hold it in the correct place in the assembly via the origin point and planes. if it is a part I do a 3D sketch and trace over the geometry I need for the part. DO NOT project the geometry, it creates to many issues. just take the 3 seconds to trace what you need with fresh geometry in the part's sketch. from there you can so all the required features you need in your new part.

                  if it is an assembly I have added then I open the assembly and insert a "driving sketch" part into that assembly. then  go back to the parent assembly, edit your sub-assemblies driving sketch part and do all sketches and reference geometry for that sub-assembly in that driving sketch part. constrain that sub-assembly's parts to its driving sketch in the same manner as your main assembly. if you need sub-sub-assemblies each one will have it's own "driving sketch" and it will always only reference the parent assembly.

                   

                  the most important thing I have found is you should never make an external reference more than one assembly up. while it will work it is very unstable. the same applies for sketches and reference geometry. while you can put them straight into the sub-assemblies, if you dissolve an assembly you loose it all, with a "driving sketch part" you can dissolve an assembly and everything stays constrained.

                   

                  I have done some pretty huge assemblies like this and never run into to many issues. sometimes you do have to open an individual part to get it to rebuild or realize that it doesn't actually have an error. but while that is annoying it is not that bad.

                   

                  as for the moving parts? well the only thing I could think of off the top of my head would be to do reference geometry that will move in the way you want your parts to and have your design table drive the relations for that. once you have that working constrain your parts/sub-assemblies to that geometry and away you go. but I am not sure how well that would work or how stable it would be.

                   

                  I will be very interested to see what other have to say on this.

                    • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                      J. R.

                      Thank you for these great tips. However, my project isn't all that complicated. Most parts are pretty much independent, and made with bottom-up method. However, there are several values which they must share from Design Table in one way or another - for example, plywood parts must share same thickness, there might be several holes which go through different parts, and they must have same diameter, and so on. There are no complicated shapes that they'd have to share. So really there is no need for driving sketch. I just need for these several dimensions to be transferred to parts from Design Table. There are about 20 of them, so it is not too difficult to manage from Design Table.

                       

                      If I transfer them via Equations or Design Table, these parts can be moving, since they don't rely on tracing of some external driving sketch. The problem is only that Equations seems kind of slow, especially if they are driven from Global Variables of main assembly.

                       

                      So what I'm asking is what is the most efficient, in terms of rebuild time, way to transfer these dimensions from Design Table to various parts, without impending their ability to move?

                       

                      P.S. One more question. You said that you draw your driving sketch in a part, and then other parts in assembly relate to that driving part. My question is why do you do this driving sketch inside part, instead of main assembly? It has Layout Sketch functionality, you can as well make individual sketches, including 3D ones. What are benefits of having that driving sketch placed inside driving part?

                      • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                        Stuart Bauer

                        Josh, the processes you are describing for your top down layouts is almost identical to my process except for a few points im intrigued about and want to know more as it my help my some of my ongoing frustrations to my top down designs. Can you please post a picture of your design tree, expanded if possible. Im intrigued by why you make a part simply to hold your layout sketch. Why not simply put that sketch in the assembly itself? Also, when you say you draw the geometry...are you referring to the layout sketch or are you modeling the entire assembly, with all parts of the assembly...in one part file? Why? I do agree with you about tracing your layout sketch lines in sub assembly layouts and part layouts as i continue to learn the hard way over and over again that converting lines from the main layout sketch to a sub layout sketch more often then not, creates problems not updating or actually following the parent line for some reason, especially when switching between configs at the top assembly Again, please post a picture of design tree that you have that will show me your design layout. An additional note, you said you have learned that concentric relations give you problems... the offset relation NEVER fails to turn my entire layout sketch yellow in the long run. Even when the error makes no sense and can easily be solved. I ALWAYS avoid the offset relation now.

                          • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                            Josh Killalea

                            Hi Stuart,

                             

                            i will try and answer all your questions,

                            Stuart Bauer wrote:

                             

                            Can you please post a picture of your design tree, expanded if possible.

                            unfortunately i can not post one of an actual working model. as this has been a fairly rapidly evolving process for us here on site i don't have a really clean version of this that i can post, as the really clean versions i do have, have to much detail in the feature tree that would breach our very strict confidentiality agreements. but i have very quickly set up a dummy assembly to try and explain it a bit better.

                            feature tree.PNG

                             

                             

                            Stuart Bauer wrote:

                             

                            Im intrigued by why you make a part simply to hold your layout sketch. Why not simply put that sketch in the assembly itself?

                             

                            while i did touch on this in my first comment, i will expand on it a bit more as i get asked this a lot.

                             

                            From my first comment:

                            "the most important thing I have found is you should never make an external reference more than one assembly up. while it will work it is very unstable. the same applies for sketches and reference geometry. while you can put them straight into the sub-assemblies, if you dissolve an assembly you loose it all, with a "driving sketch part" you can dissolve an assembly and everything stays constrained."

                             

                            i am guessing it is not something that is done by a lot of people, but it is a nice feature, there is the ability to right click on a sub-assembly in the feature tree and "dissolve subassembly". personally i try not to use it, but the guys here use it a fair bit. the only "issue" with using this command is that when you dissolve the assembly you loose all the information that was directly in the dissolved sub-assembly. so if you are doing the driving sketches and reference geometry in the assembly or sub-assembly itself, you would loose all the references to any of the information that was in the assembly that was dissolved. that would obviously cause all the parts driven by those sketches and reference geometry to error as well. unfortunately i learned this the hard way and it cost me a couple of days because you can't "undo" it. so now i NEVER do a top down assembly without a "driving sketch" part now. if you never use the "dissolve subassembly" command then this may never be an issue for you. but trust me when i say it could cost you BIG time. the other big advantage to this is that all the parts and sub assemblies in the "dissolved" assembly keep their mates and references to the driving sketch part and all you have to do is constrain the driving sketch part back into the assembly and all the other parts from that dissolved sub-assembly are then back to being fully constrained. having everything fully constrained is pretty important when it comes to rebuild times, especially when working on the kind of stuff we do here.

                             

                            Stuart Bauer wrote:

                             

                            Also, when you say you draw the geometry...are you referring to the layout sketch or are you modeling the entire assembly, with all parts of the assembly...in one part file? Why?

                            i assume you are asking about geometry in the driving sketch? By geometry i mean the layout sketches and reference geometry (planes, axis, points, etc.). that is all that is in my driving sketches. no solid geometry. the main assembly can then have as many parts as you like driven off that driving sketch part. however if i insert a sub assembly, i only drive the sub-assembly's location by the driving sketch and then that sub-assembly has a "driving sketch" part and all of that sub-assembly's parts are driven by the "driving sketch" part in that sub-assembly. so basically all it is doing is keeping the external references only one level up in the feature tree from the position of the part or sub-assembly. (god i hope that makes sense to others! hahaha)

                            top down in it's purest form means that none of the parts or sub assemblies have ANY dimensions in them. but that is VERY hard and slow to achieve in some instances. so it is really job and time dependent on how much information you want driven by the main driving sketch in the top assembly.

                             

                            Stuart Bauer wrote:

                             

                            I do agree with you about tracing your layout sketch lines in sub assembly layouts and part layouts as i continue to learn the hard way over and over again that converting lines from the main layout sketch to a sub layout sketch more often then not, creates problems not updating or actually following the parent line for some reason, especially when switching between configs at the top assembly Again, please post a picture of design tree that you have that will show me your design layout. An additional note, you said you have learned that concentric relations give you problems... the offset relation NEVER fails to turn my entire layout sketch yellow in the long run. Even when the error makes no sense and can easily be solved. I ALWAYS avoid the offset relation now.

                            yes, it is more than a little disappointing to think that you can only use a handful of the commands available to you to make the most robust models, but unfortunately it is what it is. i can see in some instances why it is like that, but you would think that if you were designing a program that was costing the end user thousands and thousands of dollars to buy and "maintain" that you would make sure you had ALL the i's dotted and T's crossed. but don't get me started on that! lol.

                             

                            i hope this has helped somewhat, please let me know if you need any further clarification. i know it made sense in my head, but that doesn't always mean it does to others.

                              • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                Stuart Bauer

                                Thanks for the reply Josh. Very helpful. I see in your example picture that all your parts and assemblies are fixed (or have "in place" mates). Did you do that deliberately? If so, why? Also, I don't supposed it really matters, but when you add new parts and assemblies are you adding them via the insert component>part feature or are you making a new part file and drawing some dummy lines, saving, exiting, inserting component, and then attaching those points to your main layout sketch? I use the first method and does that "in place" mate thing and then make it "float" and remate it to the planes I want it at. Whats your opinion on which method is better?

                                 

                                I think i recall you saying that you have multiple configs at many different levels of your top down designs. I have noticed that its like pulling teeth to get the entire model to behave like you would think it should when switching from config to config. For ex. say i have a pipe that has an 3" o.d. on one end and a 7" o.d. on the other end. The 7" end has been cut at a 3 degree angle. K, the face of that cut on the pipe is welded to the face of a vertical plate. Now, in one configuration that angle may be 3 degrees and in another config it may be like 7 degrees as well and many different o.d.'s (all drawn and driven in my top down layout sketch). Here is where it gets frustrating...I change to another config where say every variable is supposed to change...they all change except for say, the angle of the cut or the pipe tip o.d....*scratches head* That model doesn't reflect what my layout says it should be. Through trial and error Iv noticed if that happens just save, exit and reopen directly with the config you want, otherwise you risk something not updating. However, if you have a model with 500 parts, you can see it would be extremely easy to overlook if something didn't update correctly. Hope that makes sense. Have you encountered this problem in your designs? How have you combated it?

                          • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                            John Stoltzfus

                            Good morning JR,

                             

                            Josh has a lot of good points that I want to try as well -

                             

                            Here is how I have done my assemblies for years -

                             

                            I start with a main Sketch Part (SP) and insert that part in the main assembly and "all" sub assemblies - When I insert the SP in an assembly I un-fix it and mate the 3 planes rather then taking a chance on SW to insert it properly - all the important driven sketches and planes are in the SP - When I insert a "New" part I always select the front plane, when you insert a new part it always takes you right into the sketch mode, I get out of the sketch and then pick either a plane or a face of another part, be careful picking another part, because if you change that part from a box to a ball then your sketches will be disconnected.  The advantage to this is you can work on each assembly individually and when I go to put the final assembly together I just drag and drop the next sub-assembly in and it snaps in place.

                             

                            What I would do in this situation is make a main assembly and then you need to work with design tables and configurations, with only 20 items I think I would forget about design tables etc and just work with configs -  especially if the parts are simple -

                             

                            I am currently working with models that have been done years ago, based somewhat how you are explaining, however as the new versions of SW come out, sometimes there is a disconnect and people go in and change a part without knowing where it was used before - so I try to make it as simple as I can.

                             

                            Here I design furniture and there is always a custom job that comes through and it works really sweet to go in and change the height - length and depth and I have a new pc - do a pack and go and then all I need to do is change the customer name and dates.

                             

                            I look forward to other comments as well.

                             

                            Josh - thanks for your insight on the geometry and the depth of external references

                             

                            Later,

                             

                            John

                              • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                J. R.

                                Thank you too for your input. I'd like to ask the same thing I asked Josh - why do you use a driving Sketch Part, instead of drawing driving sketches in the main assembly? Is there a particular reason you guys do that? Because I thought that this is what Layout Sketch functionality in assembly is for. Are there some serious issues with creating driving sketches in Assembly instead of Sketch Part?

                                  • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                    John Stoltzfus

                                    J.R.

                                     

                                    Once you do enough of large assemblies you kind of find your comfort zone - I just know that if I deviate too much from the way I do it - things start to blow up and go crazy - Which could be an ignorant issue on my part -

                                     

                                    I want to be able to click on a sketch and be able to change my three sizes with in that sketch and sometimes another one - but that's it - I don't want to go and open every sub-assembly and make my changes -

                                     

                                    The Solidworks presentations and videos are awesome, however some features don't work that well in real life - All I say is find your comfort zone and branch out from there very carefully -

                                     

                                    Here is how my sketch part looks like on the assembly that I'm currently working on - everything is based in here - including extrude up to vertex etc....

                                     

                                     

                                     

                                     

                                    and in the assembly

                                     

                                     

                                    • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                      Josh Killalea

                                      the main reason i came to the conclusion that a driving part is the better way to do it is because when you do a driving part as the first part in your assembly and then mate all other parts to that first one, you can "disolve" the assembly in a higher assembly and you don't loose all the mates inside that assembly. all you have to do is transfer the lost assembly mates to the driving sketch part and everything it fully constrained again.

                                       

                                      rereading this thread it seems to me that maybe it isn't the equations that are the problem. i found a thing (i think it was a youtube video) a while ago that said the constraints e.g. the type of constraints and the size of the assembly is one of the biggest factors in rebuild times. the order went like this

                                      from fastest to slowest.

                                       

                                      1)Relation mates (coincident, parallel, etc)

                                      2)Logical Mates (Width, Cam Gear)

                                      3)Distance mates

                                      4)Limit Mates

                                       

                                      i am just wondering if you maybe having issues in this regard? as i am unsure exactly what you are doing and how you have done it, i am just wondering if maybe you have some other issues with the way the assembly is built rather than the design tables and equations being the biggest problems? the reason i am thinking this is that if you know for sure it is the rebuild TIME that is the issue, then i would be thinking it would be something other than the things you have mentioned. we do assemblies with hundreds of parts and sub assemblies and the rebuild times are tiny.

                                       

                                      we do pipe runs here (mainly) and this is one of the biggest individual piping assemblies i have done.

                                      Capture.PNG

                                      this is a screen shot of the assembly expert evaluation on this assembly.

                                      Capture1.PNG

                                      according to the assembly expert, the total rebuild time is only just under 10 seconds.

                                       

                                      all the pipe spools are top down driven for lengths and locations and every one of them is a library part that has a design table in the assembly with about 100 configurations and then each one of the spool assembly parts has a design table in it with about 100 configurations. all the parts inserted directly in to the pipe assembly are top down driven for the locations, and some for their lengths, by the driving sketch. the whole assembly is located into the main piping assembly via a grid sketch. the piping assembly for this project had about 75 pipe runs in it all done this same way and that assembly references over 3000 files. the total rebuild time for that is just over 2 seconds.

                                       

                                      i am thinking if your rebuild TIMES are the issue here then there is something else wrong. while you have talked about other things you are trying to achieve and that is still an ongoing and good valid discussion, i am only talking about rebuild TIME in here. 20 parts in an assembly shouldn't be an issue, even on a really slow old computer.

                                        • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                          J. R.

                                          Well, I am not sure then. Assembly Xpert says that rebuild time is 33ms, but in fact it's something more like 10 seconds. And when I open up some sketch of a part while in assembly and then close it down, it's 16 seconds.

                                           

                                          My guess is that there are multiple rebuild passes and Xpert only sees the last one. I don't know. I am 100% sure there are no circular references between parts.

                                           

                                          What could be the issue then?

                                           

                                          P.S. The saving time is also horrible. At least 20 seconds. And my computer isn't slow, there's 8GB of RAM and Intel i7. Something else must be wrong here.

                                          • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                            J. R.

                                            Hey, would it help if I could upload my entire project here with Pack&Go? You could then view it - maybe you could tell me what causes such extensive load times when doing anything from Assembly view.

                                             

                                            I have SW2013 SP4.

                                              • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                Josh Killalea

                                                it would help greatly. pack and go the main assembly into a folder then zip the folder and upload the zip if you can. i won't be able to look at it until lunch time at best (3-4hrs away), Monday/Tuesday absolute worst, but someone else might get to it sooner.

                                                  • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                    J. R.

                                                    Okay, uploading it. Right now, it's a bit of a mess, since I was trying to find what causes this slow loading.

                                                     

                                                    Just try opening some sketch, and then going back to assembly. At least for me, it loads very very slow.

                                                      • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                        Josh Killalea

                                                        holy complex geometry batman! before i go to much further, i am far from an expert on the way Solidworks rebuilds things, but a couple of things show up here that i have been taught and have learned are no no's.

                                                         

                                                        the first is non-constrained parts/assemblies. the crew is not constrained in your assembly.i understand why they are not, but they should at the least be fixed. there are still a couple of other things in there that look like they are not constrained. the ( - ) beside the name in the feature tree shows that the part/assembly id not fully constrained. i haven't used them in Solidworks, but i am pretty sure even a limits constraint should get rid of that ( - ) sign ans show the part as fully constrained but still let it move by dragging it. i could be wrong about that though.

                                                         

                                                        the sail will be making things a little difficult due to SW having to calculate that complex curve. i would suggest at the very least suppressing that even better would be to get rid of it all together if you can.

                                                         

                                                        also i am missing a "Isukama kilpa M10 X 10" from this assembly. i am guessing that is a bolt or some other toolbox part. now i know SW is quick to say they have improved their toolbox functionality, and i know i have seen a lot of people saying it is a lot better since 2012 release, but i still don't use toolbox parts at all. i know to many people are 100% put off them. it may not be an issue, but i would get rid of it and see if it helps.

                                                         

                                                        also, i am running this on a computer that has 32gb ram 3gig graphic and a gen2 i7 processor, so it isn't to bad on this machine. i would guess something this complex on 8gb would struggle a bit. open your task manager before you open this and see how much strain it is putting on your machine when performing different tasks.

                                                         

                                                        the complexity in this model doesn't come from the size as much as the part geometry and i  am guessing the constraints. i see a few concentric constraints in there, personally i avoid concentric constraints in SW after having huge problems with one of my first SW models. after getting rid of the concentric constraints i didn't have the issues any more. so i avoid them at all costs. the top down modeling i outlined earlier will help avoid these. if you need a "hinged" type joint, add an axis in the centre of the 2 circular parts and do a coincident constraint to using the 2 axis in the assembly. same effect, more stable.

                                                         

                                                        try a few of these things and let us know how you go.

                                                          • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                            J. R.

                                                            Thanks for taking a look, Josh. I constrained every part as you said. Total rebuild time went from 23 seconds to 18. That's better, but still very sluggish.

                                                             

                                                            I actually tried removing all the mates in the assembly, and just fixing parts in place. Rebuild time is still 18 seconds.

                                                             

                                                            You see, I don't mind full rebuild being slow - I can wait - but what I hate is that every time I want to make some minor change here and there, I have to wait ages for sketch or feature or anything to open up or close. It's like SolidWorks tries to rebuild everything every time. I tied using Suspend Rebuild, and Freeze in my most complicated multi-body part (Hull), but still, it is slow.

                                                             

                                                            So it's definitely not mates that slow this down. It's not the Top-Down design either - right now, as you can see, I removed all relations between parts, except the Evaluate part (which runs calculations about results of this project), and it still takes ages to get in and out of some sketch.

                                                             

                                                            I know geometry is complex in some places (I haven't found a better way), but SW shouldn't slow down the entire assembly when I'm doing something not even closely related to that complex geometry.

                                                             

                                                            As for sail, what do you mean about that "complex curve"? The back edge? It's a simple spline. There are far more complex things in this assembly. Did I misunderstood you?

                                                             

                                                            Anyway, I "cleaned up" the project, removed all mates (just to be sure), fixed every part, removed all external references, removed the part which runs calculations. So now it's pretty much Bottom-Up. And still slow.

                                                             

                                                            Attaching it again. If you could take a look, I'd really appreciate it. I suggest you open up the assembly, right click on the mast, click open sketch, and then click "Edit Assembly" so it closes down and goes back to assembly edit mode. For me, this takes 12 seconds. I can't figure out why.

                                                              • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                                Josh Killalea

                                                                I would guess it is the computer slowing you down. Did you have a look at your resource monitor?

                                                                 

                                                                I messed up about the sail too. At first glance I thought it was curved in both directions. (As if it was full of air). So ignore that bit. I am pretty flat out at work for the next couple of days, so I will have a look when I return home on Tuesday for you.

                                                                 

                                                                Someone with more knowledge of how solidworks thinks when it comes to rebuilds might be able to shed more light on things for you.

                                                • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                  John Stoltzfus

                                                  J.R.

                                                   

                                                  One thing I thought of that really slows down the rebuild time and that is circular rebuilds where the top part has external references to the last part which the first part needs info for another feature - Not sure how to explain it properly - but circular rebuilds is a rebuild time killer -

                                                   

                                                  Later,

                                                   

                                                  John

                                                  • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                    Craig Schultz

                                                    What I do....not saying it's right, just the fastest way I know to do it without a design table.  Opening/closing/rebuilding takes time.

                                                     

                                                    In the assembly, create custom properties of the variables that you know will change height, width, depth, etc....

                                                     

                                                    Start creating the parts and inserting them into the assembly.   Drive the dimensions of the parts (within the assembly) by selecting the desired dimension and setting it equal to the custom properties.

                                                     

                                                    Then as you start inserting the other parts, set their dimensions in the assembly by using equations.  ie:  I have a cabinet that has inset doors, which is driven by the opening.  So I placed assembly dimensions for the horizontal and vertical distances of the opening.  The I set the door dimensions equal to the vertical distance - clearance.

                                                     

                                                    Then you can drive other locations by coincident/parallel/distance mates in the assembly.

                                                     

                                                    So with this method I have found that I have to do 1, maybe 2, Ctrl+Q rebuild to get all the parts to update.  If you have multiple configurations, you're pretty much stuck with a design table.  But you can narrow it down to the basic variables to drive it.

                                                    • Re: What is the most efficient Top-Down design flow in terms of rebuild time?
                                                      J. R.

                                                      Well, I re-designed my project, making sure there are no circular references. Now the whole project is basically Bottom-Up, except for 13 variables which must be shared between parts so they can work together. These variables are set in main assembly's Global Variables for easy access and modification. Parts read whichever variable that they need via Equations (strangely enough, these do not produce Update Holders).

                                                       

                                                      However, since this project is of iterative nature (requires evaluating the results and modifying geometry), there is internal part called Evaluate, which has lots of relations to various parts of this project, and then runs calculations to provide user with relevant data.

                                                       

                                                      I'm attaching this project again. If someone could please take a look and tell me why does it load so slow when modifying anything from Assembly view, it would be great. For me, it takes 20 seconds to perform a full rebuild, and about 15 seconds to exit any sketch.

                                                       

                                                      Also, off-topic question - how can I export results from Evaluate part (in Equations) to a Excel file? I tried linking a Design Table, but it seems it can only overwrite Global Variables, not read them.

                                                       

                                                      I would appreciate any help!