Once you have defined Product Models, you can associate Spare Parts to them.
A Spare Part is defined in the catalog, and the same Spare Part can be reused among different Product Models, but the usage may be different (e.g. Quantity, Wear). For example, the same bearing may be inserted once in Model A and three times in Model B, but Model A may have more intensive bearing usage than Model B.
So the usage of a Spare Part by a Product Model is more than a simple relationship, and to define this extra information you can leverage the concept of Spare Part Reference.
A Product Model can be structured in Model Parts, each one referencing a specific set of Spare Parts.
This feature is available for the following modules
SMART SPARE PARTS & CONSUMABLES
Creating Spare Part References
Spare Part References can be directly added to the Product Model o on the sub Model Parts.
Here you will find how to configure a Spare Part Reference in a Model Part.
To create a new Spare Part Reference, you should:
Enter the Catalog / Product Models page.
Select the Product Model where you want to add Spare Part References.
Go down the page and click on the top right Add Model Part button.
Edit the available fields.
Press the Save button.
Enter the newly created Model Part
In the Spare Parts References section, press Add Spare Part Reference.
Edit the available fields and press Save.
Editing a Spare Part Reference
By clicking on a Spare Part Reference, you can edit its properties:
Spare Part: the referenced Spare Part;
Group: an optional label you can specify to better describe where the Spare Part is included (e.g. Top Joint);
Quantity: represent the occurrences of the spare part in the Product Model o Model Part;
Technical Scheme Position: the optional label describing the position (e.g. A1) in the technical scheme, if defined.
Defining Technical Schemes
On a Product Model or Model Part, you can define technical schemes that can be displayed in the Catalog widget by users to navigate complex models. In the Technical Schemes section by clicking the Add Technical Scheme button you can define a new scheme.
A Technical Scheme is described by:
Name: the name which is visible in the DPS within the DPS.
Description: the description of the scheme.
Image: the URL where the scheme image is located.
The image is a public HTTPS URL from which the image can be downloaded.
You can also specify whether the target URL denotes a PNG/JPG image or an SVG.
SVG Scheme
In the scheme definition, you can specify whether the target image is a binary image or an SVG image.
In the case of the SVG, within the Catalog widget, the image is displayed in the box as standard images, but it is also possible to zoom in and pan by using the mouse, or the schema control buttons.
The SVG can also be enriched with interactive elements, for example, allowing you to click on a Model Part or Spare Part directly on the scheme. By default, all text elements became clickable, and when clicked, the text is used to search by position a Spare Part (directly associated to the current level), and if not found a Model Part (directly associated to the current level). In case the clicked position denotes a Spare Part, the details popup is displayed, else in case of Model Part, the sub-level is selected.
This allows the DPS user to visually navigate the schemes of a product model to find the right spare part.
In case you need a more interactive schema, such as highlighting entire sections of the machine, you can redefine the JavaScript function responsible for making elements clickable on mouseover.
To do this you need to register the following filter in the custom filters components and redefine the transform method according to the desired result you want to achieve.
exports.svgProductSchemaTransformer = function() {
function SVGProductSchemaTransformer() { }
SVGProductSchemaTransformer.prototype.transform = function(svg, args) {
svg.find("text").each(function() {
let position = $(this).text();
if (position && args.svgPositionMap && args.svgPositionMap[position]) {
let objectByPosition = args.svgPositionMap[position];
const options = { clickableObject: objectByPosition, clickableClass: args.clickableClass };
appUtils.getCatalog().addSvgClickableElement(this, options);
}
});
};
return SVGProductSchemaTransformer;
}();
The above filter receive the SVG element that is used to find all text elements and transform them to clickable elements.
Depending on how the SVG is structured, you can redefine the schema transformer function to make whole parts of the schema clickable, and not just the number or position label.
When the "addSvgClickableElement" function is invoked, the element is enriched with the CSS class named "svg-clickable" which is responsible to change how the element is displayed when the mouse passes over it (e.g. stroke color).
svg text.svg-clickable:hover{
stroke: var(--accent-color) !important;
cursor: pointer;
font-size: larger;
}
In the "options" parameter you can pass a custom CSS class to be added to the clickable element.
const options = {"technicalSchemePosition": $(this).text(), "clickableClass": "my-css-class", ...context};
You can edit your custom class into the Appearance / CSS page.
Importing Spare Part References
If your product is complex and uses hundreds of Spare Parts, you can leverage the Import/Export function to manage references and Model Parts.
By entering the Product Model, over the Spare Part References section you can find the Import and Export buttons.
The Import is expecting a CSV with this format:
Spare Part Code,Quantity,Group,Model Part,Technical Scheme Position
SP000001,1,Group1,ModelPart1,10
SP000002,2,Group2,ModelPart2,20
In the CSV, you can specify the Model Part name where this Spare Part Reference must be created. The Model Part name can be nested by using the pipe separator (e.g. sealer|heater). During the import, missing Model Parts are automatically created. Model Parts will be created with the name only, while the other properties must be filled in manually (e.g. Description, Schemes).
If for a Spare Part Reference, the Model Part is not specified, the reference is directly created under the Product Model.