(FILECREATED "13-Oct-84 21:22:23" {PHYLUM}<BLUEBONNET>ORIGINAL>COPYJOBDATA.;4 23573 changes to: (FNS DefinePlanGenerators) previous date: "15-Aug-84 15:35:45" {PHYLUM}<BLUEBONNET>ORIGINAL>COPYJOBDATA.;3) (* Copyright (c) by NIL. All rights reserved.) (PRETTYCOMPRINT COPYJOBDATACOMS) (RPAQQ COPYJOBDATACOMS ((FNS * COPYJOBDATAFNS) (RECORDS * COPYJOBDATARECORDS) (VARS * COPYJOBDATAVARS) (PROP (helpMessage defaultValue relevancyPredicate default) CopyBrightness) (PROP valueRange Collate CopiesOnStandardPaper CopiesTooThickToStaple CopyBrightness InputProcessor OriginalTooThick OriginalsBound OriginalsOnStandardPaper OriginalsPaperTooFragileOrThick OriginalsStandardSize OriginalsTooLarge OriginalsTooSmall Reduction Staple TwoSidedCopies TwoSidedOriginals Unbindable) (PROP query #OfOriginalSheets Collate CopiesOnStandardPaper CopiesTooThickToStaple CopyBrightness NumberOfCopies OriginalTooThick OriginalsBound OriginalsOnStandardPaper OriginalsPaperTooFragileOrThick OriginalsStandardSize OriginalsTooLarge OriginalsTooSmall Reduction Staple TwoSidedCopies TwoSidedOriginals Unbindable) (P (DefineConstraints) (DefinePlanGenerators) (DefineHelpUnits)) (PROP Message A10 A11) [DECLARE: EVAL@COMPILE (P (LOADCOMP? 'LOADBLUEBONNET] (PROP defaultValue #OfOriginalSheets Collate CopiesOnStandardPaper NumberOfCopies OriginalsBound OriginalsOnStandardPaper OriginalsStandardSize Reduction Staple TwoSidedCopies TwoSidedOriginals) (PROP timeEstimate LoadRdh LoadTopPaperTray ReverseOriginals SetPanel SelectBottomTray MakeCopies TransferToTopTray UnloadOutputTray UnloadRdh UnloadTopPaperTray) (PROP PlanGenerator A12) (PROP helpMessage #OfOriginalSheets Collate CopiesOnStandardPaper NumberOfCopies OriginalsBound OriginalsOnStandardPaper OriginalsStandardSize Reduction Staple TwoSidedCopies TwoSidedOriginals Unbindable))) (RPAQQ COPYJOBDATAFNS (CreateCopyJobConstraint CreateHelpUnit DefineConstraints DefineHelpUnits DefinePlanGenerators)) (DEFINEQ (CreateCopyJobConstraint [LAMBDA (wff) (* edited: "18-JAN-83 15:31") (* Create a constraint with the given wff. If wff is not a Wff, create one using CreateWff. Analyze the constraint to determine what fields it can be used to determine a value for and attach the constraint to those fields as a deriver.) (PROG [(constraint (create Constraint wff ←(if (type? Wff wff) then wff else (CreateWff wff] [for disjunction in constraint:normalForm do (fields←(for term in disjunction join (FieldsInWff term))) (for term in disjunction when (type? Wff term) and term:operator=(QUOTE =) do (for rand in term:operands when (ATOM rand) do (ADDPROP rand (QUOTE derivers) (create Deriver constraint ← constraint field ← rand value ←(if rand=term:operands:1 then term:operands:2 else term:operands:1) otherFields ←(REMOVE rand fields) compactOr ← disjunction] (RETURN constraint]) (CreateHelpUnit [LAMBDA (wff text changes) (* edited: "31-JAN-83 16:49") (* Create a help unit with the given wff, text, and changes. If wff is a list structure or atom it will be made into a wff. If text is a list it will be made into a paragraph with a lookY of 1.0) (create HelpUnit wff ←(if (type? Wff wff) then wff else (CreateWff wff)) text ←(if (type? Paragraph text) then text else (create Paragraph text ← text lookY ← 1)) changes ← changes]) (DefineConstraints [LAMBDA NIL (* edited: "12-MAR-83 16:48") (* Define the constraints on a copy job.) (* Note "#OfOriginalSheets" is misnamed. It's semantics are "number of original images".) (for f in CopyJobFields do (REMPROP f (QUOTE derivers))) CopyJobConstraints← <[CreateCopyJobConstraint (QUOTE (IMPLIES (AND (= OriginalsBound (QUOTE Yes)) (= Unbindable (QUOTE No))) (= InputProcessor (QUOTE BDA] [CreateCopyJobConstraint (QUOTE (IMPLIES [AND (OR (= OriginalsBound (QUOTE No)) (= Unbindable (QUOTE Yes))) (OR [AND (= OriginalsStandardSize (QUOTE No)) (OR (= OriginalsTooSmall (QUOTE Yes)) (= OriginalsTooLarge (QUOTE Yes] (AND (= OriginalsOnStandardPaper (QUOTE No)) (= OriginalsPaperTooFragileOrThick (QUOTE Yes] (= InputProcessor (QUOTE Glass] [CreateCopyJobConstraint (QUOTE (IMPLIES [AND (OR (= OriginalsOnStandardPaper (QUOTE Yes)) (= OriginalsPaperTooFragileOrThick (QUOTE No))) [OR (= OriginalsStandardSize (QUOTE Yes)) (AND (= OriginalsTooLarge (QUOTE No)) (= OriginalsTooSmall (QUOTE No] (OR (= OriginalsBound (QUOTE No)) (= Unbindable (QUOTE Yes] (= InputProcessor (QUOTE RDH] [CreateCopyJobConstraint (QUOTE (IMPLIES (OR (= InputProcessor (QUOTE BDA)) (= InputProcessor (QUOTE Glass))) (= TwoSidedOriginals (QUOTE No] [CreateCopyJobConstraint (QUOTE (IF (> #OfCopySheets 35) (= CopiesTooThickToStaple (QUOTE Yes)) (= CopiesTooThickToStaple (QUOTE No] [CreateCopyJobConstraint (QUOTE (IF [OR (AND (> #OfOriginalSheets 50) (= TwoSidedOriginals (QUOTE No))) (AND (> #OfOriginalSheets 100) (= TwoSidedOriginals (QUOTE Yes] (= OriginalTooThick (QUOTE Yes)) (= OriginalTooThick (QUOTE No] [CreateCopyJobConstraint (QUOTE (IMPLIES (= TwoSidedCopies (QUOTE No)) (= #OfCopySheets #OfOriginalSheets] [CreateCopyJobConstraint (QUOTE (IMPLIES (= TwoSidedCopies (QUOTE Yes)) (= #OfCopySheets (/ #OfOriginalSheets 2] [CreateCopyJobConstraint (QUOTE (IMPLIES (= OriginalsStandardSize (QUOTE Yes)) (AND (= OriginalsTooSmall (QUOTE No)) (= OriginalsTooLarge (QUOTE No] [CreateCopyJobConstraint (QUOTE (IMPLIES (= OriginalsOnStandardPaper (QUOTE Yes)) (= OriginalsPaperTooFragileOrThick (QUOTE No] [CreateCopyJobConstraint (QUOTE (IMPLIES (= NumberOfCopies 1) (= Collate (QUOTE Yes] [CreateCopyJobConstraint (QUOTE (IMPLIES (OR (= InputProcessor (QUOTE BDA)) (= InputProcessor (QUOTE Glass))) (= TwoSidedOriginals (QUOTE No] > (QUOTE ok]) (DefineHelpUnits [LAMBDA NIL (* edited: " 1-FEB-83 13:21") (* Define the help units that specify job descriptions which are to be commented on to the user and changed by the system.) HelpUnits← <[CreateHelpUnit [QUOTE (AND (= Collate (QUOTE No)) (= Staple (QUOTE Yes] (QUOTE (The 8200 cannot staple uncollated copies. It can make unstapled copies, which you can then staple.)) (QUOTE ((Staple . No] [CreateHelpUnit [QUOTE (AND (= TwoSidedCopies (QUOTE Yes)) (= Collate (QUOTE No] (QUOTE (The 8200 cannot make uncollated two-sided copies. It can make collated copies, which you can then uncollate.)) (QUOTE ((Collate . Yes] [CreateHelpUnit [QUOTE (AND (= Staple (QUOTE Yes)) (= CopiesTooThickToStaple (QUOTE Yes] (QUOTE (Your copies will be too thick for the 8200 to staple. It can make unstapled copies, which you can then staple.)) (QUOTE ((Staple . No] [CreateHelpUnit [QUOTE (AND (= OriginalTooThick (QUOTE Yes)) (= InputProcessor (QUOTE RDH)) (= Staple (QUOTE Yes] (QUOTE (The 8200 cannot staple copies of an original that is too thick for the RDH. It can make unstapled copies, which you can then staple.)) (QUOTE ((Staple . No] (CreateHelpUnit (QUOTE (~ (> NumberOfCopies 0))) (QUOTE (Indicate number of copies desired.))) > (QUOTE ok]) (DefinePlanGenerators [LAMBDA NIL (* JG "13-Oct-84 21:21") (* Create the plan generators for the 8200.0 Put them on PlanGenerators.) PlanGenerators← < (create PlanGenerator timeEstimator ← 'TimeForTooThick enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'Yes) (= Staple 'No) (OR (= TwoSidedCopies 'No) (= Collate 'Yes] parameters ← '(Collate CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction TwoSidedCopies TwoSidedOriginals)) (create PlanGenerator enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'No) (= TwoSidedOriginals 'Yes) (= TwoSidedCopies 'Yes) (= Collate 'Yes) (OR (= Staple 'No) (= CopiesTooThickToStaple 'No] generator ← 'Plan2To2 parameters ← '(CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction Staple)) (create PlanGenerator timeEstimator ← 'TimeFor2To1WithMaster enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'No) (= TwoSidedOriginals 'Yes) (= TwoSidedCopies 'NO) (= Collate 'Yes) (OR (> NumberOfCopies 1) (AND (= Staple 'Yes) (= CopiesTooThickToStaple 'No] parameters ← '(CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction Staple) advisor ← 'Advise2To1WithMaster) (create PlanGenerator enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'No) (= TwoSidedOriginals 'Yes) (= TwoSidedCopies 'No) (= Staple 'No) (OR (= NumberOfCopies 1) (= Collate 'No] parameters ← '(CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction)) (create PlanGenerator timeEstimator ← 'TimeFor1To2 enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'No) (= TwoSidedOriginals 'No) (= TwoSidedCopies 'Yes) (= Collate 'Yes) (OR (= Staple 'No) (= CopiesTooThickToStaple 'No] generator ← 'Plan1To2 parameters ← '(CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction Staple) advisor ← 'Advise1To2) (create PlanGenerator timeEstimator ← 'TimeFor1To1 enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (= InputProcessor 'RDH) (= OriginalTooThick 'No) (= TwoSidedOriginals 'No) (= TwoSidedCopies 'No) (OR (= Staple 'No) (= Collate 'Yes)) (OR (= Staple 'No) (= CopiesTooThickToStaple 'No] generator ← 'Plan1To1 parameters ← '(Collate CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction Staple)) (create PlanGenerator timeEstimator ← 'TimeForBdaNoMaster enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (OR (= InputProcessor 'BDA) (= InputProcessor 'Glass)) (OR (= NumberOfCopies 1) (= Collate 'No)) (= TwoSidedCopies 'No) (= Staple 'No] generator ← 'PlanBdaNoMaster parameters ← '(CopyBrightness CopiesOnStandardPaper NumberOfCopies Reduction Staple)) (create PlanGenerator timeEstimator ← 'TimeForBdaWithMaster enablingCondition ← [CreateWff '(AND (> NumberOfCopies 0) (> #OfOriginalSheets 0) (OR (= InputProcessor 'BDA) (= InputProcessor 'Glass)) (OR (AND (> NumberOfCopies 1) (= Collate 'Yes)) (= TwoSidedCopies 'Yes) (AND (= Staple 'Yes) (= Collate 'Yes) (= CopiesTooThickToStaple 'No] generator ← 'PlanBdaWithMaster parameters ← '(Collate CopyBrightness CopiesOnStandardPaper CopiesTooThickToStaple NumberOfCopies Reduction Staple TwoSidedCopies) advisor ← 'AdviseBdaWithMaster) > 'ok]) ) (RPAQQ COPYJOBDATARECORDS (Constraint CopyJob Deriver HelpUnit Paragraph PlanGenerator)) [DECLARE: EVAL@COMPILE (DATATYPE Constraint (wff internalNormalForm label text) [ACCESSFNS ((normalForm [OR (fetch internalNormalForm of DATUM) (replace internalNormalForm of DATUM with (CompactNormalForm (fetch (Constraint wff) of DATUM] (replace internalNormalForm of DATUM with NEWVALUE]) (DATATYPE CopyJob (#OfCopySheets #OfOriginalSheets Collate CopiesOnStandardPaper CopiesTooThickToStaple CopyBrightness InputProcessor NumberOfCopies OriginalTooThick OriginalsBound OriginalsOnStandardPaper OriginalsPaperTooFragileOrThick OriginalsStandardSize OriginalsTooLarge OriginalsTooSmall Reduction Staple TwoSidedCopies TwoSidedOriginals Unbindable descriptionPanel derivations removedAssertions plan relevantFields planGenerator timeEstimate) removedAssertions ← (LIST NIL NIL)) (DATATYPE Deriver (constraint compactOr field value otherFields)) (DATATYPE HelpUnit (wff text changes (* changes is a list of dotted pairs. The first element of each pair is a copyJob field name. The second element of each pair is a new value for the field to be assigned by the help unit.) )) (DATATYPE Paragraph (leftMargin rightMargin text lookY)) (DATATYPE PlanGenerator (advisor enablingCondition generator parameters requiredResources timeEstimator)) ] (/DECLAREDATATYPE 'Constraint '(POINTER POINTER POINTER POINTER)) (/DECLAREDATATYPE 'CopyJob '(POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER)) (/DECLAREDATATYPE 'Deriver '(POINTER POINTER POINTER POINTER POINTER)) (/DECLAREDATATYPE 'HelpUnit '(POINTER POINTER POINTER)) (/DECLAREDATATYPE 'Paragraph '(POINTER POINTER POINTER POINTER)) (/DECLAREDATATYPE 'PlanGenerator '(POINTER POINTER POINTER POINTER POINTER POINTER)) (RPAQQ COPYJOBDATAVARS [CopiesFields CopyJobFields OriginalsFields [DefaultQueryHelpMessage (create Paragraph text ← '(No help available for this query.] (CopyJobRecord (RECLOOK 'CopyJob]) (RPAQQ CopiesFields (Collate CopiesOnStandardPaper Staple TwoSidedCopies Reduction)) (RPAQQ CopyJobFields (#OfCopySheets #OfOriginalSheets Collate CopiesOnStandardPaper CopiesTooThickToStaple CopyBrightness InputProcessor NumberOfCopies OriginalTooThick OriginalsBound OriginalsOnStandardPaper OriginalsPaperTooFragileOrThick OriginalsStandardSize OriginalsTooLarge OriginalsTooSmall Reduction Staple TwoSidedCopies TwoSidedOriginals Unbindable)) (RPAQQ OriginalsFields (OriginalsBound Unbindable TwoSidedOriginals OriginalsStandardSize OriginalsTooSmall OriginalsTooLarge OriginalsOnStandardPaper OriginalsPaperTooFragileOrThick CopyBrightness)) (RPAQ DefaultQueryHelpMessage (create Paragraph text ← '(No help available for this query.))) (RPAQ CopyJobRecord (RECLOOK 'CopyJob)) (PUTPROPS CopyBrightness helpMessage (If your original is a paste-up, has a lot of background, or is printed on colored paper, %"darker than normal%" should be selected. If the image on your original has faint lines, is printed in light blue or pencil, %"lighter than normal%" should be selected. In most other cases %"normal%" should be selected.)) (PUTPROPS CopyBrightness defaultValue normal) (PUTPROPS CopyBrightness relevancyPredicate T) (PUTPROPS CopyBrightness default normal) (PUTPROPS Collate valueRange (Yes No)) (PUTPROPS CopiesOnStandardPaper valueRange (Yes No)) (PUTPROPS CopiesTooThickToStaple valueRange (Yes No)) (PUTPROPS CopyBrightness valueRange ("darker than normal" normal "lighter than normal")) (PUTPROPS InputProcessor valueRange (RDH BDA Glass)) (PUTPROPS OriginalTooThick valueRange (Yes No)) (PUTPROPS OriginalsBound valueRange (Yes No)) (PUTPROPS OriginalsOnStandardPaper valueRange (Yes No)) (PUTPROPS OriginalsPaperTooFragileOrThick valueRange (Yes No)) (PUTPROPS OriginalsStandardSize valueRange (Yes No)) (PUTPROPS OriginalsTooLarge valueRange (Yes No)) (PUTPROPS OriginalsTooSmall valueRange (Yes No)) (PUTPROPS Reduction valueRange (No "35%% smaller" "26%% smaller" "2%% smaller")) (PUTPROPS Staple valueRange (Yes No)) (PUTPROPS TwoSidedCopies valueRange (Yes No)) (PUTPROPS TwoSidedOriginals valueRange (Yes No)) (PUTPROPS Unbindable valueRange (Yes No)) (PUTPROPS #OfOriginalSheets query "About how many images are to be copied?") (PUTPROPS Collate query "Collate each copy?") (PUTPROPS CopiesOnStandardPaper query "Use standard paper?") (PUTPROPS CopiesTooThickToStaple query "Will each copy be more than 1/8%" thick?") (PUTPROPS CopyBrightness query "Quality of original:") (PUTPROPS NumberOfCopies query "Number of copies:") (PUTPROPS OriginalTooThick query "Is the document more than 3/16%" thick?") (PUTPROPS OriginalsBound query "Is it a bound document?") (PUTPROPS OriginalsOnStandardPaper query "Is it on standard thickness paper?") (PUTPROPS OriginalsPaperTooFragileOrThick query "Is it on unusually fragile or thick paper?") (PUTPROPS OriginalsStandardSize query "Is it on standard size (8.5%" x 11%") paper?") (PUTPROPS OriginalsTooLarge query "Is it larger than 8 1/2%" by 14%"?") (PUTPROPS OriginalsTooSmall query "Is it smaller than 8%" by 10%"?") (PUTPROPS Reduction query "Reduce size of images?") (PUTPROPS Staple query "Staple each copy?") (PUTPROPS TwoSidedCopies query "Put images on both sides?") (PUTPROPS TwoSidedOriginals query "Copy both sides of each sheet?") (PUTPROPS Unbindable query "Are you willing to unbind the document for this copying job?") (DefineConstraints) (DefinePlanGenerators) (DefineHelpUnits) (PUTPROPS A10 Message (there has been a misfeed in the RDH.)) (PUTPROPS A11 Message (of a multifeed in the RDH. Remove your document from the RDH, restore the pages to their original order, and return the document to the RDH.)) (DECLARE: EVAL@COMPILE (LOADCOMP? 'LOADBLUEBONNET) ) (PUTPROPS #OfOriginalSheets defaultValue 1) (PUTPROPS Collate defaultValue Yes) (PUTPROPS CopiesOnStandardPaper defaultValue Yes) (PUTPROPS NumberOfCopies defaultValue 1) (PUTPROPS OriginalsBound defaultValue No) (PUTPROPS OriginalsOnStandardPaper defaultValue Yes) (PUTPROPS OriginalsStandardSize defaultValue Yes) (PUTPROPS Reduction defaultValue No) (PUTPROPS Staple defaultValue No) (PUTPROPS TwoSidedCopies defaultValue No) (PUTPROPS TwoSidedOriginals defaultValue No) (PUTPROPS LoadRdh timeEstimate 10) (PUTPROPS LoadTopPaperTray timeEstimate 15) (PUTPROPS ReverseOriginals timeEstimate TimeToReverseOriginals) (PUTPROPS SetPanel timeEstimate 15) (PUTPROPS MakeCopies timeEstimate CopyingTime) (PUTPROPS TransferToTopTray timeEstimate 10) (PUTPROPS UnloadOutputTray timeEstimate 5) (PUTPROPS UnloadRdh timeEstimate 5) (PUTPROPS UnloadTopPaperTray timeEstimate 10) (PUTPROPS A12 PlanGenerator PlanClearA12) (PUTPROPS #OfOriginalSheets helpMessage (Estimate the number of pages that you want copied.)) (PUTPROPS Collate helpMessage (If you want your copies delivered in numerical order, that is, sequenced like your originals, you want collated copies.)) (PUTPROPS CopiesOnStandardPaper helpMessage (If you answer %"Yes%", your copies will be put on white 8.5%" x 11%" paper.)) (PUTPROPS NumberOfCopies helpMessage (Indicate how many copies of your document you want.)) (PUTPROPS OriginalsBound helpMessage (A bound document is a book or any other original whose pages are fastened together.)) (PUTPROPS OriginalsOnStandardPaper helpMessage (If your original is on unusually heavy or flimsy paper, it cannot be put in the recirculating document handler (RDH))) (PUTPROPS OriginalsStandardSize helpMessage (If your originals are on standard size paper, they can be put in the Recirculating Document Handler (RDH))) (PUTPROPS Reduction helpMessage (The 8200 normally produces copies with an image that is the same size as the original. Copies can also be made with an image size that is reduced by 2%%, 26%%, or 35%%. For example: If you have an 11 x 17 inch original and you want an 8 1/2 x 11 inch copy, use 35%% reduction. Two 8 1/2 x 11 inch originals can be copied onto one 8 1/2 x 11 inch copy with 35%% reduction. If you want to copy a computer printout or an 8 1/2 x 14 inch original onto an 8 1/2 x 11 inch copy, use 26%% reduction. If the image on your original is close to the edge of the paper or if you need room for hole punching or stapling the copies, use 2%% reduction.)) (PUTPROPS Staple helpMessage (Your copies can be delievered either with or without a staple in the upper left corner.)) (PUTPROPS TwoSidedCopies helpMessage (If you want your copies to be two-sided, answer %"Yes%" to this question.)) (PUTPROPS TwoSidedOriginals helpMessage (If your original is two-sided, answer %"Yes%" to this question.)) (PUTPROPS Unbindable helpMessage (Unbound documents can be copied much faster than bound documents. If your original has a removable binding, such as staples, you may save yourself time by removing the binding to make the copies.)) (DECLARE: DONTCOPY (FILEMAP (NIL (2110 13652 (CreateCopyJobConstraint 2120 . 3322) (CreateHelpUnit 3324 . 3937) ( DefineConstraints 3939 . 7160) (DefineHelpUnits 7162 . 8753) (DefinePlanGenerators 8755 . 13650))))) STOP