; Macro entfernt alle Schloesser (evtl: ausser bei Din-Teilen) ; laden in SolidDesigner: (load "laufwerk:/pfad/schlossweg.lsp") ; Dann Knopf in Werkzeugkiste (Menue "Ansicht") vorhanden: "Schlossweg?" ; Dialogfunktion in Werkzeugkiste: ( OLI::sd-defdialog 'schloss_weg :dialog-title "Schlossweg?" :toolbox-button t :local-functions '( ( doit () ( schloesser_weg) ) ; ende doit ) ; ende local :ok-action '(doit) ) ; ende sd-def ( defun schloesser_weg () ( let (( tree ( neues-inq-obj-tree-list ( OLI::sd-pathname-to-obj "/") ))) ( dolist ( object_struct tree) ( if (OLI::sd-inq-obj-contents-read-only-p object_struct) ( progn ( OLI::sd-call-cmds ( OLI::OBJFLAGS object_struct :Q_CONTENTS :Q_DBRO :OFF)) ( OLI::sd-call-cmds ( OLI::OBJFLAGS object_struct :Q_CONTENTS :Q_SDRO :OFF)) ) ; ende progn ) ; ende if ( if (OLI::sd-inq-obj-instance-read-only-p object_struct) ( progn ( OLI::sd-call-cmds ( OLI::OBJFLAGS object_struct :Q_INSTANCE :Q_DBRO :OFF)) ( OLI::sd-call-cmds ( OLI::OBJFLAGS object_struct :Q_INSTANCE :Q_SDRO :OFF)) ) ; ende progn ) ; ende if ) ; ende dolist ) ; ende let ) ; end schloesser_weg (defun neues-inq-obj-tree-list (obj) (cons obj (apply #'nconc (mapcar #'neues-inq-obj-tree-list (oli::sd-inq-obj-children obj))) ) ) (load "dbdialog")