Benennungsdienst anpassen (Creo Elements/Direct Drafting)
Der Benennungsdienst verwendet den Windchill Dienst-Delegate-Mechanismus, um das Festlegen der folgenden Einstellungen für das neu zu erstellende CAD-Dokument zu ermöglichen:
• Eine Nummer für das CAD-Dokument festlegen.
• Einen Namen für das CAD-Dokument festlegen.
|
Die Benennungsdienstanpassung beim Hochladen kann vor Windchill 10.0 verwendet werden, um Namen und Nummer mit angepasstem Code zu generieren. Vor Windchill 10.0 sind Parameter jedoch nicht in einer Hochlade-Anfrage für die Benennungsdienstanpassung verfügbar
|
|
Der Benennungsdienst wird nur beim Hochladen verwendet.
|
Bei Benennungsrichtlinien und Anpassungen gilt folgende Reihenfolge.
• Name
a. Anpassung durch den Benennungsdienst.
b. Dateiname. Die Einstellung Namens-Dateierweiterung beim Hochladen weglassen ist nur wirksam, wenn der Name auf Grundlage eines Dateinamens (CAD-Name) zugewiesen wird).
• Nummer
a. Anpassung durch den Benennungsdienst.
b. Dateiname (Die Einstellung Nummern-Dateierweiterung beim Hochladen weglassen ist nur wirksam, wenn der Name auf Grundlage eines Dateinamens (CAD-Name) zugewiesen wird).
Wenn die standardmäßigen Benennungs- und Nummerierungsrichtlinien von Windchill den Anforderungen Ihres Unternehmens nicht entsprechen, können Sie diesen Dienst anpassen, sodass Name und Nummer eines CAD-Dokuments auf dieser angepassten Logik basieren. Gehen Sie wie folgt vor, um den Benennungsdienst anzupassen:
1. Erstellen Sie eine Java-Klasse, die die Schnittstelle EPMDocumentNamingDelegate implementiert. Die Schnittstellendefinition lautet folgendermaßen.
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
Die Definition der DocIdentifier-Klasse lautet folgendermaßen:
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.HashMap;
public class DocIdentifier
{
private String m_modelName;
private String m_docName;
private String m_docNumber;
private HashMap m_parameters;
public DocIdentifier(String modelName, String docName,
String docNumber, HashMap params)
{ m_modelName = modelName; m_docName= docName;
m_docNumber= docNumber; m_parameters= params; }
/** get the CAD Name for the model **/
public String getModelName()
{ return m_modelName; }
/** get the EPMDocument name for the model **/
public String getDocName()
{ return m_docName; }
/** set the EPMDocument name for the model **/
public void setDocName(String docname)
{ m_docName = docname; }
/** set the EPMDocument number for the model **/
public void setDocNumber(String docnumber)
{ m_docNumber = docnumber; }
/** get the EPMDocument number for the model **/
public String getDocNumber()
{ return m_docNumber; }
/** get the Pro/E designated parameters for the model.
These are name-value pairs indexed by the name **/
public HashMap getParameters()
{ return m_parameters; }
}
2. Implementieren Sie mithilfe der folgenden Methode in der neuen Klasse die Geschäftslogik zum Benennen/Nummerieren von CAD-Dokumenten (EPMDocuments):
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
◦ Das DocumentIdentifier-Objekt enthält den Namen und die Nummer des CAD-Dokuments, das vom Hochladedienst erstellt wird.
Verwenden Sie die Funktion
DocIdentifier.getModelName()
, um den CAD-Namen des CAD-Dokuments abzurufen, die dieses DocIdentifier-Objekt darstellt.
◦ Die von der CAD-Anwendung ausgewiesenen Parameter können zum Einstellen der Nummerierung/Benennung von CAD-Dokumenten verwendet werden.
Rufen Sie mit
DocIdentifier.getParameters()
die zugeordneten Parameter ab.
Verwenden Sie die im DocIdentifier festgelegten Methoden, um die neuen Namens-/Nummernwerte einzustellen. Diese Vorschläge werden vom Hochladedienst verwendet, falls sie praktikabel sind. Die Beispielimplementierung befindet sich an folgendem Speicherort:
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. Bearbeiten Sie die Datei site.xconf (in <Windchill>), und fügen Sie die folgende Eigenschaft hinzu, um die Verfügbarkeit des Anpassungsdiensts auf dem Server anzugeben:
<Service context="default" name="com.ptc.windchill.uwgm.proesrv.c11n.
EPMDocumentNamingDelegate" targetFile="codebase/service.properties">
<Option cardinality="singleton" requestor="wt.epm.EPMDocument"
serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocument
NamingDelegate"/>
</Service>
Übernehmen Sie die Änderungen danach mit dem Tool xconfmanager für die Datei service.properties (führen Sie Folgendes aus:
xconfmanager –p
)
Geben Sie den Pfad Ihrer Klasse als Wert für serviceClass an (d.h. ersetzen
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
Sie durch den Pfad Ihrer Klasse).
4. Starten Sie den Methodenserver neu.