;********************************************************************************************* ; Dateiname : SD_Konturlaenge.lsp ; Autor : ; Erstellt : ; geändert : ;********************************************************************************************* ; Beschreibung: - misst die Summe aller Geometrielängen auf einer AE ; - ;********************************************************************************************* ; Änderungen ; ;********************************************************************************************* (in-package :teo) (use-package :oli) ;menu erstellen (sd-defdialog 'SD_Konturlaenge :dialog-title "Konturlaenge" :toolbox-button t :variables '( ("Alle Linien auf akt.AE messen") ) ;end variables :ok-action '( progn (inlinie) );end Progn :help-action '( progn (display "hilf dir selbst, dann hilft dir gott") (display "sorry spaessle gmacht !! a hilf geids aisch amol spaeder hau no koi zeid gheed") );end Progn :local-functions '( ; ------------------------------------------------------------------------------------------- ; (nth 2 example-list) ; ------------------------------------------------------------------------------------------- (inlinie() (setf allelinien (sd-call-cmds (get_selection :focus_type *sd-all-geom-2d-seltype* :CURR_WP_ONLY :select :edge_2d :all_2d)) );end setf ; (display "line") ; (display linie) ; (display allelinien) ; (display "lengthallelinein") (setf lges (length allelinien)) (display (format nil "Es sind ~a Linienteile ausgewählt" lges )) (setf gesamtlaenge 0) (display (format nil "Gesmatlaenge am Anfang ~a" gesamtlaenge)) (dotimes (counter lges "done") (progn (setf einzellinie (nth counter allelinien)) (setf einzell (sd-call-cmds (measure_dist :edge_length einzellinie))) (display " ") (display (format nil "Einzellaenge von Teilelement ~a betraegt ~a mm" (+ 1 counter) einzell)) (setf gesamtlaenge (+ gesamtlaenge einzell)) (display (format nil "Die Gesamtlaenge nach Linie Nr. ~a betraegt ~a mm" (+ 1 counter) gesamtlaenge)) );end progn ) (display "") (display "--------------------------------------------------------") (display (format nil "Gesamtlaenge betraegt ~a mm" gesamtlaenge)) (display "--------------------------------------------------------") );end inlinie );endlocalfunction ) ;enddefdialog