I have recently been dealing a lot with the topic of concurrent engineering and I am following a couple of conversations over the Internet. I thought this would be a good topic to discuss in our own Community - to learn about your experiences, recommendations and how you are using PTC products in this context.
One discussion I saw the other day is running in a group on LinkedIn.com. A user asked "True or False: Top-Down-Design can be done without a PDM system". One user commented that "top down design can be just as complicated with a PDM system in place if users don't know how to exercise best practice. Publish geometry features need to be used religiously and as conservatively as possible!" ----
So what is your take?
PS: Remember, I am a marketer, not a technical person, so any information is of educational value for me
Wow! I find that T/F question amazing. (I guess the presumed need for PDM systems has successfully invaded the mindset.) Top Down design was here (in Pro) long before sophisticated PDM. The two may have synergy, but they are independent. Top Down design is wonderful, powerful methodolgy even if you have a one-user, one-seat enterprise. To my mind, the answer is TRUE without question.
As the poster of that T/F question the answer in my view can be either true or false
and depends, among others, on :
-size of the team
-geographical location of team members
-skill level of the team, (not modelling technique but understanding the impact of e.g. a rename action)
I purposly did not mention these conditions in my question since I wanted to see what conditions you might see.
This setup partially succeeded/Failed.
My reasoning :
The answer is True
I worked in a two person team.
One had experience with PDM and TDD, the other understood the impact of renaming
We sat side by side.
We did not have a PDM system
We greatly depended on each others pro/E data
We needed to do a single design that would fit at two different "locations" each having its own set of boundary conditions.
Since we sat side by side and since we had enough knowledge about the impact of e.g. renaming
the absence of a PDM system was no problem
The answer False
A new large developement is about to take of.
It will be a multi team, multi location effort.
Some of the team members have little experience using Pro
Some of the team members do not oversee the impact of a rename action.
In this case I would realy like to have a PDM system.
Can someone tell me what exactly do they mean by "top down design" Noone ever told me properly. It is possible I work that way (like they showed me) without knowing. I do not use an PDM system.
Talking about these great terms like Top-Down Design and Concurrent Engineering may sound very nice, but it seems like some people are messing them up a little bit .
Top-Down Design means "Structure First" - meaning you start by designing the overal structure of an assembly, without bothering yet about detailing the different components. In Pro/ENGINEER this is typically done by creating a high-level skeleton, filling the assembly structure with necessary components (can be parts or subassemblies) to be designed, and sharing geometry from that high-level skeleton to underlying subassembly skeletons and parts. Would you need a PDM system for that ? Well, you could do without for sure - but what about managing dependencies between objects, revision control or the simple advantage of being able to search a database for your cad documents ? A PDM System will always be a good help.
But what about Concurrent Engineering ? What does this mean ? Well for me it means that you work on one and the same design with different people at the same time. Of course not modeling one and the same model at one moment, but working on different pieces of a large assembly. One engineer may be working on the top-level assembly and skeleton, while some others may be working on some subassemblies. This can be combined with top-down design - both design practices are very complementary. But this is not an obligation. What you definitely need for Concurrent Engineering however is a PDM System. Without PDM, trying concurrent engineering could turn into a nightmare because you just wouldn't see who's working on what data. Personally I have very good experience with Windchill PDMLink at my customer projects as Pro/ENGINEER Application Consultant. PDMLink is a great help. At all times your workspace views show you what objects are being checked out and modified by someone else, what data you are currently modifiying, and so on. Updating the data in your workspace with changes in the commonspace by your collegues is just a piece of cake !
One particular Pro/ENGINEER workgroup manager function that is really amazing is the "Update and Integrate" functionality. (Available since wildifire 4)
I would like to explain this a little bit more in detail because it is really concurrent engineering driven to the top !
This function will even allow to "merge" changes from different people to the same model. Now one could throw up that with a PDM system only one user could checkout a model (aka a server lock) to make changes to it. Well indeed - that just what the checkout function does - only one user can checkout the object and thus has the right to check in a new iteration of it to the commonspace. Let's say person A has checked out subassembly_1 for making changes to it (adding a new component to it). At the same time person B, who is working on subassembly_2 but also has te subassemby_1 in his workspace (because his working with an external simplified representation of the top-level assembly e.g.). Now person B would also like to make a change to subassembly_1. He would like to move one of the components in subassembly_1 to make some space for a component in his subassembly_2 to avoid interference. Now when trying to make that change, person B will be presented a dialog asking him to either checkout the subassembly_1 or continue without checkout. At that time, a checkout is not possible, because it is still checked out by person A. PDMLink would indicate this in the Event Manager or in the workspace view or you could see it in the 'Database status column' that can be added to the model tree. So the only option for person B at that time is to 'continue' and modify the subassembly_1 and save his changes in his local workspace. As long as the subassembly_1 is checked out by person A, there is no chance that person B can check in his changes to the commonspace. But then comes the time that person A has finished his changes and checks in a new iteration of subassembly_1 to the commonspace. Person B would soon notice this in the 'out-of-date' column in his workspace table view. But what does he do ? He has a locally modified subassembly in his workspace that he cannot checkout because it is not the latest iteration. With an update, he could do two things. In both ways, the metadata will be updated with that on the server. But how should the content be updated ? The update functionality gives him to options for this: either download the content of the latest iteration on the server or re-use the modified content in his local workspace. In the first case, subassembly_1 would have the changes made by person A because that was the latest iteration checked in, but his own modifications would be lost because they object in his workspace is overridden with that on the server. In the second case, he could keep his own modifications, but if he would consequently checkout and check in subassembly_1 a new iteration on the server would be created containing only the changes of person B and thus the changes of person A created in the previous iteration would be lost. That is where the "Update and Integrate" functionality becomes very interesting. It can be accessed from the Pro/ENGINEER file menu, and by activating it, you get a very nice "Comparison" report listing the changes in both the locally modified version, and the newer iteration on the server. At that time, changes could be merged into the model in session (unless they conflict - 2 different changes to the same dimension e.g.) or one could explicitely choose what changes to keep and what changes not to keep from either version. So person B could decide to keep the changes made by person A (adding a component to the subassembly) and his own changes (moving another component in the subassembly) and save the model again in his workspace. Consequently, he could checkout the subassembly since it is updated in the workspace with the latest iteration, and check it in with his changes, while also keeping the changes of person A. Isn't that really "Concurrent Engineering" ? 😉
Many people may say these are 'dangerous' practices, and that it is 'not done' - but I think in many scenarios this is fantastic PDM functionality ! If person B has the rights to checkout the object that was previously checked in by person A, even when not making local changes without checkout, person B could modify the model and (accidentily or not) delete the changes of person A. Finally, with a good workflow defined, his changes would still have to be 'approved' for his new version to get a status 'Released' in the database.
Anyway - I hope it is useful that I can share this experience. Please feel free to add any comment - I would like to learn from other people's experience as well. And to finish, I can tell anyone that Windchill PDMLink is a great PDM tool that really helps you to easily manage your CAD data. Hope I can contribute some more of this stuff in the future if personal time permits...
May I thank you for your explaining. Where I work I am the only user of Pro E, so no need for concurrent engineering or PDM. Maybe in the future.
For some things I do use top down constructure. You can see what I do in documents.
Great explanation and overview from Tom. Adding a little detail to the Top-Down topic. Some of the main special tools and techniques available for this approach are covered by the following topics:
Skeleton Parts and Assemblies
Layouts (aka Pro/Notebook)
Copy and Publish Geometry
Creation of Parts from within Assemblies
Other helpful tools not restricted to Top-Down design include:
Parameters and Relations
If you haven't explored some of these topics yet, you will want to do so. Consider a training course from PTC as an efficient way to get acquainted with these techniques.
I had two courses with SAVACO (where Tom works). They distribute Pro-e in Belgium. I had one for starters and one about EFX. For more courses I have to wait for a "YES" of my Boss. For the moment I still work here as interim (a year) and am alone as designer with pro-e. I hope they will take me permantly but untill now .....
In those courses they never explained those items in so many words, maybe wrong, I don't know. They have asked to train me on the job and come every month to here but the Boss thinks there is no need, so back where I started. You know it is'nt all for free.
I know there is still a lot I can learn and I really want too.
Just to make this a little more exciting.
We want to do a lot of Concurrent Engineering.
Our products are defined in up to 14 different sizes.
A Skeleton part (parts!) containing a Family Table where each instance define a size is used.
Publish Geometry and External Copy Geometry is also used.
For some reason this is giving us some really big headaches in terms of regeneration and wrong references.
Can anybody give me some hints on why this occurs?
We've found an SPR 2053187 that might be it, but no solution so far.
I had same problem. The copy geometry doesnt update and keep generic dimension. I suspect thar two different copy geometry from the same generic is one cause but I'm not sure this was causing trouble. Simplifying and reducing references solved the problem. It's nice to creat a publish for each part with minimum references.
Working with a combination of Top-Down design (using skeletons and data sharing features like publish and copy geometry features) and Family Tables for managing variants is perfectly possible. To begin with, you may want to create a family table in the skeleton, to create the dimensional variance. Then, you need to create some instance rows in the assembly family table. There is a magnificent tool in Pro/E (Creo Elements/Pro) called the Assembly Instance Configurator. Just select one instance row in the FT and then click Tools > Assembly Instance Configurator. There you can first exchange the skeleton with the correct instance, and for the components that you want to update, just enter new names. The family tables of these components will be created/updated automatically ! And finally, there is a command in this window to update external references to the assembly instances instead of the generic ! How great is that ! The external reference model column will be automatically updated in the family-table of the component.
This great functionality is available in Pro/E for quite a while, but my experience as a consultant is that not many people know about it 😉
Does this explanation help you guys on the 'copy geometry' issue ?
I've been working on our problem with regeneration of components and have come up with a partial solution.
The assembly is controlled with a skeleton part. This skeleton part contains a Family Table with all sizes.
In the Family Table on the assembly, the Skeleton part is added as a component, and changes with each row.
Each component references the assembly which in return opens up the right instance of the Skeleton part.
So far, so good:)
The last component "just" relies on the size of the skeleton part, but this is not a family table instance. It's the same name. It shall just change size for calculating weight.
The problem is that when I open each instance of the assembly, this last component keeps the references from the generic skeleton while all the other components changes with the instance of the skeleton.
How do I get the last component to update as well?
If you want this part to vary along with your assembly instances, there's no other way then also making a family table of it and update the references to the instance skeleton instead of the generic skeleton. How ? What you can do is open the family table, select the first instance, and then choose Tools > Assembly Instance Configurator. You will see the model structure of the generic, and the model structure of the instance. For the "mass part" that you already added with reference to the generic skeleton, enter a new name in the column for the instance. The system will prompt you to confirm that a new instance will be created in the family table of that part (automatically, even if no family table already exists !!). Then you will see a small icon next to this part showing that the external references have not been updated. (They still reference the generic skeleton). There is an update button at the bottom of the dialog to update this. You will see the icon change, and what will actually happen is that a column with the reference model for the external reference will be added to the family of that part. Yes, it will contain the instance assy instead of the generic assy. 😉
Can you get this to work ?
Repeat these steps for every assy instance of course, and the family table of the varying part will automatically be populated with the necessary instances.
In that way you can perfectly combine Top-down design (using external references) and Family table variations.
Good luck !
Thanks for the tip.
I just tried it and it works OK, but it creates new instances in the part and that is exactly what we don't want.
We want to use the same name/part, but with different dimensions for weighing/viewing purposes.
The part represents insulation which is cut to measure from large sheets.
Hmmmmm......It's going to be a long friday:-)
Hi again Tom
I might have found a solution -
Flexible Component and a relation on assembly level that reads the size from the A-part to get the right dimensions.
I have tested several assembly instances and seems to work.
It might be a good friday after all
As i say on linkedin, i have been using top down design in my projects and at this time i don´t have experience with PDM systems, and this metology works very good alone. But sure when i combine with PDM system this will be most usefull and effective.
I believe 'concurrent engineering' does not imply two people working on the same part with both needing to make a revision to this part. What concurrent engineering means in this respect is engineering from different disciplines working on the same product.
Given the need for mechanical engineers to design the physical part, electrical engineers to design the PC boards, and harness engineers to create the logical and power links.
That is concurrent engineering: different disciplines in engineering working together.
Working at a location with more than 50 engineers in these three disciplines I can tell you the updates Creo Elements has presented are wonderful for the concurrent engineering presented. Sure that there will always be minor points to fix, the overall picture of the operation with regards to the different disciplines involved is a wonderful addition. On a small scale, think of a mechanical engineer designing a bracket but not realizing a wire has to go under the bracket to power a light board in front of it. This just requires a revision of the bracket to accommodate the need of a wire, but what if the engineer could see the wire in the assembly before he made the bracket? With just that knowledge he would account for the wire in the design, and no revision would need to be made.
Now look at this on a larger scale: if the engineers involved in a design could see the wires needed and account for the space needed (one might say that's mechanical also as it has volume), they would add this in to the design and not require additional revisions for this