Ask our Experts
Didn't find what you are looking for? Ask our experts!
New Community Ranking System
Our Community ranking system has recently been updated. You may notice changes in user rankings and receive system messages or notifications. If you have questions about how the new ranking works, please refer to the announcement post for more details (click here).
This knowledge base is addressing usage of software Experior, Machine Expert Twin and future Automation Expert Twin. These softwares are used to create smaller instances of digital twins for use in industrial automation, warehouse management, design & engineering with more..
Search in
Please select a country to continue with beta search.
Link copied. Please paste this link to share this article on your social media post.
on 2026-01-08 05:46 AM
public class EuroPallet : Load
{
public EuroPallet(PalletInfo info) : base(info)
{
Part = new PalletPart(info.randomcolor ? Colors.GetRandomColor() : Info.color, // Part color
1.2f, 0.144f, 0.8f, // Part size (Length, Height, Width)
info.density, // Part density
EmbeddedResources.EmbeddedResourceLoader.Get("EUROpallet.dae"), // Get embedded 3D model resource
info.rigid, // Define Rigid shape
this); // ILoad parent
Part.Position = Info.position;
Part.Orientation = Info.rotation;
info.height = ((PalletPart)Part).Height;
info.length = ((PalletPart)Part).Length;
info.width = ((PalletPart)Part).Width;
info.color = Part.Color;
}
}internal class PalletPart : Dynamic
{
private EmbeddedResource resource;
private int textureId = -1;
[Browsable(false)]
public override int TextureId =>; textureId;
public PalletPart(Color color, // Part color
float length, // Part length
float height, // Part height
float width, // Part width
float density, // Part density
EmbeddedResource resource, // Embedded resource file reference
Rigids rigid, // Rigid shape
ILoad parent) // ILoad parent
: base(parent)
{
try
{
this.density = density;
this.resource = resource;
// Import Embedded resource mesh, its meshdata color and ID reference to mesh texture
Importer.GetMesh(resource, out meshData, out this.color, out textureId);
// At the time of writing, Experior handles Load coloring with 2 special cases by:
// * transparent = random color
// * black = mesh color
// This if clause means if (input) color != black, set mesh color (this.color) to input color
// if (input) color is black, it uses outed mesh color (this.color) as load color
// Color handling is to be refactored in a future Experior major version.
if (color != System.Windows.Media.Colors.Black)
{
this.color = color;
}
this.rigid = rigid;
scale = new Vector3(1, 1, 1);
Vector3 size = MeshData.BoundingBox.Size;
// Calculate proper scalar based on mesh bounding box size
if (length > 0 && height > 0 && width > 0)
{
scale = new Vector3(length / size.X, height / size.Y, width / size.Z);
}
// Define center of mass point
centerofmass = new Vector3(0, -Height / 2.5f, 0);
Observers.MeshObjectObserver.Added(this);
}
catch (Exception se)
{
Log.Write(se, 0933886);
}
}
}public static Load CreateEuroPallet(string barcode, float density, Color color, Rigids rigid)
{
var info = new PalletInfo
{
barcode = barcode,
rigid = rigid,
density = density,
color = color
};
var load = new EuroPallet(info);
// Position the load at half the load's height. (Positions the load from its centerpoint).
load.Position = new Vector3(0, load.Height / 2, 0);
// Add to collection of loads added to the scene.
items.Add(load);
return load;
}Feeder Assembly as it is placed in Experior, not selected.
Feeder and the EuroPallet load type created (random colour applied).
Link copied. Please paste this link to share this article on your social media post.
You’ve reached the end of your document
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.