Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Creo Elements/Direct
  Fortschrittanzeige in Schleife

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
BOM Assistant für Stücklistenerstellung , eine App
Autor Thema:  Fortschrittanzeige in Schleife (93 mal gelesen)
sas-m2n
Mitglied
Mechanical Design Engineer


Sehen Sie sich das Profil von sas-m2n an!   Senden Sie eine Private Message an sas-m2n  Schreiben Sie einen Gästebucheintrag für sas-m2n

Beiträge: 50
Registriert: 02.03.2011

@Work:
HP Z4, NVIDIA Quadro P1000, 32 GB RAM, WIN11 X64
Creo Elements/Direct 20.6.3.0 Modelmanager 20.6.2
@home:
DELL Precision M4500
PE8.0 auf Win11 pro X64

erstellt am: 28. Aug. 2026 07:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Zusammen,

ich möchte gerne in einer Schleife eine Fortschrittsanzeige mit ausgeben (siehe generated_code.lsp) 

(display
    (format nil
            "Stanzung ~A von ~A"
            STANZUNG
            GESAMTSTANZUNGEN))

Leider wird die Anzeige die ich verwende, erst nach Erstellung des Bauteils ausgegeben.
Gibt es hierzu andere Möglichkeiten?

Vielen Dank im Voraus.

Grüße Steffen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sas-m2n
Mitglied
Mechanical Design Engineer


Sehen Sie sich das Profil von sas-m2n an!   Senden Sie eine Private Message an sas-m2n  Schreiben Sie einen Gästebucheintrag für sas-m2n

Beiträge: 50
Registriert: 02.03.2011

@Work:
HP Z4, NVIDIA Quadro P1000, 32 GB RAM, WIN11 X64
Creo Elements/Direct 20.6.3.0 Modelmanager 20.6.2
@home:
DELL Precision M4500
PE8.0 auf Win11 pro X64

erstellt am: 28. Aug. 2026 07:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


generated_code.txt

 
lisp vergessen


Grüße steffen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MiBr
Mitglied
Konstrukteur


Sehen Sie sich das Profil von MiBr an!   Senden Sie eine Private Message an MiBr  Schreiben Sie einen Gästebucheintrag für MiBr

Beiträge: 601
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside

erstellt am: 28. Aug. 2026 09:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Hallo,

ein Möglichkeit gibt es z.B. mit der Konsole.

Beim Start:
(sd-show-console-window)

In der lisp 'display' durch 'pprint' ersetzen,

und am Ende Konsole nach 2 Sekunden wieder schließen!
(sleep 2)
(sd-hide-console-window)

Oder,
Du könnest aber auch mittels 'sd-defdialog' ein Dialog öffenen und dir über den ':value-type :display-only' den Fortschritt anzeigen lassen.

Gruß Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer




Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2466
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Bld19045.6466
● Drafting V17~V20.6@job
● Modeling V17~V20.7.2@job
● Windchill 12.1.2.8@job
● UWGM Client 13.1.0.1@job
● Taschenrechner
● brain 6.4
● Stift+Zettel V8.42

erstellt am: 28. Aug. 2026 09:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich


cadde-29-005014.lsp


cadde-29-005014.png

 
Zitat:
Original erstellt von sas-m2n:
ich möchte gerne in eine Schleife eine Fortschrittsanzeige mit ausgeben.

Hi Steffen,

schöne Frage!

Erklärbär: Modeling hat die Angewohnheit das UI erst dann zu erneuern wenn Zeit dafür ist. Bei längeren, sagen wir Berechnungen, sind die Berechnungen, die Arbeit an Model-Daten, an den Zeichnungs-Daten viel wichtiger als dieses bunte UI, was nur aus Pixeln besteht. ;-)

Daher 'malt' ein Dialog sein UI erst später frisch, oder der Strukturbaum wird eneuert, oder eben aber (am wichtigsten) der/die Vierwports. Oder eben schlussendlich auch die 'display box'


Es gibt aber zwei recht einfache Möglichkeiten. Beide sind nicht offiziell supported, aber seit ~20++ Jahren in vielen Consulting Lösungen in Benutzung. Und (dank der PTC Prioritäten) wird sich daran auch nix mehr ändern.

a) die Prompt Zeile: => set-prompt
b) der grüne Fortschrittsbalken: => ui:win..progress-bar

Die Erklärungen habe ich im beifliegenden LISP versenkt. Dann ist beides zusammen. Jenes einfach in Modeling laden.


------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer




Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2466
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Bld19045.6466
● Drafting V17~V20.6@job
● Modeling V17~V20.7.2@job
● Windchill 12.1.2.8@job
● UWGM Client 13.1.0.1@job
● Taschenrechner
● brain 6.4
● Stift+Zettel V8.42

erstellt am: 28. Aug. 2026 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich


cadde-29-005014b.lsp

 
Zitat:
Original erstellt von MiBr:
Du könnest aber auch mittels 'sd-defdialog' ein Dialog öffenen und dir über den ':value-type :Display-only' den Fortschritt anzeigen lassen.

NJET..  dialog variablen : no ui update in between.

Hab's extra noch mal probiert.. 

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MiBr
Mitglied
Konstrukteur


Sehen Sie sich das Profil von MiBr an!   Senden Sie eine Private Message an MiBr  Schreiben Sie einen Gästebucheintrag für MiBr

Beiträge: 601
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside

erstellt am: 28. Aug. 2026 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Hallo und sry,

meine bisherige Meinung war immer mit (setf var xx) wird der Wert geändert aber keine Änderung im Ui.
Und bei (sd-set-variable-status :value xx) wird der Wert geändert mit Ui und z.B. ein after-input wird
auch ausgeführt.
Aber das lag ich dann wohl falsch und ehrlich gesagt ist der grüne Balken auch hundert mal schicker!
Ich mach mich gerade schon auf die Suche nach Einsatzmöglichkeiten!

