Hello,
I have to find all models where function has an occurrence. I'm looking for functions (I'm done with it), but I could not move further. I wanted to use object function OccList(), but how to get models for these occurrences?
Thanks.
Hello,
I have to find all models where function has an occurrence. I'm looking for functions (I'm done with it), but I could not move further. I wanted to use object function OccList(), but how to get models for these occurrences?
Thanks.
Hi!
There could be models with identical names. It is better to use model GUID as a key or ArisData.Unique() method to ensure models in list are unique.
var oFuncDef = ...
var oLV = new Object;
var aModels = new __map(); //defined in convertertools.js
oLV.aOccs = oFuncDef.OccList();
for (var i=0; i<oLV.aOccs.length; i++)
{
oLV.oOcc = aOccs[i];
oLV.oModel = oLV.oOcc.Model();
if (!aModels.ContainsKey(oLV.oModel.GUID())
{
//This model has not been found yet
aModels.Insert(oLV.oModel.GUID(), oLV.oModel);
}
}
delete oLV.aOccs;Hope, this helps.
Thanks a lot for your responses. It will work, I'm sure, but I have a question: Aris's Help says that function Model() returns the model "in which the occurrence is drawn as a model". That is what I need?
Thanks.
Yes it is. The phrase "as model" means that function return type is "model".
Hi,
Can you please explain this code?Why we are creating an array modellist and why to use push?
Shashi Pal on
Hi Albina,
you could try this
var g_nloc=Context.getSelectedLanguage();
var oselectedObject=ArisData.getSelectedObjDefs();
for(var i=0;i<oselectedObject.length;i++){
var modellist=new Array();
occurentobject=oselectedObject[i].OccList();
for(var j=0;j<occurentobject.length;j++){
if(modellist.contains(occurentobject[j].Model().Name(g_nloc) ) == false){
modellist.push(occurentobject[j].Model().Name(g_nloc));
}
}
}
please import Common files/commonUtils.js otherwise it will give error in contains .
regards