[Ch...] Posted January 25, 2021 Share Posted January 25, 2021 Guten Tag, ich muss mehrere Messberichte erzeugen wo auf jeder Seite 18 Elemente (Flächenpunkte und Kantenpunkte) aufgeführt sind. Zum Beispiel: Seite 1: L1 bis L18, Seite 2: L19 bis L36 usw.. Bei der Visualisierung reicht mir der Name. Da diese Programme bis zu 1000 Elemente haben wäre es sehr hilfreich wenn es mir schon automatisch die Seiten und jeweils die 18 Elemente erzeugen würde. Gibt es hierfür schon ein Skript oder eine alternative Lösung? Good day I need to generate multiple measurement reports where 18 elements (surface points and edge points) are listed on each page. For example: Page 1: L1 to L18, Page 2: L19 to L36, etc. When visualizing, the name is enough for me. Since these programs have up to 1000 elements, it would be very helpful if it would automatically generate the pages and the 18 elements each. Is there already a script or an alternative solution? Link to comment Share on other sites More sharing options...
[Na...] Posted January 27, 2021 Share Posted January 27, 2021 Hallo, reicht eine Auflistung der Elemente und Ergebnisse in einer Tabelle? Dann kann die Größe der Tabelle auf 18 Elemente angepasst werden. Im Reiter Tabelle im Inspektionsbereich lassen sich mit der Weltkugel alle Werte berücksichtigen. Wenn die Tabelle auf einer Reportseite "voll" ist, wird automatisch eine neue Seite angelegt. Link to comment Share on other sites More sharing options...
[Ch...] Posted January 27, 2021 Author Share Posted January 27, 2021 Hallo, leider nein. Mein Chef will jeweils das CAD mit auf der Seite haben. Das ich dann das CAD und die Fähnchen noch im Report anordnen muss ist mir auch klar, aber ich würde mir das erstellen der Messberichtsseiten ersparen. Link to comment Share on other sites More sharing options...
[Ch...] Posted February 1, 2021 Author Share Posted February 1, 2021 Hallo, hab mir jetzt ein Skript zusammengebastelt. Soweit läuft das Skript auch. Das Problem was ich jetzt noch habe ist, das wenn Elemente z.B. L27, L28 nicht im Messplan vorhanden sind diese mitzählt so dass auf der Berichtsseite nur 16 Elemente vorhanden sind. Hat jemand einen Tipp wie ich dies lösen kann? Oder bin ich hier total auf dem falschen Lösungsweg? Link to comment Share on other sites More sharing options...
[Th...] Posted February 4, 2021 Share Posted February 4, 2021 Man könnte das "n=n+1" mit in den "try"-Block schreiben ODER ein "continue" in den "except"-Block packen. Allerdings kann so leicht eine Endlosschleife entstehen. Ich würde daher eher Folgendes empfehlen: # -*- coding: utf-8 -*- import gom Links = 'L' n = 18 def snapElements (elements): gom.script.cad.show_element_exclusively (elements=gom.ElementSelection ({'category': ['key', 'elements', 'is_element_in_clipboard', 'False', 'explorer_category', 'nominal', 'object_familiy', 'cad']})) gom.script.cad.show_element (elements=elements) gom.script.report.create_report_page ( animated_page=False, imitate_fit_mode='overwrite', master_name='WMU Bavaria_a4', template_name='3D', template_orientation='portrait', title='Unbenannt') _, insps = zip (*sorted ([(insp.name, insp) for insp in gom.app.project.inspection if insp.name.startswith (Links)])) for i in range (len (insps) // n): snapElements (insps[i*n:(i+1)*n]) if len(insps) % n: snapElements (insps[-(len (insps) % n):]) Link to comment Share on other sites More sharing options...
[Ch...] Posted February 8, 2021 Author Share Posted February 8, 2021 Hallo, Mit dem „n=n+1“ in dem „try“-Block bzw. „continue und except“-Block haben Sie recht, hier komme ich jeweils in eine Endlosschleife. Mit Ihrer Vorgehensweise komme ich nicht klar, hier bekomme ich immer diverse Fehlermeldungen. zum Beispiel Link to comment Share on other sites More sharing options...
[Th...] Posted February 8, 2021 Share Posted February 8, 2021 Okay, laut Zeile 15 scheint es ein Problem mit dem Report-Template "WMU Bavaria_a4" zu geben. Ich habe das aus ihrem Snapshot einfach abgeschrieben. Zeichnen Sie die Erzeugung des Reports doch einfach noch mal auf und ersetzen Sie den entsprechenden Befehl mit allen Parametern in der "snapElements"-Funktion. Link to comment Share on other sites More sharing options...
[Ch...] Posted February 9, 2021 Author Share Posted February 9, 2021 Hallo, danke erstmal für Ihre Hilfe. Hab jetzt einen anderen Reportstil aufgezeichnet und bei der Zeile gom.script.cad.show_element (elements=elements) wurde wieder die Fehlermeldung angezeigt. Diesen Satz habe ich geändert in gom.script.cad.show_element (elements=gom.ElementSelection ({'category': ['key', 'elements', 'is_element_in_clipboard', 'False', 'explorer_category', 'nominal', 'object_family', 'cad']})) Jetzt läuft zwar das Skript ohne Fehlermeldung, aber es erzeugt mir nur die Reportseiten mit dem CAD, es werden keine Elemente angezeigt (visualisiert). # -*- coding: utf-8 -*- import gom Links = 'L' n = 18 def snapElements (elements): gom.script.cad.show_element_exclusively (elements=gom.ElementSelection ({'category': ['key', 'elements', 'is_element_in_clipboard', 'False', 'explorer_category', 'nominal', 'object_familiy', 'cad']})) gom.script.cad.show_element (elements=gom.ElementSelection ({'category': ['key', 'elements', 'is_element_in_clipboard', 'False', 'explorer_category', 'nominal', 'object_family', 'cad']})) gom.script.report.create_report_page ( animated_page=False, imitate_fit_mode='overwrite', master_name='WMU Bavaria_a4', template_name='Deckblatt', template_orientation='portrait', title='Unbenannt') _, insps = zip (*sorted ([(insp.name, insp) for insp in gom.app.project.inspection if insp.name.startswith (Links)])) for i in range (len (insps) // n): snapElements (insps[i*n:(i+1)*n]) if len(insps) % n: snapElements (insps[-(len (insps) % n):]) Link to comment Share on other sites More sharing options...
[Th...] Posted February 10, 2021 Share Posted February 10, 2021 Hallo, okay, sorry - da habe ich die Fehlermeldung falsch interpretiert. Welche GOM Software Version wird verwendet? Es werden keine zusätzlichen Elemente angezeigt, weil einfach zweimal hintereinander nur das CAD angezeigt wird - einmal exklusiv und dann einfach noch mal zusätzlich. Hier kann das Tuple "elements" nicht interpretiert werden. In der von mir verwendeten Version 2020 ging es. Tritt der Fehler in 2019 oder 2018 auf? Funktioniert folgender Befehl bei "gom.script.cad.show_element"? gom.script.cad.show_element (elements=list (elements)) Link to comment Share on other sites More sharing options...
[Ch...] Posted February 10, 2021 Author Share Posted February 10, 2021 Hallo, Momentan verwenden wir die 2019 Version noch. Voraussichtlich wird nächste Woche unser System auf 2020 upgedatet dann probiere ich es nochmal. Danke im vorraus Link to comment Share on other sites More sharing options...
[Ch...] Posted February 11, 2021 Author Share Posted February 11, 2021 Hallo nochmal, Danke für die Hilfe , jetzt läuft das Skript. ? ? Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in