(in-package :meins) (use-package :oli) (sd-defdialog 'getid :dialog-title "Export File" :variables '( (assembly :value-type :assembly :modifies nil) (filename :value-type :string :initial-value "c:\\test.txt" :title "filename" ) (Browse... :toggle-type :boolean :push-action (setq filename (sd-string-replace (sd-string-replace(format nil "~A" (getfilename)) "(" "") ")" "")) ) ) :ok-action '(let (facelist face edgelist edge elemlist elem i (id nil) last-edge) (with-open-file (stream filename :direction :OUTPUT :if-exists :SUPERSEDE :if-does-not-exist :CREATE) (dolist (teil (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :select :recursive :in_assembly assembly))) (sd-call-cmds (current_part teil)) (setf id (sd-inq-obj-sysid teil)) ;(display (format nil "ID PART : ~a" id)) (write-line (format nil "ID PART : ~a" id) stream) (setf infolist (sd-inq-item-attributes teil)) ;(display infolist) (write-line (format nil "~a" infolist) stream) ;;(display "---------------------------------------------") (write-line "---------------------------------------------" stream) (mapcar #'(lambda (item) (setf sublist (sd-inq-item-attribute teil item :values)) ;(display (format nil ">>~a<< VALUES >~a<" item sublist)) (write-line (format nil ">>~a<< VALUES >~a<" item sublist) stream) (mapcar #'(lambda (subitem) ;(display (format nil "subitem: ~a" subitem)) (write-line (format nil "subitem: ~a" subitem) stream) ) sublist) ) infolist) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; EDGES : (setf edgelist (sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :select :selected_part teil :all_3d))) (setf last-edge (length edgelist)) ;(display (format nil "Anzahl EDGES: ~a" (length edgelist))) (write-line (format nil "Anzahl EDGES: ~a" (length edgelist)) stream) ;;(display "-----------------------------------------") (write-line "-----------------------------------------" stream) (dolist (edge edgelist) (progn ;(display(sd-inq-geo-props edge :dest-space :global)) (write-line (format nil "~a" (sd-inq-geo-props edge :dest-space :global)) stream) ) ) ;; progn (write-line "END OF PART" stream) );; dolist ) ;; let ) ) ;; defdialog (defun getfilename() (with-open-file (s "| C:/DEV/Simuflex/Browser/bin/Debug/Browser.exe" :direction :input) (loop for l = (read-line s nil) while l collecting (remove #\Return l))))