Filterfunktion Textbaustein

Fragen, Anmerkungen und Hilfestellung zu DESITE MD/CUSTOM/SHARE

Filterfunktion Textbaustein

Beitragvon lwstudent » Mo 14. Mai 2018, 16:16

Hallo,
ich möchte gerne nach einem Textbaustein filtern, zoomen und anschließend selektieren. Dazu habe ich folgenden Code geschrieben:

[/code]var modelList = desiteAPI.getModelListByDomain("geometry");
var root = desiteAPI.getRootNodeByModel(modelList[0]);
var elements = desiteAPI.getContainedElements(root, 0);
var selection = "";
desiteAPI.clearSelection(false);

for(var i=0; i < elements.length; i++){
var sel = desiteAPI.filterElements(elements[i], 'ImportFileName', 'xs:string', '*FAR*');
if(sel){
selection += elements[i];
selection += ";";
}
}
desiteAPI.selectElements(selection, true);
desiteAPI.zoomToSelected();
desiteAPI.showElementsOnly(selection);
desiteAPI.repaint3DView();[/code]

Damit möchte ich erreichen, dass alle Elemente, welche an beliebiger Stelle "FAR" im ImportFileName besitzen, angezeigt und selektiert werden. Ich habe jetzt mehrere Varianten ausprobiert und die Schleife läuft endlos und kommt zu keinem sinnvollem Ergebnis. Wie kann man den mittleren Teil optimieren?
LG
lwstudent
 
Beiträge: 1
Registriert: Mo 14. Mai 2018, 15:24

Re: Filterfunktion Textbaustein

Beitragvon AlexRensch » Di 15. Mai 2018, 06:59

Hallo lwstudent,

Am besten benutzen Sie den Iterator der AutomationAPI, um die gewünschten Objekte zu filtern:
Code: Alles auswählen
desiteAPI.clearSelection(false);
// Filtern aller Geometrieobjekte, die im ImportFileName 'FAR' enthalten
desiteAPI.itClear();
desiteAPI.itByFilter('ImportFileName', 'xs:string', '*FAR*', true, 'geometry');
var selection = desiteAPI.itGetObjectList();

// Setzen des Zooms und der Selektion, wie zuvor
desiteAPI.selectElements(selection, true);
desiteAPI.zoomToSelected();
desiteAPI.showElementsOnly(selection);
desiteAPI.repaint3DView();


Dieser Code filtert über alle Geometrieobjekte aller Modelle. Wenn Sie nur ein bestimmtes Modell betrachten wollen, filtern Sie einfach zuerst den ImportFileName auf den gewünschten Dateinamen.
VG, Alexander Rensch
ceapoint
AlexRensch
 
Beiträge: 24
Registriert: Mi 4. Mai 2016, 09:27


Zurück zu DESITE MD / CUSTOM / SHARE

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron