示例#1
0
    def __init__(self,
                 name: str = "NoRecipeNameSet",
                 description: str = "NoRecipeDescriptionSet",
                 dateCreated: str = "NoDateSet",
                 axes: axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 seqList=None,
                 __verbose__: bool = 0,
                 **kwargs):
        """*Initializes recipe object*.

        Parameters
        ----------
        name: String
        description: String
        dateCreated: String
        path: Path
        axes: axes3DSpec
        tool: toolSpec
        seqList: list
        __verbose__: bool
        """

        # Pass in active axes/tool, other params
        if seqList is None:
            seqList = []
        self.dateCreated = dateCreated
        self.description = description
        self.name = name
        self.axes = axes
        self.tool = tool
        self.__verbose__ = __verbose__
        self.seqList = seqList
        self.cmdList = []  # For storing generated commands
        super().__init__(**kwargs)
示例#2
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """Initializes sensorElectrode object.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """

        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("Sequence Name", "sensorElectrode", "", ""),
            "description":
            seqParam(
                "Sequence Description", "Electrode with interleaving fingers, "
                "constant channel length, long axis = "
                "X", "", "sensorElectrode.py"),
            "creationDate":
            seqParam("Creation Date", "21/01/2021", "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Electronics", "", ""),
            "printSpd":
            seqParam("Printing Speed", "60", "mm/min", ""),
            "trvlSpd":
            seqParam("Travel Speed", "200", "mm/min", ""),
            "linewidth":
            seqParam("linewidth", "0.7", "mm", "Width of each printed line"),
            "leadIns":
            seqParam("lead-ins", "3", "mm", "Length of lead-in electrodes"),
            "xOverlap":
            seqParam("x-overlap", "1.230", "mm",
                     "x-length of overlap between 'fingers'"),
            "channlength":
            seqParam("channellength", "0.5", "mm",
                     "Distance between electrode 'fingers'"),
            "Z-hop height":
            seqParam("Z-hop", "1", "", "Height to raise Z-axis during travel "
                     "moves"),
            "toolOnVal":
            seqParam("Tool ON Value", "100", tool.units,
                     "Depends on tool loaded"),
            "toolTrvlVal":
            seqParam("Tool Travel Value", "0", tool.units,
                     "Depends on tool loaded"),
            "toolOffVal":
            seqParam("Tool OFF Value", "0", tool.units,
                     "Depends on tool loaded"),
            "cleanSteps":
            seqParam("cleanSteps", "F", "T/F",
                     "Allow nozzle cleaning between strokes?")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#3
