EASY Geschrieben 7. Februar Geschrieben 7. Februar Hallo @Neo, Bei meinen Versuchen mit der Überarbeitung vom Plugin "Objektreihen Setzen" bin ich auf folgendes Problem gestoßen... Um eine Gruppe aus meinen Kopien zu erzeugen wird... {"jsonrpc": "2.0", "method": "editor.groupEntities", "params": [{"_class": "entity", "name": "20' Container (xxx)"}, {"_class": "entity", "name": "20' Container (xxx)"}, ... "id": 1} verwendet. Ich habe also x mal {"_class": "entity", "name": "20' Container (xxx)"} im Kommandostring. Ab einer bestimmten Anzahl steigt das System aus und gibt eine Fehlermeldung zurück. Details: Informationen über das Aufrufen von JIT-Debuggen anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung. ************** Ausnahmetext ************** System.IO.IOException: In die Übertragungsverbindung können keine Daten geschrieben werden: Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer abgebrochen. ---> System.Net.Sockets.SocketException: Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer abgebrochen bei System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) --- Ende der internen Ausnahmestapelüberwachung --- Dies führt mich zu der Frage, ob es so etwas wie eine maximale Zeilenlänge für die Kommandozeile gibt? Oder kann es dafür noch andere Gründe geben? Gruß EASY
Neo Geschrieben 8. Februar Geschrieben 8. Februar vor 10 Stunden schrieb EASY: Dies führt mich zu der Frage, ob es so etwas wie eine maximale Zeilenlänge für die Kommandozeile gibt? Das Studio selbst setzt keine expliziten Grenzen, die verwendete Netzwerkkomponente scheint aber eine Textzeile auf 16k zu begrenzen (ich kann es aktuell nicht testen). Wenn es an dieser Grenze scheitert, kann ich sie in einem nächsten Update aber vergrößern. Viele Grüße, Neo
EASY Geschrieben 8. Februar Autor Geschrieben 8. Februar Hallo @Neo, mal so als Überlegung: um nicht der Lästigkeit zu unterliegen eventuell eine sehr lange Kommandozeile erzeugen zu müssen, wäre es möglich, daß man einer bestehenden Gruppe Elemente hinzufügen kann. So könnte man auch (später) einer Gruppe Elemente hinzufügen, ohne daß man sie zuvor auflösen muß. Die gleiche Überlegung wäre auch beim Selektieren von Objekten (bei der alten Schnittstelle gab es dafür noch ein Parameter [Hinzufügen / nicht hinzufügen]...) P.S. kannst Du auch gerne in Feature Wünsche verschieben... Gruß EASY
EASY Geschrieben Montag um 17:27 Uhr Autor Geschrieben Montag um 17:27 Uhr Hallo @Neo, Am 8.2.2025 um 09:55 schrieb Neo: Das Studio selbst setzt keine expliziten Grenzen, die verwendete Netzwerkkomponente scheint aber eine Textzeile auf 16k zu begrenzen (ich kann es aktuell nicht testen). Wenn es an dieser Grenze scheitert, kann ich sie in einem nächsten Update aber vergrößern. ... konntest Du schon testen? Nachdem Du an anderer Stelle an @gmd geschrieben hast... Zitat Sind dir die Batch Requests von JSON-RPC bekannt? Du kannst auch mit der neuen Schnittstelle eine Gruppe von Einzelkommandos versenden, in dem du die Requests als JSON-Array versendest. Dieses Array wird immer in einem Stück verarbeitet, dazwischen gibt es keine anderweitige Unterbrechnung durch das Studio. ... wäre für mich schon interessant ob der "Fehler" beim MBS liegt, denn damit kommt man noch schneller an die Grenze... Gruß EASY
gmd Geschrieben Dienstag um 03:52 Uhr Geschrieben Dienstag um 03:52 Uhr Neo, Easy, Testergebnis: String - nur teilweise zur veranschaulichung [{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6001)@-001"}, "id": 1},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6003)@-002"}, "id": 2},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6030)@-003"}, "id": 3},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6003)@-008"}, "id": 4},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6003)@-009"}, "id": 5},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6030)@-010"}, "id": 6},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6001)@-011"}, "id": 7},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6001)@-012"}, "id": 8},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6030)@-013"}, "id": 9},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params": {"_class": "entity", "name": "(6036)@-004"}, "id": 10},{"jsonrpc": "2.0", "method": "editor.getEntityContentID", "params .......} ] habe 120 dieser commands erfolgreich versendet - getestet mit Putty Bei 160 macht die verbindung die kraetsche ... Verbindung abgebrochen durch server .. Habe nicht genau die grenze getest, wahrscheinlich buffergroesse .. 120 commands ist erstmal ok fuer mich .. alte schnittstelle benutze ich mehr aber mit der groesse kann ich zunaechst einmal leben. Langfristig waere groesserer batch laenge gut. Gruss Gmd
EASY Geschrieben Dienstag um 15:15 Uhr Autor Geschrieben Dienstag um 15:15 Uhr (bearbeitet) Hallo, vor 12 Stunden schrieb gmd: Habe nicht genau die grenze getest ich habe es getestet und mir mit... Encoding.UTF8.GetByteCount(Command) ... die Byte von "Command" ausgeben lassen. Die Grenze liegt bei 2^14, also die 16k, die @Neo vermutet hat. vor 12 Stunden schrieb gmd: 120 commands ist erstmal ok fuer mich ... es kommt eben darauf an, was man machen möchte. Bei mir ist z.B. eine Sendeeinheit (2 Kommandos)... Zitat {"jsonrpc": "2.0", "method": "layout.invokeScript", "a=layout:getEntityByName('Pyramide') a.transformation.position={x=-45.3351, y=-47.302, z=17.39997} pos={x=8, y=10, z=3} a.variables._pos=pos a.variables['Stapel Pyramide [002]']=keyword", "id": 1}, {"jsonrpc": "2.0", "method": "editor.cloneEntity", "params": {"_class": "entity", "name": "Pyramide"}, "id": 9} und da ist die Grenze schon bei 45 Einheiten erreicht, was für die Bildung von einem 3D-Objektstapel nicht wirklich viel ist... Gruß EASY Bearbeitet Dienstag um 16:27 Uhr von EASY
gmd Geschrieben Dienstag um 23:58 Uhr Geschrieben Dienstag um 23:58 Uhr 8 hours ago, EASY said: und da ist die Grenze schon bei 45 Einheiten erreicht, was für die Bildung von einem 3D-Objektstapel nicht wirklich viel ist... Neo hat ja schon angeboten den buffer zu vergroessern.. Gruss Gmd
Neo Geschrieben gestern um 07:28 Uhr Geschrieben gestern um 07:28 Uhr Hallo, ich werde den Netzwerkpuffer mit dem nächsten Update vergrößern. Viele Grüße, Neo
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden