Jump to content

überflüssige Schlagwörter


jloos

Empfohlene Beiträge

Hallo, 

ich bitte die Lua-Experten noch mal um ein Tool.

Mit der Zeit vermehren sich die Schlagwörter. Einige haben gar keine Funktion mehr. Über die Bauteilliste mit F3 könnte man sich die Verwendung jedes Schlagwortes anzeigen lassen. 

Kann man das auch als Liste bekommen, so daß man die nicht verwendeten Schlagwörter leichter finden kann? 

Ich würde mich darüber sehr freuen

Danke schon mal, 

Jürgen 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb jloos:

Kann man das auch als Liste bekommen ..?

Hallo Jürgen,

Du kannst die F3 Liste nach Schlagwort filtern, sprich dir nur die Modelle anzeigen lassen, welche ein bestimmtes Schlagwort haben.
Dafür ist die Lupe oben rechts in der Strukturansicht.

Deine Schlagwörter findest du unter den Variablen:

162017685_SchlagwortListe.jpg.879e5f00c9ae39bb01e3a7ec052124ac.jpg

 

entspricht das dem, was du suchst?

Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

ergänzend:
Du benötigst keine Lua Kenntnisse, um ein nicht mehr benötigtes Schlagwort mit einer einzigen Aktion aus allen Objekten auf der Anlage zu entfernen:

 

Schlagwort löschen.jpg

 

Wenn du es gerne in Lua haben möchtest, würde ich folgende Schreibweise empfehlen:

local Wort = "Beispiel"
local Liste = layout:getEntitiesByKeyword(Wort)

for i, Objekt in ipairs(Liste) do
  Objekt.variables[Wort] = nil
end

 

Viele Grüße
Götz

Bearbeitet von Goetz
Skript hinzugefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello, it should be nice if we can find all objects + keyword  that have a keyword in a layout. Without knowing the name of the keywords. (*)
Hallo, es wäre schön, wenn wir alle Objekte + Schlüsselwort finden könnten, die ein Schlagwort in einem Layout haben. Ohne den Namen der Schlagworter zu kennen. (*)

(*) I found an easy solution for my problem that is sufficient.  Ich habe eine einfache Lösung für mein Problem gefunden, die ausreichend ist.  
(*) Ich habe eine einfache Lösung für mein Problem gefunden, die ausreichend ist.  

keywords.thumb.jpg.6979c5f51513b883b9a46c2dabb0c95b.jpg

This list is enough for me, to have a quick look at what keywords are already used in this layout. To keep new ones unique.
Diese Liste reicht mir aus, um einen kurzen Blick darauf zu werfen, welche Schlagworter bereits in diesem Layout verwendet werden. Damit neue einzigartig bleiben.

Regards, Herman

Bearbeitet von Herman
clarification
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Goetz:

entspricht das dem, was du suchst?

Hallo Goetz, 

das ist nicht das, was ich mit vorstelle. Eine Liste aller Schlagwörter und das betreffende Objekt. 

Die Liste läßt sich dann mit einem Editor nach Belieben sortieren. 

Gruß Jürgen 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dazu müßte es eine Lua Funktion geben, die alle Variablen eines Objekts durchgeht.
Und für die Schleife: "Für alle Objekte mit einem Schlagwort" müßte man "*" als Suchkriterium angeben können für das Schlagwort.
Damit könnte man Variablen als Schlagwort identifizieren und in eine Liste schreiben.
Vielleicht baut @Neo das mal irgendwann ein?

Gruß
Thomas

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hello, I could not resist.  Hallo, ich konnte nicht widerstehen9_9

layout:enumEntities(
  function (AnObject)
    for k, v in pairs(AnObject.variables) do
      if v == keyword then
        print(AnObject.name)
        print("key : " .. k )
      end
    end
  end
)

or ( tipp from Hannoverner see next post)

layout:enumEntities(
  function (AnObject)
    OldObj = nil
    for k, v in pairs(AnObject.variables) do
      if v == keyword then
        if AnObject == OldObj  then
        else
          print(AnObject.name)
        end
        print("key : " .. k )
        OldObj = AnObject
      end
    end
  end
)

All objects in a layout with a keyword + keyword. Gives
Alle Objekte in einem Layout mit einem Schlagwort + Schlagwort Gibt :

Example 2 objects have each two keywords here. Beispiel 2 Objekte haben hier jeweils zwei Schlüsselwörter.

Keywords03.jpg.d20fc79551e4e38f1b5c1b40546f89cb.jpg
But not very practical, only an exercice, regards Herman Aber nicht sehr praktisch, nur eine Übung, Grüße Herman

Bearbeitet von Herman
Tipp from Hannoverner
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 19.11.2022 um 19:36 schrieb Herman:

Aber nicht sehr praktisch, nur eine Übung

Hallo Herman,

ja, das hat schon sehr viel schönes.

Vor AnObject.name habe ich noch "Objekt : " eingefügt, die Reihenfolge geändert und in eine Reihe geschrieben.

Meine Hoffnung, Objekt und Key in eine Reihe zu bringen hat sich dadurch nicht ergeben.

layout:enumEntities(
  function (AnObject)
    for k, v in pairs(AnObject.variables) do
      if v == keyword then

        print("key : " .. k ) print("Objekt : " .. AnObject.name)

      end
    end
  end
)

 

So sieht das bei mir aus:

[08:51:19] Schalter wird betätigt -> Taster Schlagwörter auflisten, 1
[08:51:19]     Schalter wird betätigt
[08:51:19]         key : Abstellgleise durchsuchen
[08:51:19]         Objekt : GTK-Brems-Rangierbahnhof 03
[08:51:19]         key : Abstellgleis im Rangierbahnhof
[08:51:19]         Objekt : 9101
[08:51:19]         key : Vorbremsen
[08:51:19]         Objekt : GKT Vorbremsen 04
[08:51:19]         key : Vorbremsen
[08:51:19]         Objekt : GKT Vorbremsen 07
[08:51:19]         key : FS Strecke
[08:51:19]         Objekt : GKT FS Strecke 01
[08:51:19]         key : FS aus SB
[08:51:19]         Objekt : H/V Signal SB 18
[08:51:19]         key : freies Gleis im SB2 finden
[08:51:19]         Objekt : GKT FS Strecke 02
[08:51:19]         key : FS aus SB
[08:51:19]         Objekt : H/V Signal SB 04
[08:51:19]         key : Signal
[08:51:19]         Objekt : H/V Signal Bahnhof  rechts 01
 

Ich möchte damit eine Pivot Tabelle machen. Dementsprechend muß ich das noch ein bißchen bearbeiten.

Vielen Dank erstmal

Gruß Jürgen

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...