Future CAD-PLM and Assembly Version Management

I was reading SolidSmack’s post about how to manage versions of the assemblies. Creating versions of drawing and models is one of the most fundamental activities during your design process.

For the long period of time, I assumed that this field of PDM/PLM activity is well explored – done deal! If you need versions, you need to move to the one of the available PDM systems (whatever fit your CAD system and vendor choice). Sounds like pretty straightforward… Finally, if you don’t want to move to PDM burden, you can follow Josh’s rules and options.

But, what if…?

What if we will be able to automate this painful version management mechanism. Think Google Docs for the moment. You actually can manage versions of your document and Google Doc is taking care of your changes. You can revert to any version you want, compare versions, etc. Sounds simple. I know, you can tell me CAD data is complex, lots of dependent information and not clear how to manage version with actually designer involvement. However, the actual problem, in m view, is not a complexity of design and assemblies. The main problem is the way today PDM systems manage it. In the typical environment, the data is located on your local disk (or shared network drive). Data Management software (PDM or PLM system) is taking care of moving your data to the secured location (vault). Each time you are doing it, the very painful check-in / check-out process needs to happen.The fundamental problem is data management procedures. So, maybe we finally need to remove and reorganize it?

Let me dream about different data management scenarios and work organization. We can split version-related data management process in two separate activities. 1/Save all changes all the time; 2/Tag versions.

Unlimited Storage and Save Command
The storage is cheap these days. Even if you think it is not yet as cheap as you want, the trend is going down. Let assume we have an unlimited online storage that will allow us to keep track of all CAD activity and changes you are doing. Basically, we will reduce the need for <Save> command. Still, you may have it, but normally you’ll not use it anymore.

Revision As Tagging
Think about Version as a tag of the particular design state. When you are coming to this state, just tag all you have with a specific tag (actually you can use lovely revision schema you have in your organization).

There is no magic. The biggest problem is to optimize a process of data saving between CAD software and storage. I think, the network speed improvements and CAD vendors efforts will move us in the right direction. And finally, an alternative is to move your CAD system on the cloud and run it in a browser. Do you think, I’m overwhelmed by the simplicity of some online sotware available today? I don’t think so. Time ago, CAD systems had a problem to optimize save procedure to the disk. Today, they are in a pretty good shape and can optimize loading of huge assemblies in a very efficient way.

So, what is my conclusion? The “second movers” innovation is very important. The problem is on the plate. Today’s PDM Versions mechanism is outdated. Don’t give up and accept “it is as it is” statements. There are some fundamental CAD/PDM activities that can be improved and need to be improved.

Just my thoughts…
Best, Oleg



