cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Config Spec Conundrum - How do I publish 'As Released'?

Highlighted
Emerald I

Config Spec Conundrum - How do I publish 'As Released'?

I'm running into two fairly significant problems with Windchill and I could really use some help.

  1. Additional files generated during publishing do not always agree with the corresponding models (at the same revision.)
  2. Users outside of engineering are unable to view all of the models in an assembly in Creo View.

Both of these situations are being caused by the publisher using the 'As Stored' config spec when the 'As Stored' version of the model is not the same as the 'As Released' version.  For example:

 

Drawing or Assembly

A.1 - In Work

A.2 - Released

 

Model

A.1 - In Work

A.2 - In Work ('As Stored' when drawing version A.2 was created.)

A.3 - Released

 

A.2 of the drawing/assembly and A.3 of the model are both released together, but when published the older, unreleased version of the model is being used.  For drawings this could mean the wrong geometry is displayed.  For assemblies it means that users outside of engineering can't even see the model since they are not allowed to view 'In Work' objects.  (We use positioning assemblies to dynamically pull the models in during viewing.)

 

In this simple example, switching to 'Latest' would fix the problem but it may cause much bigger problems in the future.  For example, if we add several new revisions to the model and then republish the drawing, the new representation for the old drawing (or assembly) will now show the latest models at revisions that didn't exist when the drawing (or assembly) was originally created. 

 

Drawing or Assembly

A.1 - In Work

A.2 - Released

 

Model

A.1 - In Work

A.2 - In Work ('As Stored' when drawing version A.2 was created.)

A.3 - Released

B.1 - In Work

B.2 - Released

C.2 - In Work

C.2 - Released.

 

Republishing the drawing after C.2 of the model is created means the drawing will now display C.2 instead of A.2 (or in a perfect world, A.3.)  Every time the drawing (or assembly) is republished the contents will change.

 

There seem to be two root issues here - user behavior and system behavior.

  • User Behavior - Is it realistic to expect a user to check out and re-save each drawing and assembly every time any component in the drawing/assembly changes?  Even when the change is just to an attribute?  Without re-saving, the 'As Stored' config spec. is pointing to an older version of the dependent objects.
  • System Behavior - Is there any way to allow the system to publish using an 'As Released' config spec.?  If not, what about publishing with the version references instead of object references?  (Version references always point to the latest iteration of an object at the specified revision.)

 

I've run some database queries and analyzing just drawings alone I have over 17,000 latest, released drawings where the 'As Stored' version of the drawing's model does not match the latest version of the same model.  (Most of these 'As Stored' and 'Latest' models are at the same revision, just not the same iteration.)  I can't imagine the situation with assemblies is any better.

 

Any suggestions?

 

Note - Publishing is automatic, not something users manually do.  Additional files generated during publishing are sent to both internal and external suppliers for manufacturing.  Promotion requests are being used in a limited fashion but the vast majority of the objects currently in the system were released via 'Set State' and we don't use WT Parts.

 

21 REPLIES 21

Re: Config Spec Conundrum - How do I publish 'As Released'?

Education on the part of your users that the drawing MUST be the last item saved.

The Model and drawing MUST be at the same version! You do not revise the model without also revising the drawing.

 

Modify the workflow with code that checks the drawing modified date with that of the model. If the model is newer, reject the check-in and do not publish. I know Great Plains Manufacturing has modified their system for this, but the code to do it is proprietary. I would love to have the code if someone develops it and can share it. Maybe PTC needs to modify the base code with a preference setting that requires the drawing to be the latest.

Re: Config Spec Conundrum - How do I publish 'As Released'?

As stored is generally the right and only choice that makes sense for publishing. 

Publishing results in a static image that has to synch with the models that the published drawing is displaying / published assembly is displaying.  This is different than a config spec applied dynamically to product structure, for which "latest released" is a valid option to apply.

Re: Config Spec Conundrum - How do I publish 'As Released'?

