View Single Post
  #19  
Old 06-03-2007, 05:22 AM
Marten Marten is offline
Registered User
 
Join Date: Feb 2006
Location: Tilburg, The Netherlands
Posts: 139
Re: OneSpace vs. SolidWorks

Well, the post just keep getting longer:-) But hey, it keeps you busy.


You make it sound like dynamic modelers are designed stupidly, and are only for the engineering underclass. Well, I certainly don't agree with that. Both history based systems, and dynamic systems have their advantages/disadvantages (don't know why you call it boolean. It's definitely not just on/off). You just can't say one is a better technique, and the other is just for the stupid users. In some situations history based can be useful, and in others dynamic is.
I do think dynamic systems are more productive and faster for most mechanical cad areas.


If you look at One Space, it to has some history added where it makes sense. Blends for example are history features. When you modify the geometry, it will temporarily remove the history, and then re-apply it. Even your taper-example can be added while keeping the history. (I looked at it further, and found you can add a taper as a feature. Then, you can suppress the taper, modify the cylinder-diameter, and re-enable the taper).
But all those history / features never become a burden. If you modify the geometry in a way which breaks the history, it will simply be removed. You don't get an error telling you this feature can't be created anymore.


Quote:
As I said above, many parametric modelers today do not require creating design rules.

Maybe you can show me how, but I have never seen this in a history based modeler. If you have a model without constraints, you cannot change it without constraining it. I have never seen it without having to manually remove the constraints/history (which you won't do, because it takes extra time). In my opinion, it is fair to say that, in history based modelers, you are required to have history. It is not an option, or a choice.


About the design intent.
With the history based approach, you don't just capture design intent. You capture how the model is created. With that, you sure can add design intent, but that is definitely not the only thing you add. History based is not the same thing as parametric! One Space has a parametric module, but in my opinion, it's just there to be able to say it's there. But when it has a nice implementation, I would still only use it in special cases.


Quote:
It isn't so important how the part will change in the future, but rather, what is the current design intent.

Well, the current design intent is the model. If you want to document your design intent/choices, you should just document them (and only the relevant ones).
If you enforce all your design choices, you make it important how the part will change in the future. If you change your model, it means that your design intent has changed. So your enforced design intent probably doesn't apply any more. As soon as you change your design, the engineer that changes the design is responsible for the new design. And remember, in a history-based system, you have to add the enforced constraints. So, when you don't care about how the part can be changed in the future (for example, because your part will be manufactured only once and you don't want or have the time to think about how your part should be changed in the future), you will end up with a model which will most likely have wrongly defined constraints. Because you have to create those constraints, you will end up with a model which behaves unexpectedly when changed, and is harder to change, because you have to find out how it is created. Adding “good” parametrics (as far as that's possible) takes a lot of time. Not everyone can invest that much time in a model. It's not: if your smart enough, you would add them. You should also take time into account. If time wasn't a problem, you would also always calculate the minimum material required to meet the strength requirements. However, not everybody has the time to do it. It's sometimes much faster and cheaper to just over-dimension.


Another problem with your statements about design intent and engineering requirements is, that many cad users often only have functional requirements for the machine/product they are designing. So, because the end-product isn't completely clear yet, those engineering requirements are not defined completely. Many of the engineering choices change very often during such design process. During this design process, it would constantly take a lot of time to put all the possible constraints into place, and then, when you think: “Oh, I can do it better this way”, those constraints make it harder to change your design.
Yes, it would be nice to be able to add some of your design choices into your model as constraints, but only when it can be done after you completed your design or part of your design, and when it's easy to remove all of them (and still be able to modify your model).


Quote:
Not a single face exists on a part without a purpose, or you would not have put it on there
Well, of course, but many of those reasons/choices are trivial, so why capture those? It takes time to put them there, and it takes time to modify them when your design changes. And because they are obvious, it is a waste of time imho.


Again, this discussion about adding design intent has nothing to do with being a history based or a dynamic modeler. It is just about being able to add parametrics to your model. History based systems by definition allow (and even require) you to add parametrics, but that doesn't mean that you have to be history based to be able to add them to. CoCreate could add good parametric abilities in Designer, but you have to see this as an extra feature which can be added to the software. It's not that high on my list of enhancement requests btw.
One thing that's absolutely clear to me, is that it should be optional to add those parameters.

Then there is the discussion about history based vs dynamic.

I think history based approach can have some advantages. In some cases it allows you to easily change your model where, with dynamic modeling, it's easier to just rebuild (part of) the model. I believe you are in the business creating plastics moulds or something? I can imagine that history based can have advantages, because you constantly work with those tapered faces. I think that when you work with not that many parts, and have complex parts (to create), and where the design is pretty stable (ie. won't change that much), it can be useful to have a history. However, if you are working with many parts or change your design frequently, or where most parts are fairly simple (and thus easy to manufacture; where the complexity is in the combination of these simple parts) I think dynamic modeling has many advantages. The few cases where history would help to easily modify? Well, to bad. Not that big of a deal. I think this is true for a very big part of the industry which manufactures machines.

Tapered cylinder

One last remark about the tapered cylinder:
Yes, you can measure the distance. Because measuring the distance from the conical face to the circle will give you the normal offset required. The normal is the shortest distance to the circle, and that's exactly what's measured when measuring the distance between the conical face and the circle. Also, if you un-taper, modify and re-taper, you will not mess with dimensions in annotation when you just modify the face. You will only get problems in annotation when you remove the face (for example with mill) and then recreate the taper.
But hey, CoCreate did listen to you and created a taper-feature. It would be nice if they also created a “suppress taper” command in the right-mouse menu in the structure browser, but that will be easy to create in lisp if they don't.


I'm curious what you think about this little bit of history in OSD

With kind regards,


Marten Verhoeven
Reply With Quote