If its simply using different shapes you could do that with custom shapes built into Sparx EA natively. You need to enable the custom diagram toolbar via Start>Preferences>toolbars...>Custom Draw Style to use it.
If you what to do something more fancy like having a graphic represent an object similar to the UK defence demo then you can build that into an MDG using shapescript on the element stereotype which conditions on the stereotype of a diagram. A diagram can then show either the graphic of the native shape depending on value of diagram stereotype. See example below.
I saw that demo from UK defence and looked it was very impressive on what they did but noting it would have also required a lot of work to create an MDG like that.
To reference an image in shapescript associated with a stereotype you need to load the images into the model and have a shapescript that does something like this which I did some time ago for Enterprise Application Integration Patterns. Here is example of file transfer pattern script reference.
https://www.enterpriseintegrationpatterns.com/patterns/messaging/FileTransferIntegration.htmlshape main
{
layouttype="border";
image("EAI::FileTransfer",0,0,100,100);
addsubshape("name","S");
shape name
{
h_align="center";
print("#NAME#");
}
}
Here is another example of a script that represents an archimate workpackage changing its shape if the diagram has a stereotype of "Sunray" in which case it shows the workpackage as a circle with name outside of shape otherwise the usual archimate workpackage shape. You can probably combine these two to show the image or native shape you want depending on value of diagram stereotype.
// Work Package
shape main
{
layouttype="border";
noshadow=true;
if(hasproperty("diagram.stereotype","Sunray"))
{
defsize(20,20);
startpath();
setfillcolor(getuserbordercolor());
ellipse(0,0,100,100);
endpath();
fillandstrokepath();
}
else
{
defsize(90,70);
startpath();
roundrect(0,0,100,100,20,20);
endpath();
fillandstrokepath();
addsubshape("padding","n");
addsubshape("name","center");
}
shape padding
{
preferredheight=20;
}
shape name
{
h_align="center";
v_align="top";
print("#name#");
}
}
shape label
{
setorigin("n",0,0);
if(hasproperty("diagram.stereotype","Sunray"))
{
setorigin("w",0,0);
// print("#alias# - #name#");
print("#name#");
}
}
If you are creating your own MDG there is an example of extending ArchiMate in Git Hub.
You can find the model I originally used to create Archimate Extension on GitHub.
https://github.com/EASunshine/Sparx-EA/Download the file EAMDGProfile.zip - Has Full EA Model and files, icons etc to create a ArchiMate MDG Extension.
Instructions on how to build the MDG can be found in model.
Noting that creating an MDG is full of traps for young players so hopefully that example will help you up the learning curve.
Hope that helps.