Share This Post

  • Oleg
    interesting topic…having managed several generations of PDM solutions I like the tag idea. Infact, because the version capability of one PDM solution was limited we resorted to using attributes and used the tagging mechanism and it worked well…

    With CAD/PDM, I would challenge the software companies to enhance baselines/configurations capability to capture designs at certain stages…regardless of what is used (Version/tagging) to ensure that as-stored / as – released information is available and can be retrieved at any time.

    Also by including tagging capabilities, it might be possible to introduce knowledge management within the CAD space and promote part/design reuse.

    Swati Ranganathan

  • Thanks for the link Oleg! I think there’s a difference in what we’re talking about here. There’s version management and version creation. I think the term version is what is confusing.

    In the post, I’m talking about creating multiple concepts and having the ability to move in between and combine concept models.

    Now, that doesn’t get rid of the fact that there needs to be some management in there. But think about this. The ‘virtual parts’ I discuss in the tutorial keep all the parts within the file. think about that. the files are ‘managed’ within the model. Hows that for a file management idea. Instead of managing meta-data in databases, it’s managed in the environment.

    What if all the models we create could contain the virtual data about it?

    Then, what if the objects around us could contain the virtual data about it?

  • Roy

    Josh, I refer to what you are mentioning as “design alternatives”. I agree that using the term “versions” is causing the confusion. The way that we addressed this issue was by assigning an attribute in the PDM system to one of the design alternatives that set it as the “active alternative”. This attribute is only available for component parts and it directed the assembly to which design alternative to open. The “active” attribute can be changed to an of the alternatives, but only to one at any given time and only up until the point that the component get promoted to a “frozen” state.
    This allows a single part number and revision/version level to be used for multiple design alternatives during the developement process. Once the design direction has been solidified and moved through the release process, the one set as the active alternative is the only one that the assembly opens and the only one that down stream users will see.

  • Swati, Thanks for your comment! I’m certainly agreeing with you. Tagging contains an interesting potential. When it comes of top of flexible data management solution lots of great things can be done. Granularity will rule the world in the future. This is because a granularity is the most proper technological approach to be used on the web. Think if CAD system will be able save your design changes in very small pieces transported via htpp protocol… Interesting? I think so.. Best, Oleg

  • Josh, It is interesting clarification indeed. You just pushed the boundary of file to contain versions. However, it doesn’t mean file don’t need to be managed. My problem is that when we push a file boundary outside, we decrease the granularity of data. Remember, all available PDM solutions today tried to avoided usage of CAD techniques that pull “files” inside of “files”. There was a big problem to manage such CAD “features”. Therefore, for example, management of SolidWorks configurations, virtual parts, etc. always was a challenge for PDM folks. However, if you push a file boundary even more, you can jump over and come the CATIA V6 solution where multiple files equal to the one big ENOVIA V6 database. Btw, from the technological standpoint, I believe CATIA V6 should be able to manage versions in design on the superior level in comparison to other PDM solutions we have on the market. Thanks for your comments! Best, Oleg

  • Roy, Thanks for commenting! It is interesting to have your feedback on my last comment to Josh about granularity. Since you gave an example of my case. The boundary of CAD/file and PDM system In your case, you put ‘Active alternative’ flag in you PDM system. Josh proposed to keep all in file. Some systems (like V6 are trying to push all assembly information into PDM-like-database). The fundamental answer is to increase the granularity of CAD data management. Best, Oleg

  • The big difference between the Google Docs approach and what Josh is talking about is the idea that you are doing concept work and therefore you do not want to deal with PDM. Google Docs at the end of the day is a PDM system. The idea of managing member parts through the top level single file assembly is a very cool idea (saves a lot of messy folders). This is the typical stuff that happens on a designers desktop.

    I want to check an idea with everyone. I think of these variations as “representations”. Imagine a case where three alternatives of Assy_A (which has a set of design requirements, issues and tasks) are evaluated using one of Josh’s methods. Each solution being evaluated is a representation of Assy_A and therefore each has a common set of requirements, issues and tasks. But each variation is also stand alone and therefore has additional issues and tasks specific to only it. Thoughts?

  • Roy

    I should have stated in my first post that I am looking at this from a CATIA and NX view, so I realize that the functions are slightly different than Josh’s original post for SolidWorks, but the thinking should be common. Also, I realize that Josh is looking for the best method without the use of a PDM system, but I consider a file folder system to be the most basic form of PDM.
    Chris’ statement that during concept work you don’t want to deal with PDM is one that I have faced many times. My response has always been that as the designer, I am not the only one that has to evaluate the alternatives. Manufacturing, costing, FEA and the customer usually have to evaluate them as well. For that reason they should all be stored in an easy to find manner, which would normally include a part number and revision/version. Since it often takes days or even weeks to get a decision about the design direction, they have to be stored in a manner that can be tracked and found even when left untouched for some time. A standard process throughout the organization is critical.
    Another reason to keep each alternative in it’s own file is so that they can all be evaluated indendently. As Chris stated, they each have their own specs. Having them in their own file allow easier use for things such as drawings and structural/mass analysis. With that said, I am all for “linking” the base model between all alternatives though, and then adding the differentating features in the individual files.

  • Chris, Thanks for the comment! I understand this point. Your resistant to PDM is because you consider it as a burden to your time. Now, as Google Doc user you don’t care and not disturbed at all by the fact “Google Doc PDM” manages your revisions. My conclusion is simple – for this particular case, technology matter! Google’s technology of work with documents allows KISS (keep it stupid simple). If I will be following Josh’s proposal and think about “the biggest assembly” to include everything, in the end I will either come to the PDM idea or to the fact I’ll need to create another assembly-part to re-use. Does it make sense? Best, Oleg

  • Roy, Thank you for your comment! I like your point related to the comparison between design processes, analyzes of alternatives and way to put everything in a single file. It seems to me the right way to see customer-related activities. Clearly PDM can solve a problem of file identification and manage granular access to the files and alternatives. However, as Chris stated, the cost and burden are too high… So, Vuuch answer today is what Chris called “Facebook-like pages” for each file. The interesting question if this will be easier to manage in comparison to PDM alternative. Best, Oleg

  • Hi Oleg,
    Google and amazon S3 are doing tremendous progress in implementing what CAD /PDM / PLM fails to do for years: Transparent automatic versioning. Each of them decided a different angle Google focus on delivering a product to end user where amazon deliver a platform that you can build on.
    It is interesting to note that your vision can be implemented on top of S3 http://aws.amazon.com/s3/.
    Here it is an extract of the documentation.
    Amazon S3 provides further protection via Versioning. You can use Versioning to preserve, retrieve, and restore every version of every object stored in your Amazon S3 bucket. With Versioning, you can easily recover from both unintended user actions and application failures. By default, requests will retrieve the most recently written version.
    This could be combine with a transparent access through the local filesystem where S3 bucket will appears like a folder or drive. http://www.subcloud.com/features is a commercially supported solution. This kind of solution is a low hanging fruit for any serious PLM editor.

  • oups

  • Yann, Thanks for this excellent example related to S3. I think, PLM/PDM vendors are still in “a stand – by” position with regards to the S3, Google and other cloud databases. What will be interesting to see is Azure will change something… My expectation is that solutions previewed by Autodesk and SolidWorks on the cloud can provide some change in the strategy. Best, Oleg

  • Hi Oleg, you know my personal biased so I don’t expect anything from Azure because Windows has never been a credible solution for server side web application that need to scale.
    I think that http://www.eucalyptus.com/ or http://www.ubuntu.com/cloud are much more interested solution because they will enable PLM editor to provide their own “Private cloud” with tailored images implementing the “best practices” in term of installation /configuration / deployment. This could be an interesting middle ground that do not require to change the existing products.

  • The main thing I would point out about Gdocs, S3, similar services and the level of granularity is that it all happens behind the scenes, without you knowing. It’s automatic and I think leaning toward adaptive, where the interaction with such systems is completely transparent and only a sub-set of a workflow.

  • Yann, I didn’t want to challenge you with MS-based solution. However, the model and ideas are the similar. I’m looking with big interest on how “open source” initiatives will challenge the fundamental business model of well established CAD-PLM vendors. Let’s move FOSS discussion to another post :)… Thanks for discussion! Best, Oleg

  • Tony

    The PDM folks should look at software revision control & software configuration management — software developers have been doing revision control, tagging, branching, and merging for decades.

    Subversion is a good example of a server-oriented version control system. Git and mercurial are two good distributed version control systems. All of these system are FOSS. I’m not sure if everything would make sense for CAD data (svn, git, and mercurial encourage the use of parallel development and merge, instead of check-in/check-out. You’d probably have to have special tools to make this work for MCAD).

    But there’s no reason to try to reinvent the wheel when you can study and borrow some else’s wheel.

  • Josh, That’s exactly my point! You shouldn’t worry when to check-out/check-in/release or retrieve last revision. This is AUTOMATIC service. You only role is to TAG whatever you want to specify as MY RELEASED version. Thanks for your comment! Best, Oleg

  • Tony, Agree with you! There are lots of CM (Configuration Management) tools for software development with revision management too. Most of them are FOSS. However, there is a significant difference with mechanical CAD or ECAD, for example. These tools work differently and, as a result, you cannot get software that manages C++ code to work on SolidWorks parts…. So, PDM folks need to see their experience and imitate the best results… Thank you for your comments! Best, Oleg

  • Frank

    Tony is absolutely right: applying SCM paradigms to PDM is the way to go, and esp. DVCSs capture the workflows for virtual design collaboration just right.

    Oleg, what do you think is the significant difference between CAD and source code you mentioned in your comment?

  • Frank, SCM paradigms are good. However, Bill of Material for mechanical design or Car configuration are different from software module’s configuration. Manufacturing planning procedures are different from a software builds. The same is about revision management rules and many other things… So, both tools can share some common fundamentals, but still will be different. The important trend in PLM is a mix of mechanical, electronic and software builds. These are interesting challenges and space to see. Best, Oleg

  • Frank

    Oleg, you are right: mechanical/mechatronic product architecture and BOM _is_ very different from software configuration. And consequentially SCM *tools* cannot be applied to PLM. Nonetheless I think that basic collaboration patterns and the authoring process are very much the same in all disciplines, and the software community’s vast experience with virtual products (what else is a CAD model?) is very much underutilized and not well understood by PLM users and vendors.

  • Frank, You are right, basic collaboration ideas can be similar for both. Especially when it comes to CAD work. Take a look on some of my thoughts related to collaboration and Google Wave for examples -http://plmtwine.com/2009/06/12/6-reasons-why-google-wave-will-change-plm-collaboration/. Thanks for comments! Best, Oleg

  • Pingback: CAD, PDM and PLM Diversity()

  • Pingback: Global SMT & Packaging magazine for electronics assembly and advanced packaging professionals.()

  • Hi,
    I stumbled upon this blog entry and it spiked my interest, as we are building a platform that addresses exactly what you are talking about. We have also implemented distributed version source control (Git), and we have visual comparisons and a network map so we’re even a step ahead.

    I’d love if you take a look at this: http://shapedo.com

    Or look at an interesting example:

  • @Ari, thanks for your comment and link sharing!

  • Pingback: The complexity of Part Management in PDM()