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

Community email notifications are disrupted. While we are working to resolve, please check on your favorite boards regularly to keep up with your conversations and new topics.

Assembly Level cuts attribute?

khimani_mohiki
14-Alexandrite

Assembly Level cuts attribute?

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?

5 REPLIES 5
TomU
23-Emerald IV
(To:khimani_mohiki)

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"

 

khimani_mohiki
14-Alexandrite
(To:TomU)

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?

TomU
23-Emerald IV
(To:khimani_mohiki)


@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

khimani_mohiki
14-Alexandrite
(To:TomU)

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.

TomU
23-Emerald IV
(To:khimani_mohiki)

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.)

Top Tags