Hallo Lispler,
ich habe folgendes Makro im Einsatz, um alle Kanten einer bestimmten Länge eines bestimmten Teils auf einmal anwählen zu können. Bisher klappte es auch, aber zZ. bekomme ich immer die Fehlermeldung "Lisp-Fehler: Speicherüberlauf bei Aufrufprotokoll (Fehler 268)".
(Wir haben von OSDM 11.0 auf 11.65 upgedated, kann es daran liegen?)
Was will mir dieser Fehler sagen?
Vielen Dank im Voraus,
Michael
p.s.: Hier das Makro
(in-package :custom)
(use-package LI)
;;--------------------------------------------------------------------------*
(sd-defdialog 'sko_select_edges_with_len
:dialog-title "WaehleKantenLaenge"
:dialog-type :interrupt
:variables '(
(Teil
:title "Teil"
:value-type art
)
(Laenge
:title "Laenge"
:value-type :length
)
)
k-action '(sd-call-cmds (sko_list_edges_from_part Teil Laenge))
)
(DEFUN sko_list_edges_from_part (teil laenge)
(setf KantenListeKomplett
(sd-call-cmds (GET_SELECTION :FOCUS_TYPE *sd-edge-3d-seltype*
:select
:in_part Teil))
)
(setf KantenListe (Sko_create_ergebnis_liste KantenListeKomplett laenge '()))
(sd-put-buffer "KantenListe")
)
(DEFUN Sko_create_ergebnis_liste (Liste Laenge NeueListe)
(IF (ENDP Liste)
NeueListe
(PROGN
(setf Klaenge (sd-vec-length
(sd-vec-subtract
(sd-edge-end-pnt (sd-inq-edge-geo (FIRST Liste) ))
(sd-edge-start-pnt (sd-inq-edge-geo (FIRST Liste) ))
)
)
)
(IF (AND (> Laenge (- Klaenge 0.001)) (< Laenge (+ Klaenge 0.001)))
;then
(PROGN
(SETF NeueListe (CONS (FIRST Liste) NeueListe))
(Sko_create_ergebnis_liste (REST Liste) Laenge NeueListe)
)
;else
(Sko_create_ergebnis_liste (REST Liste) Laenge NeueListe)
);end_if
)
);end_if
)
------------------
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP