Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
So this is slightly linked to Windchill, we got our Extended Position Assemblies working by changing the value of an parameter to identify to Windchill that its got assembly level cuts, now I want to semi-automate it by using an existing parameter which is only present if there are assembly level cuts, are there any system level parameters created when you use assembly cuts that I can point Windchill to look towards?
I do not believe there are any system parameters set when an assembly contains assembly level cuts. It may be possible to use ModelCheck to set one...
On the other hand, the publisher will automatically fall back to normal publishing when assembly level features are present and an extended positioning assembly was requested. For this reason we publish all of our assemblies as extended positioning assemblies an then just let the system fall back to normal publishing when it needs to.
https://www.ptc.com/en/support/article/CS130256
"The Creo View Adapter for Pro/ENGINEER will fail over to a full Geometry publishing for those sub-assemblies that contain assembly level features"
So at the moment we publish all assemblies as position assemblies, with the aim to manually or automatically set parameter value which would trigger extended position assemblies. So are you saying we could set everything to publish as extended position assembly, but only those assemblies with features will actually get processes as extended, everyting else will go through a regular position assembly?
What im a little confused about is how you can end up with it publishing as a standard non-positioning assembly when in order to request an extended position assembly you have to first identify the item as a position assembly, so isnt the fall back always going to be a position assembly?
@khimani_mohiki wrote:
So are you saying we could set everything to publish as extended position assembly, but only those assemblies with features will actually get processes as extended, everything else will go through a regular position assembly?
Yes. Exactly.
@khimani_mohiki wrote:
What I'm a little confused about is how you can end up with it publishing as a standard non-positioning assembly when in order to request an extended position assembly you have to first identify the item as a position assembly, so isn't the fall back always going to be a position assembly?
From CS130256:
A Custom method can be used to determine whether to publish as a Positioning Assembly or Extended Positioning Assembly and which CAD representation to use in the case of the latter, using on of the following wvs.properties entries:
- If a custom class/method is specified using the publish.positioningassembly.usecadrep.filtermethod property, then this will be used exclusively to determine whether to publish as a Positioning Assembly or Extended Positioning Assembly
- e.g. publish.positioningassembly.usecadrep.filtermethod=ext.ptc.wvs.server.CustomPublishFilters/publishAsXPosAssy
Here's the snippet of code I use that tells all assemblies to be published as extended positioning assemblies:
public static Object[] getPosAsminfo(EPMDocument d, String defaultCADRepName) {
// This method does *not* prevent things from being published, it just determines *how* something will be published - standard assembly or extended positioning assembly
if (d.getDocType().equals(EPMDocumentType.toEPMDocumentType("CADASSEMBLY")) && d.getAuthoringApplication().equals(EPMAuthoringAppType.toEPMAuthoringAppType("PROE"))) {
// Creo assembly, so go ahead and publish as an extended positioning assembly.
return new Object [] { Boolean.valueOf (true), "default" };
}
else {
return new Object [] { Boolean.valueOf (false), null };
}
}
For this to work, I also have the following wvs property configured:
publish.positioningassembly.usecadrep.filtermethod=ext.TMPublishHelper/getPosAsminfo
The fallback from extended positioning assemblies to just positioning assemblies happens on the CAD worker:
The Creo View Adapter for Pro/ENGINEER will fail over to a full Geometry publishing for those sub-assemblies that contain assembly level features
OK, I think I see what your doing, very cool but custom methods are a non starter for me at the moment, much wrangling with IT just to get configurations in place
We have an attribute POS_ASSY=YES on every assembly (from the template), currently we trigger position assembly publishing by setting
publish.positioningassembly.ibaname=POS_ASSY
Then to get everything to publish as extended position assembly I was going to set:
publish.positioningassembly.usecadrep.ibaname=POS_ASSY
publish.positioningassembly.usecadrep.ibavalue=YES
publish.positioningassembly.usecadrep.ibacadrepname=default
This is working on the test environment, but it means everything is either Extened position assembly, no full geometry publishing and no position assembly publishing.
I don't think it matters how you trigger the extended position assembly publishing, once it's called the CAD worker should automatically fall back to regular (non-positioning assembly) publishing for any of the components that have assembly level features. All the rest of the components in the assembly will still just use branch links (like a positioning assembly.)