Forum:Lisp
Thema:Platzbedarf markieren
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
marc.scherer

Beiträge: 2484 / 7

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

Hi,
teste mal das hier:
Aufruf mit z.B.:
(PointByCrosshair 40 55.25 155.37)
Code:

;;; Funktion ermittelt einen Punkt bezogen
;;; auf die aktuelle Lage des Fadenkreuzes
;;; Retval ist nil bei Rechtsklick oder Abbruch
;;; oder der Punkt, der bei einem linksklick
;;; vom Fadenkreuz definiert wurde.
;;; Übergabeparameter ist die Farbe, mit der
;;; die rechteckige Markierung gezeichnet werden soll...
(defun PointByCrosshair (color rw hw / P)
  (setq P (grread 't 1)) ;_ lese aktuelle Lage des Crosshairs
  (XORDRAW (cadr P) color rw hw) ;_ zeichne Geometrie um Crosshair
  (while (= 5 (car (setq P (grread 't 1)))) ;_ lese solange nicht linksgeklickt wird
    (redraw) ;_ grvecs löschen
    (XORDRAW (cadr P) color rw hw) ;_ Geometrie an neuer Lage zeichnen
  ) ;_ end of while
  (redraw)
  (if (= 3 (car P))
    (cadr P)
  ) ;_ end of if
) ;_ end of defun

(defun XORDRAW
      (PKT CLR BL-RW BL-HW / HOCH OBL OBR RECHTS UL UR VEK_LIST)
  (setq RECHTS  (car PKT)
        HOCH    (cadr PKT)
        UL      (list (- RECHTS (/ BL-RW 2)) (- HOCH (/ BL-HW 2)))
        UR      (list (+ RECHTS (/ BL-RW 2)) (- HOCH (/ BL-HW 2)))
        OBR      (list (+ RECHTS (/ BL-RW 2)) (+ HOCH (/ BL-HW 2)))
        OBL      (list (- RECHTS (/ BL-RW 2)) (+ HOCH (/ BL-HW 2)))
        VEK_LIST (list CLR UL UR UR OBR OBR OBL OBL UL UL OBR OBL UR)
  ) ;_ end setq
  (grvecs VEK_LIST)
) ;_ end of defun



...

------------------
Ciao,
Marc