0
    def __init__(self, axes: Axes3DSpec = nullAxes(), tool: toolSpec = nullTool(), **kwargs):
        """*Initializes cuboid object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "cuboid", "",
                             "Change if modifying from default"),
            "description": seqParam("Sequence Description",
                                    "3D Cuboid with base along the XY axes", "", ""),
            "creationDate": seqParam("Creation Date",
                                     "16/11/2019", "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Yilong Chang", "", ""),
            "owner": seqParam("Owner", "PCP_3DGeometries", "", "default: PCP_Core"),
            "printSpd": seqParam("Printing Speed", "60", "", ""),
            "width": seqParam("Width", "10", "mm", "in y direction"),
            "length": seqParam("Length", "20", "mm", "in x direction"),
            "height": seqParam("Height", "5", "mm", "in z direction"),
            "step": seqParam("layer height", "0.5", "mm", "the amount nozzle moves up after each layer"),
            "toolOnVal": seqParam("Tool ON Value", "100", tool.units,
                                  "Depends on tool loaded"),
            "toolOffVal": seqParam("Tool OFF Value", "000", tool.units,
                                   "Depends on tool loaded")}

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
    def __init__(self, axes: Axes3DSpec = nullAxes(), tool: toolSpec = nullTool(), **kwargs):
        """*Initializes setToolState object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "setToolState", "", ""),
            "description": seqParam("Sequence Description",
                                    "Set Tool Value or Dispense State", "", "setToolState.py"),
            "creationDate": seqParam("Creation Date",
                                     "05/05/2020", "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Bijal Patel", "", ""),
            "owner": seqParam("Owner", "PCP_Fundamentals", "", ""),
            "dispenseState": seqParam("dispenseState", "NoChange", "On/Off/NoChange",
                                      "Engage/Disengage/No Change"),
            "newVal": seqParam("newVal", "NoChange", "New value to set: Number or NoChange",
                               "New Tool Value to Set"),
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#5
0
    def __init__(self, axes: axes3DSpec = nullAxes(), tool: toolSpec = nullTool(), **kwargs):
        """*Initializes basicMove object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "basicMove", "",
                             "Change if modifying from default"),
            "description": seqParam("Sequence Description",
                                    "Move Axes (relative or abs)", "", "basicMove.py"),
            "creationDate": seqParam("Creation Date",
                                     "05/05/2020", "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Bijal Patel", "", ""),
            "owner": seqParam("Owner", "PCP_Fundamentals", "", "default: PCP_Core"),
            "posMode": seqParam("Positioning Mode", "relative", "absolute/relative",
                                "Versus current position or absolute origin"),
            "feedRate": seqParam("Axes Speed", "60", "mm/min", ""),
            "xMove": seqParam("X movement", "5", "mm",
                              "distance/location to move in X"),
            "yMove": seqParam("Y movement", "5", "mm",
                              "distance/location to move in Y"),
            "zMove": seqParam("Z movement", "5", "mm",
                              "distance/location to move in Z"),
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#6
0
    def __init__(self, axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(), **kwargs):
        """*Initializes pause object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "pause", "",
                             ""),
            "description": seqParam("Sequence Description",
                                    "Pause execution for a set duration, "
                                    "or until user confirms",
                                    "", "pause.py"),
            "creationDate": seqParam("Creation Date",
                                     "05/05/2020", "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Bijal Patel", "", ""),
            "owner": seqParam("Owner", "PCP_Fundamentals", "", ""),
            "pauseTime": seqParam("pauseTime", "1", "seconds",
                                  "time to wait before next cmd sent"),
            "doPrompt": seqParam("Prompt to Continue?", "N", "(Y/N)",
                                 "Will user be prompted to resume?")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#7
