Parameter im Herunterladedienst anpassen
Vordefinierter Delegate
Windchill bietet einen vordefinierten Mechanismus, um zusätzliche Informationen zum CAD-Dokument als benutzerdefinierte Systemparameter zu übergeben.
Legen Sie zum Anpassen der Parameter die serverseitige Einstellung Workgroup Manager Client > Zuordnung von benutzerdefinierten Systemattributen und Dateieigenschaften auf Standortebene fest.
Der Wert ist eine Liste zusätzlicher Attribute von Objekten, die zu dem CAD-Dokument gehören und die im CAD-Tool als Parameter oder Eigenschaften angezeigt werden.
Der Wert ist eine kommagetrennte Liste von Paaren aus CAD-Eigenschaften und Windchill Attributen im folgenden Format:
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
Dabei gilt:
Wert
Beschreibung
Zulässige Werte
name_of_CAD_property
Dies ist der Name des Parameters oder der Eigenschaft im CAD-Tool.
PART_REVISION
relatedObjectCode
Dies ist die Zeichenfolge, die verwendet wird, um das zugehörige Objekt zu identifizieren.
docMaster
associatedPart
relatedECN
promote
WindchillAttributeName
Dies ist der logische Name oder der interne Name des Attributs in Windchill für das zugehörige Objekt.
Soft-Type-Attribute für CAD-Dokument-Master
Teileattribute
Soft-Type-Attribut für das zugehörige Teil des Typs "Boolesch", "Datum", "Ganzzahl", "Reell", "Reell mit Einheiten" oder "Zeichenfolge"
lifeCycleState
lifecycleTemplate.name
name
number
orgid
view.identity
partType
Für zugehörige ECN
number
orgid
resolutionDate
Für promote
number
promotionDate
orgid
approvers
approveDates
reviewers
reviewDates
* 
Bei Soft-Type-Attributen sind Werte, die an das CAD-Tool gesendet werden, die Anzeigewerte, wie sie auf der Informationsseite des Objekts angezeigt werden. Anzeigewerte verwenden die Einstellungen für die Attributhandhabung und die Typ- und Attributverwaltung, unterstützen jedoch keine komplexen Darstellungsanpassungen mithilfe von Datendienstprogrammen zum Rendern.
Beispielsweise folgen das Prüfdatum und das Genehmigungsdatum der Einstellung Typ- und Attributverwaltung für Datums-Anzeigeformat als dd-MM-jj.
Diese Funktion kann nur verwendet werden, wenn kein benutzerdefinierter serverseitiger Delegate CustomModeledAttributesDelegate vorhanden ist, der zum Einfügen von Parametern verwendet werden kann (siehe nächster Abschnitt unten für "Benutzerdefinierter Delegate").
Für das zugeordnete Teil:
Diese Funktion unterstützt Teile, die zu dem CAD-Dokument gehören, mit einem Besitzer, beitragendem Bild, Bild und beitragendem Inhalt.
Die ausgewählte Teileversion ähnelt der Teiletabelle auf der Informationsseite für das CAD-Dokument.
Wenn mehr als eine Revision desselben Teils mit dem CAD-Dokument verknüpft ist, wird die neueste Revision jedes Teils zurückgegeben.
Es kann mehr als ein Teil zurückgegeben werden, wenn das System so konfiguriert ist, dass mehrere Build-Zuordnungen zulässig sind, wobei die serverseitige Einstellung Operationen > Automatisch zuordnen > Zulassen, dass ein CAD-Dokument mehrere Teile erstellen kann auf Ja festgelegt sein muss. In diesem Fall werden die Informationen für jedes zugehörige Teil in einem durch Trennzeichen getrennten Format zurückgegeben. Das verwendete Trennzeichen wird durch die serverseitige Einstellung Workgroup Manager Client > Trennzeichen für benutzerdefinierte Systemattribute für mehrere zugehörige Objekte definiert.
Für die zugehörige Änderungsnachricht:
Wenn die Revision des CAD-Dokuments an der Änderungsnachricht als Ergebnisobjekt teilnimmt, werden die Attribute zu der Änderungsnachricht an den CAD-Parameter gesendet.
Wenn die Revision des CAD-Dokuments an mehr als einer Änderungsnachricht teilnimmt, wird das verwendete Trennzeichen durch die serverseitige Einstellung Workgroup Manager Client > Trennzeichen für benutzerdefinierte Systemattribute für mehrere zugehörige Objekte definiert.
Die zurückgewiesenen Änderungsnachrichten werden nicht aufgelistet.
Für den Erhöhungsantrag:
Wenn die Version des CAD-Dokuments am Erhöhungsantrag teilnimmt, werden die Attribute des Erhöhungsantrags an den CAD-Parameter gesendet.
Wenn die Version des CAD-Dokuments an mehr als einem Erhöhungsantrag teilnimmt, wird das verwendete Trennzeichen durch die serverseitige Einstellung Workgroup Manager Client > Trennzeichen für benutzerdefinierte Systemattribute für mehrere zugehörige Objekte definiert.
Der zurückgewiesene Erhöhungsantrag wird nicht aufgelistet.
* 
resolutionDate basiert auf der Änderungsnachricht für das CAD-Dokument. Das Datumsformat kann durch Festlegen des Formats in der Typ- und Attributverwaltung konfiguriert werden. Formatieren Sie das Attribut Änderungsnachricht mit dem internen Namen resolutionDate.
promotionDate basiert auf dem Erhöhungsantrag, der sich auf das CAD-Dokument bezieht. Das Datumsformat kann durch Festlegen des Formats in der Typ- und Attributverwaltung konfiguriert werden. Formatieren Sie das Attribut Erhöhungsantrag mit dem internen Namen promotionDate.
approveDates und reviewDates basieren auf der Aufgabe, die sich auf den Erhöhungsantrag bezieht. Das Datumsformat kann durch Festlegen des Formats in der Typ- und Attributverwaltung konfiguriert werden. Formatieren Sie das Attribut Aufgabe mit dem internen Namen thePersistInfo.modifyStamp.
Benutzerdefinierter Delegate
Wenn Ihr Geschäftsprozess erfordert, dass andere Attribute an das CAD-Tool kommuniziert werden, stellt Windchill einen serverseitigen Delegate bereit, der nach dem Download zum Einfügen von Parametern in ein Creo Parametric Modell verwendet werden kann. Mit diesem Mechanismus lassen sich Informationen vom Server an Creo Parametric weitergeben, wo sie dann wie andere Creo Parametric Parameter verwendet werden können (z.B. zum Platzieren von Information in Zeichnungsformularen). Mit "PTC" oder "PROI" beginnende Parameter gelten als vom System reservierte Parameter, die nicht durch die Anpassung übertragen werden können. Werden solche Parameter bei der Anpassung hinzugefügt, werden sie vom Herunterladedienst ignoriert.
* 
Diese Funktionalität ist bei allen Windchill Workgroup Manager verfügbar, die in CAD-Tools von Drittanbietern integriert werden können.
* 
Die angepassten Parameter werden beim Herunterladen für den Client bereitgestellt, und – im Gegensatz zu Systemparametern wie PTC_WM_ITERATION – nicht in der Creo Parametric Sitzung oder dem lokalen Cache aktualisiert, nachdem eine Windchill Operation wie "Einchecken" ausgeführt wurde.
Wenn einem angepassten Parameter z.B. der Wert der CAD-Dokumentnummer zugewiesen ist, wird dieser Wert beim Herunterladen des Modells für den Client bereitgestellt. Wird das CAD-Dokument später neu nummeriert, wird der Wert in der Creo Parametric Sitzung oder im Client-Cache nicht automatisch aktualisiert.
Der Delegate-Mechanismus des Windchill Dienstes wird verwendet, um die Anpassung zu ermöglichen. Die folgenden Schritte bieten einen Überblick über den Anpassungsprozess:
1. Erstellen Sie eine Java-Klasse, die die Schnittstelle ModeledAttributesDelegate an einem kundenspezifischen Speicherort unabhängig von den PTC Klassen implementiert (z.B. <WT_HOME>\com\acme). Die Schnittstellendefinition lautet folgendermaßen:
package com.acme.download;
import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate;
import java.util.Iterator;
import wt.epm.EPMDocument;
import wt.fc.collections.WTCollection;
import wt.fc.collections.WTHashSet;
import wt.preference.PreferenceHelper;
import wt.util.WTException;
/**
* When CustomizedModeledAttributesDelegate is configured following modeled attributes would be added to the CAD
* Document, which would be combination of custom CURRENT_DATE parameter along with Parameters configured in mentioned
* preference "Mapping Custom System Attributes and File Properties". For eg.When preference "Mapping Custom System
* Attributes and File Properties" set with value as
* -CREO_PART_REVISION:associatedPart.revision,CREO_PART_VIEW:associatedPart.view.identity,ECN_NUMBER:relatedECN.number
* Modeled attributes on CAD Document would be- CREO_PART_REVISION=A, ECN_NUMBER=00192, CREO_PART_VIEW=Design,
* CURRENT_DATE=2023/10/11 05:07
*/
public class CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate {
private static final String CUSTOM_SYSTEM_PARAMS_PREF = "system.attribute.mapping.custom";
private static final String PROE = "PROE";
private static final String CURRENT_DATE = "CURRENT_DATE";
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type> @Override
public HashMap getAvailableAttributes() {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() :Returning an empty list of modeled Attributes.");
return new HashMap();
}
/**
* Returns a map of modeled attributes for the EPMDocument objects in the provided collection. This method retrieves
* the modeled attributes from the PTC default implementation.
*
* @param collection a collection of EPMDocument objects for which to retrieve the modeled attributes
* @return a map of modeled attributes for the provided EPMDocument objects
* @throws WTException if an exception occurs while retrieving the modeled attributes
*/
@Override
public HashMap getModeledAttributes(
final Collection collection)
throws WTException {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() ");
String prefValue = (String) PreferenceHelper.service.getValue(CUSTOM_SYSTEM_PARAMS_PREF,
PROE);
System.out.println("CustomizedModeledAttributesDelegate prefValue " + prefValue);
HashMap objVsAttrNameVsValue = new HashMap();
// Fetching only EPMDocuments from input collection.
WTCollection inEPMDocs = new WTHashSet(collection).subCollection(EPMDocument.class);
Iterator persistableIterator = inEPMDocs.persistableIterator();
if (prefValue != null && (!prefValue.isBlank())) {
while (persistableIterator.hasNext()) {
EPMDocument anEPMDoc = (EPMDocument) persistableIterator.next();
objVsAttrNameVsValue = super.getModeledAttributes(collection);
Map<String, String> attrNameVsValueMap = (Map<String, String>)objVsAttrNameVsValue.get(anEPMDoc);
assertTrue(attrNameVsValueMap != null);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
LocalDateTime now = LocalDateTime.now();
attrNameVsValueMap.put(CURRENT_DATE, dtf.format(now).toString());
System.out.println("CustomizedModeledAttributesDelegate attrNameVsValueMap " + attrNameVsValueMap);
return objVsAttrNameVsValue;
}
}
System.out
.println("Could not find CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate");
return objVsAttrNameVsValue;
}

} // end class
2. Die von PTC bereitgestellten benutzerdefinierten Systemattribute sind standardmäßig im DefaultModeledAttributesDelegate verfügbar. Die Datei site.xconf (in <Windchill>) kann jedoch so geändert werden, dass sie auf den Anpassungsdienst auf dem Server verweist:
Verwenden Sie den Pfad Ihrer Klasse als Wert von serviceClass (das heißt, ersetzen Sie com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate durch den Pfad Ihrer Klasse). Beispiel:
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.acme.download.CustomizedModeledAttributesDelegate"/>
</Service>
Verwenden Sie das Tool xconfmanager, um die Änderungen für die Datei service.properties zu übernehmen (führen Sie xconfmanager -p aus).
3. Starten Sie den Methodenserver neu.
War dies hilfreich?