Code:
(vl-load-com) ;|
Holt die Textüberschreibung einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))
Rückgabe:
Bemassungstext als String bei Erfolg oder
nil wenn String nicht ermittelbar.
Für den String gilt:
"" = nur gemessenes Maß
<> = Platzhalter für gemessenes Maß Primäreinheiten (eventuell mit Prä und / oder Suffix)
[] = Platzhalter für gemessenes Maß Sekundäreinheiten (eventuell mit Prä und / oder Suffix)
Zurückgegebener String könnte also auch so aussehen:
"Maß: <> mm oder [] Zoll"
Beispielaufruf:
(GET-DIM-TXT (car (entsel)))
|;
(defun GET-DIM-TXT (ENAME / RETVAL)
(if (setq ENAME (->VLA-OBJECT ENAME))
(if (vlax-property-available-p ENAME 'TEXTOVERRIDE)
(setq RETVAL (vla-get-textoverride ENAME))
)
)
RETVAL
)
;|
Setzt die Textüberschreibung einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))
STRVALUE = Textüberschreibung für Bemassung als String
Hierbei gilt:
"" = Platzhalter für gemessenes Maß
<> = Platzhalter für gemessenes Maß Primäreinheiten (eventuell mit Prä und / oder Suffix)
[] = Platzhalter für gemessenes Maß Sekundäreinheiten (eventuell mit Prä und / oder Suffix)
Zu setzender String könnte also auch so aussehen:
"Maß: <> mm oder [] Zoll"
Rückgabe:
Gesetzte Bemassungstext als String bei Erfolg oder
nil wenn Textüberschreibung nicht gesetzt werden konnte.
Beispielaufruf:
(SET-DIM-TXT (car (entsel)) "Maß: <> mm oder [] Zoll")
oder auch zum "resetten" der Maßtextüberschreibung
(SET-DIM-TXT (car (entsel)) "")
|;
(defun SET-DIM-TXT (ENAME STRVALUE / RETVAL)
(if (setq ENAME (->VLA-OBJECT ENAME))
(if (vlax-property-available-p ENAME 'TEXTOVERRIDE 't)
(progn
(vla-put-textoverride ENAME STRVALUE)
(setq RETVAL STRVALUE)
)
)
)
RETVAL
)
;|
Holt das von AutoCAD berechnete Maß einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))
Rückgabe:
Reale Zahl die entweder ein lineares Maß oder aber einen Winkel (bei Winkelbemassung)
darstellt.
nil wenn nicht ermittelbar
Beispielaufruf:
(GET-DIM-MEASUREMENT (car (entsel)))
|;
(defun GET-DIM-MEASUREMENT (ENAME / RETVAL)
(if (setq ENAME (->VLA-OBJECT ENAME))
(if (vlax-property-available-p ENAME 'MEASUREMENT)
(setq RETVAL (vla-get-measurement ENAME))
)
)
RETVAL
)
;;; Funktion gibt Ename zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->ENAME (ENAME / RETVAL)
(cond
((= (type ENAME) 'VLA-OBJECT)
(vlax-vla-object->ename ENAME)
)
((= (type ENAME) 'ENAME) ENAME)
(t NIL)
) ;_ end of cond
) ;_ end of defun
;;; Funktion gibt vla-Objekt zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->VLA-OBJECT (ENAME /)
(cond
((= (type ENAME) 'ENAME) (vlax-ename->vla-object ENAME))
((= (type ENAME) 'VLA-OBJECT) ENAME)
(t NIL)
) ;_ end of cond
) ;_ end of defun