Gruß Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer




Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2466
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Bld19045.6466
● Drafting V17~V20.6@job
● Modeling V17~V20.7.2@job
● Windchill 12.1.2.8@job
● UWGM Client 13.1.0.1@job
● Taschenrechner
● brain 6.4
● Stift+Zettel V8.42

erstellt am: 28. Aug. 2026 14:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
Und bei (sd-set-variable-status :value xx) wird der Wert geändert mit Ui und z.B. ein after-input wird
auch ausgeführt.

Richtig. before-input / after-input wird durchlaufen, aber z.B. NICHT show-/hide-input-tool oder start-/end-input-feedback. Also das ganze UI Geraffel wird vermieden, dazu gehört auch das UI des Dialoges.

🇮 siehe auch in LISP: Übersicht für Reihenfolge von Ereignissen das attachment dialog_when_and_what.lsp.txt (wird in 2 Wochen volljährig). Da mal test weise noch nen push-button mit nem sd-set-variable-status hinzufügen.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer




Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2466
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Bld19045.6466
● Drafting V17~V20.6@job
● Modeling V17~V20.7.2@job
● Windchill 12.1.2.8@job
● UWGM Client 13.1.0.1@job
● Taschenrechner
● brain 6.4
● Stift+Zettel V8.42

erstellt am: 28. Aug. 2026 14:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
...ehrlich gesagt ist der grüne Balken auch hundert mal schicker!
Ja, aber ..   wie ich gerade selber gelernt habe.

Um mal den 'Overhead' für die verschiedenen Fortschrittsanzeigen zu messen, habe ich die Schleife in verschiedenen Varianten laufen lassen mit 10.000 Durchläufen.

Code:
;without any output - loop overhead ;                     =>   0.00200 sec for loop
;(display (format nil "Progress ~3D" i)) ;;               =>   0.51820 sec for loop
;(print (format nil "Progress ~3D" i)) ;;                 =>   1.04588 sec for loop
;(pprint (format nil "Progress ~3D" i)) ;;                =>   1.07252 sec for loop
;(format T "~&Progress ~3D~%" i) ;;                       =>   0.55002 sec for loop
;(format T "Progress ~3D~c" i cr); #\Return) , wo linefeed
;(frame2::set-prompt(format nil "Progress ~3D"i):flush);; =>   0.04932 sec for loop
;(UI::WIN-UPDATE-PROGRESS-BAR 1 i max-loop);;             => 147.19527 sec for loop

gemessen auf einem 10 Jahre alten refurbished SFF PC. 1/10 Sekunden sind natürlich schon Wackler beim Messen, issklarne.

Bei der Progress-Bar bin ich dann doch zusammen gezuckt 😵. Das hübscheste UI Erlebnis kostet eben auch am meisten 😳.

Hier sollte man sich überlegen, ob man die Ausgabe nur triggert wenn sich z.B. der Ganzzahl Prozentwert tatächlich ändert.
Die Progress Bar löst halt nicht so gut auf. Daher bringt es ja nichts sie bei minimalen Änderungen dauernd zu erneuern.

Das ist hier nun aber auch bedingt durch die hohe Anzahl an Schleifendurchläufen, was allerdings beim 'durchnudeln' aller Instanzen einer ordentlich Baugruppe durchaus realistisch ist.

Code:
;(when (zerop (mod i 100))(UI::WIN-UPDATE-PROGRESS-BAR 1 i max-loop));; => 1.45775 sec for loop

So z.B. mit beliebigem max-loop Wert 🙂:
Code:
(setq percentage (round (/ i max-loop 0.01)))
(unless (equal percentage-prev percentage)
  (UI::WIN-UPDATE-PROGRESS-BAR 1 i max-loop)
  (setq percentage-prev percentage)
  );; => 1.46533 sec for loop

Empfehlung wäre also SET-PROMPT in der Kombination mit geschicktem Aufruf von WIN-UPDATE-PROGRESS-BAR, ersteres weil es am einfachsten implementiert ist, letzteres wegen der Optik.

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

Bei halbwegs schnellen Schleifen kann man die Overheadzeit weiter drücken in dem man MODOLU zusätzlich einsetzt:

Code:
(setq percentage (round (/ i max-loop 0.01)))
(when (and (not (equal percentage-prev percentage))
           (zerop (mod percentage 5)) ;; means 5% steps as progress bar resolution
           )
  (UI::WIN-UPDATE-PROGRESS-BAR 1 i max-loop)
  (setq percentage-prev percentage)
  ) ;; 0.30117 sec for loop
..  wenn dann da unbedingt ne grünen Balken sehen möchte.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer




Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2466
Registriert: 3.20.

● PE60+80+90@home
● W10 Pro Bld19045.6466
● Drafting V17~V20.6@job
● Modeling V17~V20.7.2@job
● Windchill 12.1.2.8@job
● UWGM Client 13.1.0.1@job
● Taschenrechner
● brain 6.4
● Stift+Zettel V8.42

erstellt am: 28. Aug. 2026 18:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sas-m2n 10 Unities + Antwort hilfreich

👨🏻‍🍳  Ich habe da mal was vorbereitet... 
.
..
...
....

Passt das?

?

Tester gesucht 🔎  ❗

Ich hadere 😧 gerade mit dem Attachment. Wollte das 🖼️ Bild noch mal austauschen aber es ist immer noch 😖 das selbe! - Gucke später 🕞 noch mal rein.
------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen .... | Nach anderen Beiträgen suchen

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2026 CAD.de | Impressum | Datenschutz