0
    def __init__(self, axes: Axes3DSpec = nullAxes(), tool: toolSpec = nullTool(), **kwargs):
        """*Initializes pulseTool object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "pulseTool", "",
                             "Change if modifying from default"),
            "description": seqParam("Sequence Description",
                                    "Pulse Tool at a set value for a given number of cycles", "", "pulseTool.py"),
            "creationDate": seqParam("Creation Date",
                                     "28/10/2020", "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Bijal Patel", "", ""),
            "owner": seqParam("Owner", "PCP_Fundamentals", "", ""),

            "toolOn": seqParam("Tool on Value", "5", "", "Value to set the Tool for during ON time"),
            "toolOff": seqParam("Tool Off Value", "-1", "", "Value to set the Tool for during OFF time, -1 forces tool "
                                                            "disengage instead of Off Value"),
            "timeOn": seqParam("On Time", "1.00", "seconds", "Per cycle, how long should the tool be ON for (accepts "
                                                             "decimals)?"),
            "timeOff": seqParam("Off Time", "1.00", "seconds", "Per cycle, how long should the tool be OFF for?"),
            "numCycles": seqParam("Cycles", "1", "", "How many cycles to execute?"),
            "pauseFinal": seqParam("Include Final Pause?", "N", "(Y/N)", "Should the sequence end with a pause?")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#8
0
    def __init__(self, axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(), tool2: toolSpec = nullTool2(), tool3: toolSpec = nullTool3(), **kwargs):
        """*Initializes PCPCodeFile object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec.Axes3DSpec
            The set of axes that commands will be sent to.
        tool: toolSpec.toolSpec
            A tool that commands will be sent to.
        tool2: toolSpec.toolSpec
            A tool that commands will be sent to.
        tool3: toolSpec.toolSpec
            A tool that commands will be sent to.
        """
        # Get current Date
        dateStr = str(datetime.date(datetime.now()))
        currentDate = dateStr[-5:-3] + '\\' + dateStr[-2:] + '\\' + dateStr[:4]

        # Create Params dict
        self.dictParams = {
            "name": seqParam("name", "PCPCodeFile", "",
                             ""),
            "description": seqParam("Sequence Description",
                                    "Importing a PCPCode file", "", ""),
            "creationDate": seqParam("Creation Date",
                                     currentDate, "", "dd/mm/yyyy"),
            "createdBy": seqParam("Created By", "Bijal Patel", "", ""),
            "owner": seqParam("Owner", "PCP_Advanced", "", ""),
            "filePath": seqParam("PCPCodeFilePath", "PathUnset", "",
                                 "Full File Path to target PCPCode File"),
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#9
0
    def __init__(self,
                 axes: axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes gapLine object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """

        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("Sequence Name", "gapLine", "",
                     "Change if modifying from default"),
            "description":
            seqParam("Sequence Description",
                     "Lines in X-direction with a gap where tool raises", "",
                     "gapLine.py"),
            "creationDate":
            seqParam("Creation Date", "13/11/2019", "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Electronics", "", "default: PCP_1DCore"),
            "printSpd":
            seqParam("Printing Speed", "60", "mm/min", ""),
            "trvlSpd":
            seqParam("Travel Speed", "200", "mm/min", ""),
            "xSegLength":
            seqParam("x-seglength", "10", "mm", "Length of each X segment"),
            "xGap":
            seqParam("X-Gap", "2", "mm", "Length of gap in X"),
            "numRows":
            seqParam("numRows", "3", "mm", "Number of lines to print"),
            "ySpacing":
            seqParam("Y-Spacing", "3", "mm", "Spacing (in y) between lines"),
            "Z-hop height":
            seqParam("Z-hop", "1", "", "Height to raise Z-axis for gap"),
            "toolOnVal":
            seqParam("Tool ON Value", "100", tool.units,
                     "Depends on tool loaded"),
            "toolTrvlVal":
            seqParam("Tool Travel Value", "0", tool.units,
                     "Depends on tool loaded"),
            "toolOffVal":
            seqParam("Tool OFF Value", "0", tool.units,
                     "Depends on tool loaded")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#10
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes GCodeFile object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec.Axes3DSpec
            The set of axes that commands will be sent to.
        tool: toolSpec.toolSpec
            The tool that commands will be sent to.
        """
        # Get current Date
        dateStr = str(datetime.date(datetime.now()))
        currentDate = dateStr[-5:-3] + '\\' + dateStr[-2:] + '\\' + dateStr[:4]

        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("name", "GCodeFileInkscape", "",
                     "Change if modifying from default"),
            "description":
            seqParam("Sequence Description", "Imported from GCodeFile", "",
                     ""),
            "creationDate":
            seqParam("Creation Date", currentDate, "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Advanced", "", ""),
            "filePath":
            seqParam("GCodeFilePath", "PathUnset", "",
                     "Full File Path to target GCode File"),
            "feedRate":
            seqParam("Printing Speed", "60", "mm/min", ""),
            "trvRate":
            seqParam("Travel Speed", "61", "mm/min", ""),
            "zRate":
            seqParam("Z Movement Speed", "62", "mm/min", ""),
            "Zhop":
            seqParam("Z hop height", "2", "mm", ""),
            "Ton":
            seqParam("Tool on Value", "5", "", "Tool value when dispensing"),
            "Toff":
            seqParam("Tool off Value", "5", "",
                     "Tool value when not dispensing"),
            "Ttrv":
            seqParam("Tool travel Value", "5", "",
                     "Tool value during travel moves"),
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#11
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes gapLine object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("name", "plate", "", "Change if modifying from default"),
            "description":
            seqParam(
                "Sequence Description",
                "Meanderline plate with adjustable parameters and speed/value screening",
                "", "plate.py"),
            "creationDate":
            seqParam("Creation Date", "13/11/2019", "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Simple2D", "", ""),
            "printSpd":
            seqParam("Printing Speed", "60", "", ""),
            "lineDir":
            seqParam("Line direction", "X", "", "Along X or Y"),
            "pitch":
            seqParam("Line Pitch", "1", "mm", ""),
            "length":
            seqParam("Line Length", "10", "mm", ""),
            "numLines":
            seqParam("Number of lines", "5", "mm", ""),
            "toolOnVal":
            seqParam("Tool ON Value", "100", tool.units,
                     "Depends on tool loaded"),
            "valInc":
            seqParam("Value Increment", "0", "", ""),
            "valOp":
            seqParam("Value Operation", "+", "", ""),
            "spdInc":
            seqParam("Speed Increment", "0", "", ""),
            "spdOp":
            seqParam("Speed Operation", "+", "", "")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#12
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes gapLine object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("name", "line", "", ""),
            "description":
            seqParam("Sequence Description",
                     "A single line along a specified vector", "", "line.py"),
            "creationDate":
            seqParam("Creation Date", "16/11/2019", "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Fundamentals", "", "default: PCP_Core"),
            "feedRate":
            seqParam("Axes Speed", "60", "mm/min", ""),
            "xMove":
            seqParam("X movement", "5", "mm",
                     "distance/location to move in X"),
            "yMove":
            seqParam("Y movement", "5", "mm",
                     "distance/location to move in Y"),
            "zMove":
            seqParam("Z movement", "5", "mm",
                     "distance/location to move in Z"),
            "toolOnVal":
            seqParam("Tool ON Value", "100", tool.units,
                     "Depends on tool loaded"),
            "toolOffVal":
            seqParam("Tool OFF Value", "000", tool.units,
                     "Depends on tool loaded")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#13
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """Initializes GCodeFile object with parameters for this sequence.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Get current Date

        dateStr = str(datetime.date(datetime.now()))
        currentDate = dateStr[-5:-3] + '\\' + dateStr[-2:] + '\\' + dateStr[:4]

        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("name", "GCodeFile3DSlicer", "", ""),
            "description":
            seqParam("Sequence Description",
                     "Adapts 3D GCode with triggered dispense", "", ""),
            "creationDate":
            seqParam("Creation Date", currentDate, "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Bijal Patel", "", ""),
            "owner":
            seqParam("Owner", "PCP_Advanced", "", "default: PCP_Core"),
            "filePath":
            seqParam("GCodeFilePath", "PathUnset", "",
                     "Full File Path to target GCode File"),
            "Ton":
            seqParam("Tool on Value", "5", "", "Tool value when dispensing"),
            "Toff":
            seqParam("Tool off Value", "0", "",
                     "Tool value when not dispensing"),
            "Ttrv":
            seqParam("Tool travel Value", "0", "",
                     "Tool value during travel moves"),
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)
示例#14
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 dictParams: dict = None,
                 __verbose__: bool = 0,
                 tool2: toolSpec = nullTool(),
                 tool3: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes sequence object*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        dictParams: dict
        __verbose__: bool
        kwargs
        """

        # Pass in active axes/tool
        self.axes = axes
        self.tool = tool
        self.tool2 = tool2
        self.tool3 = tool3

        # Provide default values to dictParams if initialized without
        if dictParams is None:
            dictParams = {
                "name":
                seqParam("Sequence Name", "default", "default", "default"),
                "description":
                seqParam("Sequence description", "default", "default",
                         "default"),
                "owner":
                seqParam("PCP_Default", "default", "default", "default"),
            }

        self.dictParams = dictParams
        self.verbose = __verbose__
        # Unwrap parameter to get just the string name and description
        self.cmdList = []
        super().__init__(**kwargs)
示例#15
0
    def __init__(self,
                 axes: Axes3DSpec = nullAxes(),
                 tool: toolSpec = nullTool(),
                 **kwargs):
        """*Initializes rectangle object with parameters for this sequence*.

        Parameters
        ----------
        axes: axes3DSpec
        tool: toolSpec
        """
        # Create Params dict
        self.dictParams = {
            "name":
            seqParam("name", "rectangle", "", ""),
            "description":
            seqParam("Sequence Description", "2D Rectangle along the XY axes",
                     "", ""),
            "creationDate":
            seqParam("Creation Date", "16/11/2019", "", "dd/mm/yyyy"),
            "createdBy":
            seqParam("Created By", "Yilong Chang", "", ""),
            "owner":
            seqParam("Owner", "PCP_Simple2D", "", "default: PCP_Core"),
            "printSpd":
            seqParam("Printing Speed", "60", "", ""),
            "width":
            seqParam("Width", "10", "mm", "in y direction"),
            "length":
            seqParam("Length", "20", "mm", "in x direction"),
            "toolOnVal":
            seqParam("Tool ON Value", "100", tool.units,
                     "Depends on tool loaded"),
            "toolOffVal":
            seqParam("Tool OFF Value", "000", tool.units,
                     "Depends on tool loaded")
        }

        # Pass values to parent
        super().__init__(axes, tool, self.dictParams, **kwargs)