It's not revising that's a problem, we revise both together, rather it's making additional changes to a model after the drawing or assembly has already been checked in.  It might be 10 seconds later, but it's enough to make the 'As Stored' config spec unusable.

 

The thing I'm struggling with is the need to check out and re-save the drawing and all assemblies anytime ANY change is made to a model, even if the change has no impact on the drawing and/or assembly.  For example, simply opening a model, hiding a layer, saving the status, and checking it back in now requires that the drawing and every assembly it's used in (and all of the parent assemblies all the way up the structure) to also be checked out and re-saved.  This seems nuts.  It's the same problem we are trying to avoid by not publishing 'Latest' - the never ending 'rev rolling'.

 

Does your custom code prevent checking in all assemblies if any component in the assembly is newer than the assembly itself, or do you just do this with drawings?

Re: Config Spec Conundrum - How do I publish 'As Released'?


Publishing results in a static image that has to synch with the models that the published drawing is displaying / published assembly is displaying.


This is okay on the drawing side because the PDF we create of the drawing isn't going to care if some of the models displayed on the drawing are not released.  This doesn't work on the assembly side where we use extended positioning assemblies for all assembly publishing.  Users outside of engineering are only allowed to view released models.  If the 'As Stored' config spec. references non-latest, 'In Work' versions of a model then the full structure doesn't load in Creo View for these users.

 

It would be great if I could publish using 'Latest Iteration at Current Revision' of each dependent model since those are the versions being released.

 

I'm just really surprised other people aren't struggling with this.  Maybe it's more of an issue for us due to heavy use of positioning assemblies...

Re: Config Spec Conundrum - How do I publish 'As Released'?


Does your custom code prevent checking in all assemblies if any component in the assembly is newer than the assembly itself, or do you just do this with drawings?


I just realized this question makes no sense.  It should say, "does your custom code prevent checking in a model if any assembly exists anywhere in the database that references that model and isn't also being saved and checked in at the same time?"  That's really what we're talking about.  Never having a model newer than the assembly.  The only way to prevent that is to never allow a model to be checked in without ALL corresponding assemblies and drawings, right?

Re: Config Spec Conundrum - How do I publish 'As Released'?


@TomU wrote:

Does your custom code prevent checking in all assemblies if any component in the assembly is newer than the assembly itself, or do you just do this with drawings?


I just realized this question makes no sense.  It should say, "does your custom code prevent checking in a model if any assembly exists anywhere in the database that references that model and isn't also being saved and checked in at the same time?"  That's really what we're talking about.  Never having a model newer than the assembly.  The only way to prevent that is to never allow a model to be checked in without ALL corresponding assemblies and drawings, right?


Our custom code only checks objects submitted on a promotion request. It does not check objects on a check in.

Re: Config Spec Conundrum - How do I publish 'As Released'?

Our custom code only checks objects submitted on a promotion request. It does not check objects on a check in.


Are you checking both drawings and assemblies?

 

For drawings it seems like it would be relatively straight forward since you just have to look at the children.  For assemblies wouldn't you need to check all of the parents as well?  Do you really re-release every single assembly and sub-assembly in a structure anytime a component inside one of the lower level sub-assemblies changes?  (Even for an attribute change???)

Re: Config Spec Conundrum - How do I publish 'As Released'?


@TomU wrote:

Our custom code only checks objects submitted on a promotion request. It does not check objects on a check in.


Are you checking both drawings and assemblies?

 

For drawings it seems like it would be relatively straight forward since you just have to look at the children.  For assemblies wouldn't you need to check all of the parents as well?  Do you really re-release every single assembly and sub-assembly in a structure anytime a component inside one of the lower level sub-assemblies changes?  (Even for an attribute change???)


We are only checking to make sure the drawings reference the latest (drawing) model and the latest format(s). We are not diving into the assemblies and checking those.

Re: Config Spec Conundrum - How do I publish 'As Released'?