Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Blinkendes Zeichnungs-Objekt

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

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Blinkendes Zeichnungs-Objekt (1000 mal gelesen)
autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 15. Feb. 2009 21:13    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

Hallo!
Hat jemand eine Idee, wie man ein Zeichnungs-Objekt (z.B. einen Block) für ein paar mal blinken lassen kann, sodass die Aufmerksamkeit darauf gelenkt wird?
Meine Idee wäre: Die Eigenschaft "highlight" ein- und ausschalten und dazwischen kurz warten.
Ich habe es schon mit (vla-highlight vlaItem :vlax-true) kombiniert mit (vla-highlight vlaItem :vlax-false)
sowie mit (redraw enmItem 3) kombiniert mit (redraw enmItem 4) versucht, aber es funktioniert nicht.
Dazwischen hätte ich (command "_.delay" 250) gehabt und hab es dann auch mit Cadmiums Funktion wait2 (siehe hier probiert, aber alles ohne Erfolg.
Das Komische daran ist, wenn ich ganz am Schluss ein (vla-highlight vlaItem :vlax-true) hingebe, wird das Element nach dem ganzen Warten dann doch hervorgehoben, aber blinken tut davor nichts.

------------------
Gruß, Stephan
www.stbartl.at

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Feb. 2009 21: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 autocart 10 Unities + Antwort hilfreich

Hi,
nur so als Idee,
wechsle doch die Farbe der Objekte hin und her oder rauf und runter
...
mfg heiko

[Diese Nachricht wurde von Dorfy am 15. Feb. 2009 editiert.]

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 15. Feb. 2009 21:37    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

Danke Heiko!
Warum ich das allerdings nicht machen will ist, weil ich an der Zeichnungs nichts ändern will, was im Fall des Falles gespeichert zurückbeiben könnte. Wenn also die Farbe nicht zurückgesetzt wird (aus welchem Grund auch immer) und dann gespeichert wird, bleibt es verfälscht. Bei der Highlight-Eigenschaft ist das wurscht, weil die nicht mitgespeichert wird.

------------------
Gruß, Stephan
www.stbartl.at

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 16. Feb. 2009 06:39    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 autocart 10 Unities + Antwort hilfreich

Hi,
vllt. so
(defun wait (sec / dat)
  (setq dat (+ (getvar "DATE")
      (/ sec 86400);60*60*24?
    )
  )
  (while (> dat (getvar "DATE")) (princ))
)

(defun C:ttt (/ as c)
  (setq as (ssget))
  (princ "\nZum Leuchten")
  (setq c 0)
  (repeat (sslength as)
    (redraw (ssname as c) 3)
    (setq c (1+ c))
  )
  (princ "\nZum Ausschalten")
  (wait 1)
  (princ)
  (princ "\nZum Ausschalten")
  (setq c 0)
  (repeat (sslength as)
    (redraw (ssname as c) 4)
    (entupd (ssname as c))
    (setq c (1+ c))
  )
  (princ "\nZum Leuchten")
  (wait 1)
  (princ)
  (princ "\nZum Leuchten")
  (setq c 0)
  (repeat (sslength as)
    (redraw (ssname as c) 3)
    (setq c (1+ c))
  )
  (princ "\nZum Ausschalten")
  (wait 1)
  (princ)
  (princ "\nZum Ausschalten")
  (setq c 0)
  (repeat (sslength as)
    (redraw (ssname as c) 4)
    (setq c (1+ c))
  )
)

mfg heiko

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 16. Feb. 2009 10:28    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 autocart 10 Unities + Antwort hilfreich

Moin moin,

interessantes Thema 
Leider hat der Code von Heiko bei mir nicht richtig funktioniert, aber die Idee hat mir gefallen.

Hier mein Vorschlag...

Code:

(defun :ss-for (#selset #expr / :ssfor:i)
  (if #selset
    (repeat (setq :ssfor:i (sslength #selset))
      ((eval #expr)
        (ssname #selset (setq :ssfor:i (1- :ssfor:i)))
      )
    )
  )
)
(defun delay (#sec / endtimer)
  (setq endtimer (+ (getvar "DATE") (/ #sec 86400.0)))
  (while (> endtimer (getvar "DATE"))(princ))
)
(defun redr (#sset #mode)
  (:ss-for #sset (function (lambda (ent) (redraw ent #mode))))
)
(defun blink (#sset #rep #time)
  (repeat #rep
    (redr #sset 2)
    (redraw)
    (delay #time)
    (redr #sset 1)
    (redraw)
    (delay #time)
  )
)

Funktion :ss-for --> durchläuft ein SelectionSet und evaluiert eine Epression
Funktion delay --> Erzeugt eine Verzögerung, Argument = Sekunden
Funktion redr --> durchläuft ein SelctionSet und führt dabei redraw aus mit dem Argument #mode
Funktion blink --> die eigentlich HauptFunktion, sie benötigt folgende Argumente:

- #sset --> SelectionSet z.B. (ssget)
- #rep  --> Anzahl der Wiederholungen (Integer!)
- #time --> der Verzägerungsintervall in sekunden

Aufruf: (blink (ssget) 3 0.3);_0.3 sekunden

[edit] Funktion delay geändert, siehe Post unten
[edit2] In der Funktion delay innerhalb der Whileschleife ein (princ) ergänzt, siehe Posts unten
------------------
CADmaro.de

[Diese Nachricht wurde von benwisch am 17. Feb. 2009 editiert.]

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 16. Feb. 2009 11:05    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 autocart 10 Unities + Antwort hilfreich

Hi,
mmh
tauscht (wait 1) gegen (wait 1.0)
...
finde aber benwisch sein "Blinken" schöner 
mfg heiko

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 16. Feb. 2009 14:59    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 autocart 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von Dorfy:
Hi,
[..]finde aber benwisch sein "Blinken" schöner  ;)
mfg heiko


Danke, aber dafür ist deine Delay-Funktion besser. Ich mags manchmal irgendwie kompliziert    
Habe daher nochmal "meine" Funktion an deine angeglichen.

------------------
CADmaro.de

[Diese Nachricht wurde von benwisch am 16. Feb. 2009 editiert.]

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 16. Feb. 2009 15:20    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 autocart 10 Unities + Antwort hilfreich

Betreffs WAIT hätte ich hier auch noch was ...

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 16. Feb. 2009 15: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 autocart 10 Unities + Antwort hilfreich

@Cadmium...alter Schwede 
war ja eigentlich fast schon klar, daß du hier schon sowas gepostet hast 

Die beiden Systemvariablen kannte ich auch nicht und deine Funktion ist auch *geil* (wenn mir das Wort erlaubt ist).

Na, jetzt kann sich autocart ja raussuchen was ihm gefällt

------------------
CADmaro.de

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 16. Feb. 2009 16: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

Danke euch allen!!

Wenn ich benwischs Code unter "Normal-Bedingungen" teste, funktioniert es. Aber ich brauche das ganze innerhalb eines Programms und dort funktioniert das einfach nicht. Während des Progs wird anscheinend (an der Stelle im Prog-Code, wo ich es bräuchte) aus irgenteinem Grund der Bildschirm nicht aktualisiert. Auch zoom-Befehle werden einfach "übergangen" (zumind. optisch). Der Bildschirm wird aber interessanterweise auf den letztgültigen Sollstand aktualisiert, sobald eine Benutzereingabe (z.B. ssget) abgefragt wird.

Hat jemand von euch eine Idee, woran das liegen könnte? Danke.

------------------
Gruß, Stephan
www.stbartl.at

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 16. Feb. 2009 17: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

UPDATE:
Ich kam inzwischen dahinter, wo das Problem liegt! Leider habe ich aber noch keine Lösung.

Also: Vor dem Aufruf von blink habe ich ein alert. Wenn ich das alert weggebe, funktioniert alles ok. Mit dem alert vor dem blink gibt es Probleme.
Mit acet-alert übrigens (statt alert) vor dem blink werden die Elemente zumindest einmal ausgeblendet, aber blinken tut auch nichts.

Bin für jede Hilfe dankbar. Alert wegzulassen würde mir aber nicht gefallen. Im Fall des Falles muss ich mir sonst eine eigene Dialog-Box als alert-Ersatz basteln.

------------------
Gruß, Stephan
www.stbartl.at

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 16. Feb. 2009 17:46    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

UPDATE (nochmals):
Jetzt kommt es noch schlimmer! Es funktioniert sogar dann nicht, wenn ein (entsel)-Aufruf davor vorkommt!
Bitte ausprobieren:
Code:
(defun test01 (/ sset)
 
  (blink (setq sset(ssget)) 3 0.3)
  (entsel "Wähle irgentetwas: ")
  (blink sset 3 0.3)
  (princ "\nFertig!")
)
Vor dem entsel blinkt es, danach nicht mehr.       Warum nur, Autodesk!?

EDIT: Das gibt es doch nicht!!! Wenn ich statt (entsel) (ssget) nehme, geht es, aber wenn ich (ssget "_:S") nehme, geht es wieder nicht!! Ahhhhhhh....

------------------
Gruß, Stephan
www.stbartl.at

[Diese Nachricht wurde von autocart am 16. Feb. 2009 editiert.]

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

Autocad 2005-2010
Microstation V8
Photoshop CS4 + Camera Raw
Nikon Capture NX2
Nikon D90

erstellt am: 16. Feb. 2009 18:19    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 autocart 10 Unities + Antwort hilfreich

So, bevor ich schluß mache...
Ich kann das Verhalten nachvollziehen und ich glaube mit alert wirst du nicht weiterkommen. Entweder das alert hintendran stellen oder mittels VBA eine MsgBox machen. Mit der VBA-MsgBox klappts dann wieder.  

Code:

(vla-eval
       (vlax-get-acad-object)
       (strcat
         "MsgBox \"<HIER DIE FRAGE>\""
         ", "
         "vbQuestion"
         ", "
         "\"<HIER DIE ÜBERSCHRIFT = TITLE>\""
       )
     )    


Siehe hierzu auch die Hilfe "Visual Basic Referenz bzgl. dem Argument <BUTTONS> (z.B. hier vbQuestions)
Für die Entsel Variante habe ich auch noch keine Lösung gefunden.

------------------
CADmaro.de

[Diese Nachricht wurde von benwisch am 16. Feb. 2009 editiert.]

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 16. Feb. 2009 19:02    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

Danke, das wäre eine Lösung für das alert. Super! Leider muss noch das Problem mit (entsel) und (ssget "_:S") gelöst werden.

Was meinst du aber mit "Siehe hierzu auch die Hilfe "Visual Basic Referenz bzgl. dem Argument <BUTTONS> (z.B. hier vbQuestions)"?

------------------
Gruß, Stephan
www.stbartl.at

[Diese Nachricht wurde von autocart am 16. Feb. 2009 editiert.]

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 16. Feb. 2009 19:40    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 autocart 10 Unities + Antwort hilfreich

Servus Stephan

Daran bin ich auch schon gescheitert 

Meine Lösung heißt (grdraw):
Ich zeichne damit zB ein Kreuz oder ein Quadrat über das Objekt ...

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 16. Feb. 2009 23: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

Toll, danke Ernst!

An sowas hatte ich bereits ganz zu Anfangs gedacht, hab grdraw aber nicht gefunden.
Da das mit dem Blinken nicht recht funktionieren will, werde ich auch grdraw bzw. grvecs verwenden, um die Aufmerksamkeit des Benutzers zu erregen.

Danke.

------------------
Gruß, Stephan
www.stbartl.at

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

Autocad 2005-2010
Microstation V8
Photoshop CS4 + Camera Raw
Nikon Capture NX2
Nikon D90

erstellt am: 17. Feb. 2009 10:46    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 autocart 10 Unities + Antwort hilfreich

Zitat:
Was meinst du aber mit "Siehe hierzu auch die Hilfe "Visual Basic Referenz bzgl. dem Argument <BUTTONS> (z.B. hier vbQuestions)"?

Auszug aus der Visual Basic Referenz
Zitat:
Das Argument buttons hat die folgenden Einstellungen:

Konstante Wert Beschreibung
vbOKOnly 0 Nur die Schaltfläche OK anzeigen.
VbOKCancel 1 Schaltflächen OK und Abbrechen anzeigen.
VbAbortRetryIgnore 2 Schaltflächen Abbruch, Wiederholen und Ignorieren anzeigen.
VbYesNoCancel 3 Schaltflächen Ja, Nein und Abbrechen anzeigen.
VbYesNo 4 Schaltflächen Ja und Nein anzeigen.
VbRetryCancel 5 Schaltflächen Wiederholen und Abbrechen anzeigen.
VbCritical 16 Meldung mit Stop-Symbol anzeigen. 
VbQuestion 32 Meldung mit Fragezeichen-Symbol anzeigen.
VbExclamation 48 Meldung mit Ausrufezeichen-Symbol anzeigen.
VbInformation 64 Meldung mit Info-Symbol anzeigen.
VbDefaultButton1 0 Erste Schaltfläche ist Standardschaltfläche.
VbDefaultButton2 256 Zweite Schaltfläche ist Standardschaltfläche.
VbDefaultButton3 512 Dritte Schaltfläche ist Standardschaltfläche.
VbDefaultButton4 768 Vierte Schaltfläche ist Standardschaltfläche.
VbApplicationModal 0 An die Anwendung gebunden. Der Benutzer muß auf das Meldungsfeld reagieren, bevor er seine Arbeit mit der aktuellen Anwendung fortsetzen kann.
VbSystemModal 4096 An das System gebunden. Alle Anwendungen werden unterbrochen, bis der Benutzer auf das Meldungsfeld reagiert.
vbMsgBoxHelpButton 16384 Adds Help button to the message box
VbMsgBoxSetForeground 65536 Specifies the message box window as the foreground window
vbMsgBoxRight 524288 Text is right aligned
vbMsgBoxRtlReading 1048576 Specifies text should appear as right-to-left reading on Hebrew and Arabic systems



Zitat:
Leider muss noch das Problem mit (entsel) und (ssget "_:S") gelöst werden

So wie es aussieht, betrifft es alle Lisp-Funktionen, die getpoint, entsel, ssget "_:S", getcorner, getangle ähneln.

Selbst mit den ActiveX Funktionen die äquivalent zu den entsel, bzw. ssget Funktionen sind klappt es nicht. Der einzige Workaround der mir einfällt, ist der, eine Keyboard-Abfrage unmittelbar nach z.B. ssget "_:S" o.ä. einzubauen.

Z.B.

Code:

(defun c:test02 (/ entity)
  (if (setq entity
            (car
              (entsel
                "\nBitte ein Objekt wählen und mit Return/Rechtsklick bestätigen "
              )
            )
      )
    (progn (redraw entity 3)
          (getint) ;_ dummy
          (blink (ssadd entity (ssadd)) 3 0.3)
          (redraw entity 4)
          (princ "\nFertig!")
    )
  )
  (prin1)
)


Vieleicht hat man aber ohnehin schon in seinem Programm eine Keyboard-Abfrage (getint, getreal, getstring...), die _nach_ einer z. B. entsel-Eingabe kommt, dann ist das "dummy" auch nicht nötig.
Was besseres ist mir bis jetzt noch nicht eingefallen.

------------------
CADmaro.de

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Feb. 2009 12:50    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 autocart 10 Unities + Antwort hilfreich

Hi,
sind zwar net die schönsten Zeilen aber es blinkt...
(und entsel ist mit drin, ob dein alert geht hab ich net getestet)

(defun wait (sec / dat)
  (setq dat (+ (getvar "DATE")
       (/ sec 86400)
    )
  )
  (while (> dat (getvar "DATE")) (princ))
)

(defun redr (sset mod / c)
  (setq c 0)
  (repeat (sslength sset)
    (redraw (ssname sset c) mod)
    (setq c (1+ c))
  )
)

(defun blink (#sset #rep #time)
  (repeat #rep
    (redr #sset 2)
    (redraw)
    (wait #time)
    (redr #sset 1)
    (redraw)
    (wait #time)
  ))

(defun C:ttt (/ as c)
  (setq as (ssget))
  (blink as 3 0.3)
  (setq ent (entsel "Wähle irgentetwas: "))
  (blink as 3 0.3)
)
mfg heiko

@Rolf vermute mal es liegt am  function lambda, ...   

[Diese Nachricht wurde von Dorfy am 17. Feb. 2009 editiert.]

[Diese Nachricht wurde von Dorfy am 17. Feb. 2009 editiert.]

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 17. Feb. 2009 13:20    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 autocart 10 Unities + Antwort hilfreich

Hallo Heiko,

dass war der entscheidene Hinweis    

Der Austausch meiner delay-Funktion mit deiner wait-Funktion brachte die Lösung..
Es liegt an der Whileschleife!

Code:
(while (> endtimer (getvar "DATE"))-->(princ)<--)

Ein (princ), kein prin1 oder 't verwenden oder wie bei mir nichts innerhalb der Whileschleife machen.

Klasse!

[EDIT] und mit alert gehts dann auch 
------------------
CADmaro.de

[Diese Nachricht wurde von benwisch am 17. Feb. 2009 editiert.]

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Feb. 2009 13:28    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 autocart 10 Unities + Antwort hilfreich

@Rolf

na dann lag es an einem sehr komplizierten Ausdruck
nennen wir ihn --> (princ) <--- 
schön wenn es blinkt 
mfg heiko

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 17. Feb. 2009 13:43    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 autocart 10 Unities + Antwort hilfreich

Code:
na dann lag es an einem sehr komplizierten Ausdruck

Unglaublich, wie nah oder einfach eine Lösung sein kann. 
Das gleiche gilt dann natürlich auch für die Funktion WAIT vom Thomas (Cadmium). Ein (princ) rein und ruh' iss 

------------------
CADmaro.de

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 17. Feb. 2009 20:02    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

@benwisch/Rolf
Da hast du jetzt aber deinen obigen ersten Beitrag in diesem tread editiert und das (princ) nachträglich eingebaut, weil ich kann mich daran nicht erinnern - du Schlawiener  - ist sicher eine gute Idee (hatte mich aber kurz verwirrt)

@dich und Dory/Heiko
Danke nochmals für die Hilfe und letztenendes die Lösung. Jetzt funktioniert es bei mir auch. Danke. 

------------------
Gruß, Stephan
www.stbartl.at

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

Autocad 2005-2010
Microstation V8
Photoshop CS4 + Camera Raw
Nikon Capture NX2
Nikon D90

erstellt am: 17. Feb. 2009 23:40    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 autocart 10 Unities + Antwort hilfreich

Zitat:
@benwisch/Rolf
Da hast du jetzt aber deinen obigen ersten Beitrag in diesem tread editiert und das (princ) nachträglich eingebaut, weil ich kann mich daran nicht erinnern - du Schlawiener  - ist sicher eine gute Idee (hatte mich aber kurz verwirrt)

Deswegen habe ich ja ein [edit] eingebaut. Ich weiß, dass viele gerne einfach nur den ersten Code lesen und ihn übernehmen, daher eine genannte Änderung.

------------------
CADmaro.de

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 | CAD.de-Newsletter

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

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

(c)2023 CAD.de | Impressum | Datenschutz