Hi @rhudd ,
the modelItem widgets will refer to 2 things
1.) to the modelWidget Id.
2.) to the Component Occurrence property // with other words the component id path
This means that you can set the model widget referenced the the modelItems to another model file / .pvz file. This will be not a problem. Here the requirements that this work / or that this make sense (because it could work but in some configuration it will not make sense) -> so it requires that the components will have the same occurrence / id path as the original assembly:

For example I have replaced the model 3dGauge1.pvz by the model bla-bla.pvz.
And this was working without problem because the both models contains a component with the same component occurrence /idpath / and here it make sense because it is the same geometry on the same position.
- Another approach is the following:
If you have a view / here I will consider the default “Home” view
So you can find then in your Vuforia Studio project folder
src\phone\components the View.json – here in my case Home.json file
Here for example we can find:
....
"name": "twx-container-content",
"children": [
{
"attributes": {
"twx-widget": "",
"widget-id": "3DContainer-1",
"widget-name": "3D Container",
"is-widget-container": "true",
"dropshadow": "true"
},
"name": "twx-dt-view",
"children": [
{
"name": "twx-container-content",
"children": [
{
"attributes": {
"twx-widget": "",
"widget-id": "spatialTarget-1",
"widget-name": "spatialTarget-1",
"trackinglost-expression": "LostTrackEvent();",
"rx": "-90"
},
"name": "twx-dt-target-spatial"
},
{
"attributes": {
"twx-widget": "",
"widget-id": "3dgauge",
"widget-name": "3dgauge",
"is-widget-container": "true",
"src": "Uploaded/3dgauge1_Med.pvz",
"scale": "1.0000",
"x": "0.0000",
"y": "0.0050",
"z": "-0.0030",
"rx": "0.00",
"ry": "0.00",
"rz": "0.00"
},
"name": "twx-dt-model",
"children": [
{
"name": "twx-container-content",
"children": [
{
"attributes": {
"twx-widget": "",
"widget-id": "scaleArrow",
"widget-name": "scaleArrow",
"is-widget-container": "true",
"model": "3dgauge",
"idpath": "/41",
"scale": "1.0000",
"x": "0.0000",
"y": "-0.0000",
"z": "0.0000",
"rx": "90.00",
"ry": "0.00",
"rz": "90.00"
},
"name": "twx-dt-modelitem",
"children": [
{
"name": "twx-container-content"
}
]
}
...
This is text, json file where you can find all definition of widgets. Here in the snipet the moelWidget and one modelItem widget.
If you know what you want to replace you can replace also the ModelWidget id and also id path. This will make sense for example if you have 2 assemblies where the first assembly is subassembly of the second assembly and you want to replace the both model.
For example in this could make sense to replace the component occurrence
Replace the component occurrence property /41 by the idPath /1/41
"model": "3dgauge",
"idpath": "/41",
Here the idPath /1 will refer to the subassembly 3dGauge1.pvz which is now subassembly (with idPath=1) of bla-bla.pvz (this is now the root assembly)
"model": "bla-bla",
"idpath": "/1/41",
Here the model means the id of the model widget. If you use the same model Widget then you need to change only the idpath.