CabMasterPro User Guide
In This Topic
    Advanced Donor Acceptor : Developer
    In This Topic

    Using the middleware function "Acceptor", we can control properties of donor machine steps. For example, if we are donating holes from a shelf to an end panel, the thickness of the panel may have an impact on the size and position of the holes we drill. Alternatively, if we are using a tongue join, we can control whether the shelf is machined with a tongue if it meets a panel.

    This topic contains three advanced donor/acceptor tutorials...

    1. Using acceptor context to control donor step properties
      • In the first tutorial, we control the radius of a hole from the acceptor section, rather than the donor.
    2. Using the IsAccepted middleware function
      • In the second tutorial, we machine a component differently if it is accepted or not.
    3. Opposite Face Acceptance
    Related Topics: Flaps In Remote Components tutorial and for a basic introduction to donor/acceptors see Donor Machine Steps tutorial.

    Tutorial 1

    Using acceptor context to control donor step properties

    In this tutorial, we control the radius of a hole from the acceptor section, rather than the donor.

    Step 1: Load example file

    Load the example file created in the Donor Machine Steps tutorial.

    Alternatively, load DonorContextTutorial.qid into CabMasterPro.

    Step 2: Add the formula

    Select the "holes_right" step belonging to the shelf.

    In the Machine Step page, click the Formulas button and add the formula "acceptor.myradius".

    Donor_context1

    Step 3: Add answers for the donor and the acceptor

    Go to the Section Answers page and add a new answer "myRadius" for the Shelf. Give it a value of 50

    Donor_context2

    Then from the Section drop list, select the right panel and add a "myRadius" answer for it. Give it a different value, for example 10.

    The holes drilled into the right panel should be 10mm in radius. This is because the formula for the donor machine step has picked up the context of the acceptor and used its variable, rather than the donor's.

    Donor_context3

    Step 4: Change the acceptor's answer

    If you change the acceptor's myRadius, the holes will change size, as shown here.

    Donor_context5

    Step 5: Remove the acceptor

    If we remove the accepting section, by unticking the 'Present' check box for the step, the formula will use the local context.

    Individual steps within the sequence can be controlled by the 'Present' check box for the step.

    The machine step sequence can also be disabled by setting MaxSeq to -1.

    After removing the formula, you can see that it is now using the donor section's "myRadius" which is 50mm.

     

    Tutorial 2

    Using the IsAccepted middleware function

    In this tutorial, we will change the properties of a machine step belonging to a donor section based on whether one of its donor steps is accepted or not.

    Step 1: Open file

    Open the example created in the Tutorial 1.

    Alternatively, load DonorIsAcceptedTutorial.qid into CabMasterPro.

    Click to Expand

    Click to Expand

    Step 2: Create a new machine step

    Switch to the Shelf component and create a new border step.

    • Make it a BorderDeco step with a style of 4 (square insert).       
    • Add a new formula to control the size of the square insert
      • if machinestep["holes_right"].isaccepted then 50mm else 0mm

    Donor_isaccepted1

    In the image above, because the "holes_right" step is already accepted, the square insert is drawn.

    Switch to the Sections page and switch off the presence of the right panel, as shown below. 

    • Note that now the "holes_right" step is not accepted and therefore the square insert is not drawn.
    • Switch the right panel back on to see the square insert return. (Click on image to view).
    Click to view right panel turned back on

    Click to view right panel turned back on

    Tutorial 3

    Opposite Face Acceptance

    In some situations, you may have partitions which have parts connected to it on two sides.

    For example, here we have a partition with a shelf hitting its "back", or "opposite" face, and a shelf hitting its "normal" face. You may only want to machine one face of the partition (rather than both sides). In this case, the holes for the back shelf will need to be drilled right through the partition.

    Opposite Face Acceptance 1

    Alternatively, load OppositeFaceAcceptanceTutorial.qid into CabMasterPro.

    Step 1: Create Donor step for Normal shelf

    Create the donor machine step for the normal shelf.

    • The right face of the shelf is hitting the partition, so set the Donor Face to "Right".
    • Check the "To normal" check box, indicating that this step is intended for the normal face of the partition. 
    Opposite Face Acceptance 2

    Step 2: Create Donor step for Opposite shelf

    Create the donor machine step for the back shelf.

    • Note that it is the left face of the shelf which is hitting the partition, so set the Donor Face to "Left".
    • Since this part is hitting the opposite face, check the "To Opposite" checkbox.
    • We want these drill holes to go all of the way through the accepting section, so set the formula for the depth of the drill holes to 'acceptor.width+0.5

    Opposite Face Acceptance 6

    Opposite Face Acceptance 5

    Step 3: Specify Face of Partition to be Machined

    Specify the face of the section that you want to be the "top" face when the part is being machined.

    • In the example provided, this is the left face of the Partition, so from the Face drop list select "Left" .
    • The accepted parts will appear in the preview pane.

    Opposite Face Acceptance 4



    See Also