예제 #1
0
def createCheckBox(parent, label, row, col):

    checkBox = WPFControls.CheckBox()
    checkBox.Content = label
    checkBox.Margin = System.Windows.Thickness(5.)

    WPFControls.Grid.SetRow(checkBox, row)
    WPFControls.Grid.SetColumn(checkBox, col)

    parent.Children.Add(checkBox)

    return checkBox
예제 #2
0
def CategoriesInActiveView():
    doc = __revit__.ActiveUIDocument.Document
    viewId = doc.ActiveView.Id
    elements = FilteredElementCollector(doc, viewId).WhereElementIsNotElementType().ToElements()
    categories = map(lambda e: e.Category, elements)
    for c in categories:
        if c == None:
            categories.remove(c)
    category_names = map(lambda c: c.Name, categories)
    category_name = []
    for c in category_names:
        if c not in category_name:
            category_name.append(c)
    return category_name
cbs = []
for c in CategoriesInActiveView():
    cb = Controls.CheckBox()
    cb.Content = c
    cbs.append(cb)
class MyWindow(Window):

    def __init__(self):

        wpf.LoadComponent(self, xamlfile)

        self.Icon = Media.Imaging.BitmapImage(Uri(dir_name + "\portcoast.ico", UriKind.Relative))

        self.lbCategories.ItemsSource = cbs

MyWindow().ShowDialog()
예제 #3
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    IDLbl = WPFControls.TextBlock()
    IDLbl.Text = "Hatching definition"
    WPFControls.Grid.SetRow(IDLbl, currRow)
    IDLbl.FontSize = 11

    # Create label and input field
    currRow += 1
    layerLbl = WPFControls.TextBlock()
    layerLbl.Text = "   Trajec. spacing (mm): "
    WPFControls.Grid.SetRow(layerLbl, currRow)
    WPFControls.Grid.SetColumn(layerLbl, 0)

    global distanceLine
    distanceLine = WPFControls.TextBox()
    WPFControls.Grid.SetRow(distanceLine, currRow)
    WPFControls.Grid.SetColumn(distanceLine, 1)

    # Create label and input field
    currRow += 1
    pointSpacing = WPFControls.TextBlock()
    pointSpacing.Text = "   Point spacing (mm):"
    WPFControls.Grid.SetRow(pointSpacing, currRow)
    WPFControls.Grid.SetColumn(pointSpacing, 0)

    global pointSpacingValue
    pointSpacingValue = WPFControls.TextBox()
    WPFControls.Grid.SetRow(pointSpacingValue, currRow)
    WPFControls.Grid.SetColumn(pointSpacingValue, 1)

    # Type of angular cut
    currRow += 1
    angleCutType = WPFControls.TextBlock()
    angleCutType.Text = "   Angular cut:"
    WPFControls.Grid.SetRow(angleCutType, currRow)
    WPFControls.Grid.SetColumn(angleCutType, 0)

    # Create a Combo box
    global angleTypeSelection
    angleTypeSelection = WPFControls.ComboBox()

    item1 = WPFControls.ComboBoxItem()
    item1.Content = "Single angle"
    angleTypeSelection.Items.Add(item1)

    item2 = WPFControls.ComboBoxItem()
    item2.Content = "Incremental"
    angleTypeSelection.Items.Add(item2)

    item3 = WPFControls.ComboBoxItem()
    item3.Content = "Cycle through"
    angleTypeSelection.Items.Add(item3)

    angleTypeSelection.SelectedIndex = "0"
    WPFControls.Grid.SetRow(angleTypeSelection, currRow)
    WPFControls.Grid.SetColumn(angleTypeSelection, 1)
    #angleTypeSelection.SelectionChanged += HandleAngleSelection

    # Create label and input field
    currRow += 1
    global angleLbl
    angleLbl = WPFControls.TextBlock()
    angleLbl.Text = "   Angle (deg):"
    WPFControls.Grid.SetRow(angleLbl, currRow)
    WPFControls.Grid.SetColumn(angleLbl, 0)

    global angleValue
    angleValue = WPFControls.TextBox()
    WPFControls.Grid.SetRow(angleValue, currRow)
    WPFControls.Grid.SetColumn(angleValue, 1)

    # Create checkbox to ask for mesh
    currRow += 1
    global meshCheck
    meshCheck = WPFControls.CheckBox()
    meshCheck.Content = "Mesh the layers for me"
    meshCheck.Height = 25
    WPFControls.Grid.SetRow(meshCheck, currRow)
    WPFControls.Grid.SetColumn(meshCheck, 0)
    WPFControls.Grid.SetColumnSpan(meshCheck, 3)

    # Create a button
    currRow += 1
    getDirectory = WPFControls.Button()
    getDirectory.Content = "Select directory to save"
    WPFControls.Grid.SetRow(getDirectory, currRow)
    WPFControls.Grid.SetColumn(getDirectory, 0)
    getDirectory.Height = 30
    WPFControls.Grid.SetColumnSpan(getDirectory, 3)
    getDirectory.Click += HandleGetDir

    global dialog
    dialog = FolderBrowserDialog()
    dialog.Description = "Choose where to save trajectories"
    dialog.ShowNewFolderButton = True

    # Create a button
    currRow += 1
    goSlice = WPFControls.Button()
    goSlice.Content = "Create hatching"
    WPFControls.Grid.SetRow(goSlice, currRow)
    WPFControls.Grid.SetColumn(goSlice, 0)
    goSlice.Height = 30
    WPFControls.Grid.SetColumnSpan(goSlice, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goSlice.Click += HandleApplyButton

    # Add the controls to the Grid
    my_Grid.Children.Add(IDLbl)
    my_Grid.Children.Add(layerLbl)
    my_Grid.Children.Add(distanceLine)
    my_Grid.Children.Add(pointSpacing)
    my_Grid.Children.Add(pointSpacingValue)

    my_Grid.Children.Add(angleCutType)
    my_Grid.Children.Add(angleTypeSelection)
    my_Grid.Children.Add(angleLbl)
    my_Grid.Children.Add(angleValue)

    my_Grid.Children.Add(getDirectory)

    my_Grid.Children.Add(meshCheck)
    my_Grid.Children.Add(goSlice)

    # Return the Grid
    return my_Grid
예제 #4
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    IDLbl = WPFControls.TextBlock()
    IDLbl.Text = "Separate by distance"
    WPFControls.Grid.SetRow(IDLbl, currRow)
    IDLbl.FontSize = 11

    # Create input field
    currRow += 1
    lbl01 = WPFControls.TextBlock()
    lbl01.Text = "Distance (mm):"
    WPFControls.Grid.SetRow(lbl01, currRow)
    WPFControls.Grid.SetColumn(lbl01, 0)

    global input01
    input01 = WPFControls.TextBox()
    WPFControls.Grid.SetRow(input01, currRow)
    WPFControls.Grid.SetColumn(input01, 1)
    input01.Text = "2.0"
    
    # Create checkbox to ask for mesh
    currRow += 1
    global check01
    check01 = WPFControls.CheckBox()
    check01.Content = "Separate in new assembly"
    check01.Height = 30
    WPFControls.Grid.SetRow(check01, currRow)
    WPFControls.Grid.SetColumn(check01, 0)
    WPFControls.Grid.SetColumnSpan(check01, 3)
    check01.IsChecked = System.Nullable[System.Boolean](True)

    # Create a button
    currRow += 1
    goButton = WPFControls.Button()
    goButton.Content = "Find close parts"
    WPFControls.Grid.SetRow(goButton, currRow)
    WPFControls.Grid.SetColumn(goButton, 0)
    goButton.Height = 30
    WPFControls.Grid.SetColumnSpan(goButton, 3)


    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goButton.Click += HandleApplyButton

    # Add the controls to the Grid
    #my_Grid.Children.Add(IDLbl)
    my_Grid.Children.Add(lbl01)
    my_Grid.Children.Add(input01)
 
    my_Grid.Children.Add(check01)
    my_Grid.Children.Add(goButton)


    # Return the Grid
    return my_Grid
예제 #5
0
def getCustomToolPropertyContent():
    #Create a Grid
    my_Grid = WPFControls.Grid()

    #Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    horizLabel = WPFControls.TextBlock()
    horizLabel.Text = "Shape definition"
    WPFControls.Grid.SetRow(horizLabel, currRow)
    horizLabel.FontSize = 11

    currRow += 1
    horizWidthLbl = WPFControls.TextBlock()
    horizWidthLbl.Text = "    Width (mm):"
    WPFControls.Grid.SetRow(horizWidthLbl, currRow)
    WPFControls.Grid.SetColumn(horizWidthLbl, 0)

    global horizWidthInput
    horizWidthInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizWidthInput, currRow)
    WPFControls.Grid.SetColumn(horizWidthInput, 1)

    currRow += 1
    horizLengthLbl = WPFControls.TextBlock()
    horizLengthLbl.Text = "    Length (mm):"
    WPFControls.Grid.SetRow(horizLengthLbl, currRow)
    WPFControls.Grid.SetColumn(horizLengthLbl, 0)

    global horizLengthInput
    horizLengthInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizLengthInput, currRow)
    WPFControls.Grid.SetColumn(horizLengthInput, 1)

    currRow += 1
    horizThickLbl = WPFControls.TextBlock()
    horizThickLbl.Text = "    Base thickness (mm):"
    WPFControls.Grid.SetRow(horizThickLbl, currRow)
    WPFControls.Grid.SetColumn(horizThickLbl, 0)

    global horizThickInput
    horizThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizThickInput, currRow)
    WPFControls.Grid.SetColumn(horizThickInput, 1)

    # -- Vertical sheet definition
    currRow += 1
    vertLabel = WPFControls.TextBlock()
    vertLabel.Text = "Vertical sheet definition"
    WPFControls.Grid.SetRow(vertLabel, currRow)
    vertLabel.FontSize = 11

    currRow += 1
    vertHeightLbl = WPFControls.TextBlock()
    vertHeightLbl.Text = "    Height (mm):"
    WPFControls.Grid.SetRow(vertHeightLbl, currRow)
    WPFControls.Grid.SetColumn(vertHeightLbl, 0)

    global vertHeightInput
    vertHeightInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(vertHeightInput, currRow)
    WPFControls.Grid.SetColumn(vertHeightInput, 1)

    currRow += 1
    vertLengthLbl = WPFControls.TextBlock()
    vertLengthLbl.Text = "    Length (mm):"
    WPFControls.Grid.SetRow(vertLengthLbl, currRow)
    WPFControls.Grid.SetColumn(vertLengthLbl, 0)

    global vertLengthInput
    vertLengthInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(vertLengthInput, currRow)
    WPFControls.Grid.SetColumn(vertLengthInput, 1)

    currRow += 1
    vertThickLbl = WPFControls.TextBlock()
    vertThickLbl.Text = "    Web thickness (mm):"
    WPFControls.Grid.SetRow(vertThickLbl, currRow)
    WPFControls.Grid.SetColumn(vertThickLbl, 0)

    global vertThickInput
    vertThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(vertThickInput, currRow)
    WPFControls.Grid.SetColumn(vertThickInput, 1)

    # Create checkbox to ask for mesh
    currRow += 1
    global chkMesh
    chkMesh = WPFControls.CheckBox()
    chkMesh.Content = "Mesh the joint for me"
    chkMesh.Height = 20
    WPFControls.Grid.SetRow(chkMesh, currRow)
    WPFControls.Grid.SetColumn(chkMesh, 0)
    WPFControls.Grid.SetColumnSpan(chkMesh, 3)

    #Create a button
    currRow += 1
    buildJoint = WPFControls.Button()
    buildJoint.Content = "Build joint"
    WPFControls.Grid.SetRow(buildJoint, currRow)
    WPFControls.Grid.SetColumn(buildJoint, 0)
    buildJoint.Height = 30
    WPFControls.Grid.SetColumnSpan(buildJoint, 3)

    #Link a function to the Button "Click" event
    #This function will be called every time the Button is clicked
    buildJoint.Click += BuildJoint

    # Add the controls to the Grid
    my_Grid.Children.Add(horizLabel)
    my_Grid.Children.Add(horizWidthLbl)
    my_Grid.Children.Add(horizWidthInput)
    my_Grid.Children.Add(horizLengthLbl)
    my_Grid.Children.Add(horizLengthInput)
    my_Grid.Children.Add(horizThickLbl)
    my_Grid.Children.Add(horizThickInput)

    #my_Grid.Children.Add(vertLabel)
    #my_Grid.Children.Add(vertHeightLbl)
    #my_Grid.Children.Add(vertHeightInput)
    #my_Grid.Children.Add(vertLengthLbl)
    #my_Grid.Children.Add(vertLengthInput)
    my_Grid.Children.Add(vertThickLbl)
    my_Grid.Children.Add(vertThickInput)

    my_Grid.Children.Add(chkMesh)
    my_Grid.Children.Add(buildJoint)

    #Return the Grid
    return my_Grid
예제 #6
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    #my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # Create input field
    currRow += 1
    lbl01 = WPFControls.TextBlock()
    lbl01.Text = "Region diam. (mm):"
    WPFControls.Grid.SetRow(lbl01, currRow)
    WPFControls.Grid.SetColumn(lbl01, 0)

    global input01
    input01 = WPFControls.TextBox()
    WPFControls.Grid.SetRow(input01, currRow)
    WPFControls.Grid.SetColumn(input01, 1)

    # Create checkbox to extend the weld bead
    currRow += 1
    global chkBox01
    chkBox01 = WPFControls.CheckBox()
    chkBox01.Content = "Extend region"
    chkBox01.Height = 20
    WPFControls.Grid.SetRow(chkBox01, currRow)
    WPFControls.Grid.SetColumn(chkBox01, 1)
    WPFControls.Grid.SetColumnSpan(chkBox01, 2)
    chkBox01.IsChecked = System.Nullable[System.Boolean](True)

    # Create a button
    currRow += 2
    goButton = WPFControls.Button()
    goButton.Content = "Create regions"
    WPFControls.Grid.SetRow(goButton, currRow)
    WPFControls.Grid.SetColumn(goButton, 0)
    goButton.Height = 30
    WPFControls.Grid.SetColumnSpan(goButton, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goButton.Click += HandleApplyButton

    my_Grid.Children.Add(lbl01)
    my_Grid.Children.Add(input01)
    my_Grid.Children.Add(chkBox01)

    my_Grid.Children.Add(goButton)


    # Return the Grid
    return my_Grid
예제 #7
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    IDLbl = WPFControls.TextBlock()
    IDLbl.Text = "Slicing definition"
    WPFControls.Grid.SetRow(IDLbl, currRow)
    IDLbl.FontSize = 11

    # Create input field
    currRow += 1
    layerLbl = WPFControls.TextBlock()
    layerLbl.Text = "   Layer height (mm):"
    WPFControls.Grid.SetRow(layerLbl, currRow)
    WPFControls.Grid.SetColumn(layerLbl, 0)

    global layerHeight
    layerHeight = WPFControls.TextBox()
    WPFControls.Grid.SetRow(layerHeight, currRow)
    WPFControls.Grid.SetColumn(layerHeight, 1)

    # Create checkbox to ask for mesh
    currRow += 1
    global chkSplit
    chkSplit = WPFControls.CheckBox()
    chkSplit.Content = "Do not create multiple solids"
    chkSplit.Height = 20
    WPFControls.Grid.SetRow(chkSplit, currRow)
    WPFControls.Grid.SetColumn(chkSplit, 0)
    WPFControls.Grid.SetColumnSpan(chkSplit, 3)

    # Create a button
    currRow += 1
    goSlice = WPFControls.Button()
    goSlice.Content = "Slice geometry"
    WPFControls.Grid.SetRow(goSlice, currRow)
    WPFControls.Grid.SetColumn(goSlice, 0)
    goSlice.Height = 30
    WPFControls.Grid.SetColumnSpan(goSlice, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goSlice.Click += HandleApplyButton

    # Add the controls to the Grid
    my_Grid.Children.Add(IDLbl)
    my_Grid.Children.Add(layerLbl)
    my_Grid.Children.Add(layerHeight)

    my_Grid.Children.Add(chkSplit)
    my_Grid.Children.Add(goSlice)

    # Return the Grid
    return my_Grid
예제 #8
0
def getCustomToolPropertyContent():
    #Create a Grid
    my_Grid = WPFControls.Grid()

    #Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # -- Horizontal sheet definition
    horizLabel = WPFControls.TextBlock()
    horizLabel.Text = "Shape definition"
    WPFControls.Grid.SetRow(horizLabel, currRow)
    horizLabel.FontSize = 11

    currRow += 1
    spotLbl = WPFControls.TextBlock()
    spotLbl.Text = "    Spot diam. (mm):"
    WPFControls.Grid.SetRow(spotLbl, currRow)
    WPFControls.Grid.SetColumn(spotLbl, 0)

    global spotSize
    spotSize = WPFControls.TextBox()
    WPFControls.Grid.SetRow(spotSize, currRow)
    WPFControls.Grid.SetColumn(spotSize, 1)

    currRow += 1
    horizThickLbl = WPFControls.TextBlock()
    horizThickLbl.Text = "    Sheet 01 thickn. (mm):"
    WPFControls.Grid.SetRow(horizThickLbl, currRow)
    WPFControls.Grid.SetColumn(horizThickLbl, 0)

    global horizThickInput
    horizThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizThickInput, currRow)
    WPFControls.Grid.SetColumn(horizThickInput, 1)

    # -- Parameters definition
    currRow += 1
    vertThickLbl = WPFControls.TextBlock()
    vertThickLbl.Text = "    Sheet 02 thickn. (mm):"
    WPFControls.Grid.SetRow(vertThickLbl, currRow)
    WPFControls.Grid.SetColumn(vertThickLbl, 0)

    global vertThickInput
    vertThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(vertThickInput, currRow)
    WPFControls.Grid.SetColumn(vertThickInput, 1)

    # -- Parameters definition
    currRow += 1
    gapLbl = WPFControls.TextBlock()
    gapLbl.Text = "    Gap between sheets (mm):"
    WPFControls.Grid.SetRow(gapLbl, currRow)
    WPFControls.Grid.SetColumn(gapLbl, 0)

    global gapInput
    gapInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(gapInput, currRow)
    WPFControls.Grid.SetColumn(gapInput, 1)

    # Create grippers?
    currRow += 1
    global chkCreateGrippers
    chkCreateGrippers = WPFControls.CheckBox()
    chkCreateGrippers.Content = "Create grippers"
    chkCreateGrippers.Height = 20
    WPFControls.Grid.SetRow(chkCreateGrippers, currRow)
    WPFControls.Grid.SetColumn(chkCreateGrippers, 0)
    #WPFControls.Grid.SetColumnSpan(chkCreateGrippers, 3)

    # Create a horizontal array of three radio buttons
    # Create a WrapPanel
    hWrapPanel = WPFControls.WrapPanel()
    hWrapPanel.Orientation = WPFControls.Orientation.Horizontal

    # Second Button Array
    # Create a label for the second radio button array
    currRow += 1
    lblMeshType = WPFControls.TextBlock()
    lblMeshType.Text = "Meshing"
    WPFControls.Grid.SetRow(lblMeshType, currRow)
    WPFControls.Grid.SetColumn(lblMeshType, 0)

    # Create a List to hold the radio buttons in the first array
    # We'll use this later to make it easier to find which button is checked
    global horizontal_radio_buttons
    horizontal_radio_buttons = []

    # Create a first radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[0].Content = "No mesh"

    # Set the first radio button to be checked
    # Note the horrible notation required to define a Nullable Boolean True
    horizontal_radio_buttons[0].IsChecked = System.Nullable[System.Boolean](
        True)
    hWrapPanel.Children.Add(horizontal_radio_buttons[0])

    # Create a second radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[1].Content = "For weld"
    hWrapPanel.Children.Add(horizontal_radio_buttons[1])

    # Create a third radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[2].Content = "Pull test"
    hWrapPanel.Children.Add(horizontal_radio_buttons[2])

    # Position the WrapPanel in the first row, column of the Grid
    currRow += 1
    WPFControls.Grid.SetRow(hWrapPanel, currRow)
    WPFControls.Grid.SetColumn(hWrapPanel, 0)
    WPFControls.Grid.SetColumnSpan(hWrapPanel, 3)

    #Create a button
    currRow += 2
    buildJoint = WPFControls.Button()
    buildJoint.Content = "Build joint"
    WPFControls.Grid.SetRow(buildJoint, currRow)
    WPFControls.Grid.SetColumn(buildJoint, 0)
    buildJoint.Height = 30
    WPFControls.Grid.SetColumnSpan(buildJoint, 3)

    #Link a function to the Button "Click" event
    #This function will be called every time the Button is clicked
    buildJoint.Click += BuildJoint

    # Add the controls to the Grid
    my_Grid.Children.Add(spotLbl)
    my_Grid.Children.Add(spotSize)
    my_Grid.Children.Add(horizLabel)
    my_Grid.Children.Add(horizThickLbl)
    my_Grid.Children.Add(horizThickInput)
    my_Grid.Children.Add(vertThickLbl)
    my_Grid.Children.Add(vertThickInput)
    my_Grid.Children.Add(gapLbl)
    my_Grid.Children.Add(gapInput)

    my_Grid.Children.Add(chkCreateGrippers)

    my_Grid.Children.Add(lblMeshType)
    my_Grid.Children.Add(hWrapPanel)
    my_Grid.Children.Add(buildJoint)

    #Return the Grid
    return my_Grid
예제 #9
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    # Row 0
    currRow = 0
    # Create a label (TextBlock)
    # Set it's Text value
    # Assign it to Row 0, Column 0
    refineTextBlock = WPFControls.TextBlock()
    refineTextBlock.Text = "Bead leg (mm):"
    WPFControls.Grid.SetRow(refineTextBlock, currRow)
    WPFControls.Grid.SetColumn(refineTextBlock, 0)
    global refineSizeTextBox

    # Create an empty input TextBox assign it to Row 0, Column 1
    refineSizeTextBox = WPFControls.TextBox()
    WPFControls.Grid.SetRow(refineSizeTextBox, currRow)
    WPFControls.Grid.SetColumn(refineSizeTextBox, 1)

    # Create a button and set it's text to "Import"
    # Assign it to Row1, Column 0
    currRow += 1
    importBtn = WPFControls.Button()
    importBtn.Content = "Import CSV files"
    WPFControls.Grid.SetRow(importBtn, currRow)
    WPFControls.Grid.SetColumn(importBtn, 0)
    WPFControls.Grid.SetColumnSpan(importBtn, 2)
    importBtn.Height = 30

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    importBtn.Click += HandleimportBtn

    # Create an empty input TextBox
    currRow += 1
    global fileNameTextBox
    fileNameTextBox = WPFControls.TextBlock()
    WPFControls.Grid.SetRow(fileNameTextBox, currRow)
    WPFControls.Grid.SetColumn(fileNameTextBox, 1)
    fileNameTextBox.Text = "None"

    selectedFilesText = WPFControls.TextBlock()
    selectedFilesText.Text = "File(s) selected:"
    WPFControls.Grid.SetRow(selectedFilesText, currRow)
    WPFControls.Grid.SetColumn(selectedFilesText, 0)

    # Create a Combo box
    currRow += 1
    UnitNameLbl = WPFControls.TextBlock()
    UnitNameLbl.Text = "Length unit in file(s):"
    WPFControls.Grid.SetRow(UnitNameLbl, currRow)
    WPFControls.Grid.SetColumn(UnitNameLbl, 0)
    global unitType
    unitType = WPFControls.ComboBox()

    item1 = WPFControls.ComboBoxItem()
    item1.Content = "Millimeters"
    unitType.Items.Add(item1)

    item2 = WPFControls.ComboBoxItem()
    item2.Content = "Meters"
    unitType.Items.Add(item2)

    item3 = WPFControls.ComboBoxItem()
    item3.Content = "Inches"
    unitType.Items.Add(item3)

    unitType.SelectedIndex = "0"
    WPFControls.Grid.SetRow(unitType, currRow)
    WPFControls.Grid.SetColumn(unitType, 1)

    # Create checkbox to extend the weld bead
    currRow += 1
    extendLbl = WPFControls.TextBlock()
    WPFControls.Grid.SetRow(extendLbl, currRow)
    WPFControls.Grid.SetColumn(extendLbl, 0)
    extendLbl.Text = "Extend by diameter:"
    global extendBead
    extendBead = WPFControls.CheckBox()
    extendBead.Content = "Extend"
    extendBead.Height = 20
    WPFControls.Grid.SetRow(extendBead, currRow)
    WPFControls.Grid.SetColumn(extendBead, 1)
    # WPFControls.Grid.SetColumnSpan(extendBead, 2)

    # Create a button and set it's text to "Create beads"
    # Assign it to Row1, Column 0
    currRow += 1
    createBeads = WPFControls.Button()
    createBeads.Content = "Create trajectories"
    WPFControls.Grid.SetRow(createBeads, currRow)
    WPFControls.Grid.SetColumn(createBeads, 0)
    WPFControls.Grid.SetColumnSpan(createBeads, 2)
    createBeads.Height = 30

    # Link a function to the Button "Click" event
    # This function will be called every time the Butto is clicked
    createBeads.Click += CreateBeads

    # Add the controls to the Grid
    my_Grid.Children.Add(refineSizeTextBox)
    my_Grid.Children.Add(extendLbl)
    my_Grid.Children.Add(extendBead)
    my_Grid.Children.Add(importBtn)
    my_Grid.Children.Add(refineTextBlock)
    my_Grid.Children.Add(selectedFilesText)
    my_Grid.Children.Add(fileNameTextBox)
    my_Grid.Children.Add(UnitNameLbl)
    my_Grid.Children.Add(unitType)
    my_Grid.Children.Add(createBeads)

    # Return the Grid
    return my_Grid
예제 #10
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())

    currRow = 0

    # Create input field
    currRow += 1
    lbl01 = WPFControls.TextBlock()
    lbl01.Text = "Distance (mm):"
    WPFControls.Grid.SetRow(lbl01, currRow)
    WPFControls.Grid.SetColumn(lbl01, 0)
    WPFControls.Grid.SetColumnSpan(lbl01, 1)

    global input01
    input01 = WPFControls.TextBox()
    WPFControls.Grid.SetRow(input01, currRow)
    WPFControls.Grid.SetColumn(input01, 1)

    # Create checkbox
    currRow += 1
    global chk01
    chk01 = WPFControls.CheckBox()
    chk01.Content = "Split solids"
    chk01.Height = 20
    WPFControls.Grid.SetRow(chk01, currRow)
    WPFControls.Grid.SetColumn(chk01, 0)
    WPFControls.Grid.SetColumnSpan(chk01, 1)

    # Create checkbox
    currRow += 1
    global chk02
    chk02 = WPFControls.CheckBox()
    chk02.Content = "Split surfaces"
    chk02.Height = 20
    WPFControls.Grid.SetRow(chk02, currRow)
    WPFControls.Grid.SetColumn(chk02, 0)
    WPFControls.Grid.SetColumnSpan(chk02, 1)
    chk02.IsChecked = System.Nullable[System.Boolean](True)

    # Create checkbox
    currRow += 1
    global chk03
    chk03 = WPFControls.CheckBox()
    chk03.Content = "Suppress extra vertices"
    chk03.Height = 20
    WPFControls.Grid.SetRow(chk03, currRow)
    WPFControls.Grid.SetColumn(chk03, 0)
    WPFControls.Grid.SetColumnSpan(chk03, 1)

    # Create a button
    currRow += 1
    actionButton = WPFControls.Button()
    actionButton.Content = "Expand beads and split"
    WPFControls.Grid.SetRow(actionButton, currRow)
    WPFControls.Grid.SetColumn(actionButton, 0)
    actionButton.Height = 30
    WPFControls.Grid.SetColumnSpan(actionButton, 2)
    actionButton.Click += HandleApplyButton  # Link a function to the Button "Click" event

    # Add the controls to the Grid
    my_Grid.Children.Add(lbl01)
    my_Grid.Children.Add(input01)
    my_Grid.Children.Add(chk01)
    my_Grid.Children.Add(chk02)
    my_Grid.Children.Add(chk03)

    my_Grid.Children.Add(actionButton)

    # Return the Grid
    return my_Grid
예제 #11
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # Create input field
    currRow += 1
    lbl01 = WPFControls.TextBlock()
    lbl01.Text = "Group name:"
    WPFControls.Grid.SetRow(lbl01, currRow)
    WPFControls.Grid.SetColumn(lbl01, 0)

    global input01
    input01 = WPFControls.TextBox()
    WPFControls.Grid.SetRow(input01, currRow)
    WPFControls.Grid.SetColumn(input01, 1)

    # Create checkbox to extend the weld bead
    currRow += 1
    global chkBox01
    chkBox01 = WPFControls.CheckBox()
    chkBox01.Content = "Create under the same parent"
    chkBox01.Height = 20
    WPFControls.Grid.SetRow(chkBox01, currRow)
    WPFControls.Grid.SetColumn(chkBox01, 1)

    # Create a button
    currRow += 1
    currRow += 1
    goButton = WPFControls.Button()
    goButton.Content = "Create assembly"
    WPFControls.Grid.SetRow(goButton, currRow)
    WPFControls.Grid.SetColumn(goButton, 0)
    goButton.Height = 30
    WPFControls.Grid.SetColumnSpan(goButton, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goButton.Click += HandleApplyButton

    my_Grid.Children.Add(lbl01)
    my_Grid.Children.Add(input01)
    my_Grid.Children.Add(chkBox01)

    my_Grid.Children.Add(goButton)

    # Return the Grid
    return my_Grid
예제 #12
0
def getCustomToolPropertyContent():
   #Create a Grid
   my_Grid = WPFControls.Grid()
   
   #Add 2 Rows and 1 Column
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
   my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

   currRow = 0

   generalLbl = WPFControls.TextBlock()
   generalLbl.Text = "Shape definition"
   WPFControls.Grid.SetRow(generalLbl, currRow)
   generalLbl.FontSize = 11
   
   
   # -- Sheet 01 definition
   currRow += 1
   globalWidthLbl = WPFControls.TextBlock()
   globalWidthLbl.Text = "    Width (mm):"
   WPFControls.Grid.SetRow(globalWidthLbl, currRow)
   WPFControls.Grid.SetColumn(globalWidthLbl, 0)
   
   global globalWidthInput
   globalWidthInput =WPFControls.TextBox()
   WPFControls.Grid.SetRow(globalWidthInput, currRow)
   WPFControls.Grid.SetColumn(globalWidthInput, 1)

   currRow += 1
   globalLengthLbl = WPFControls.TextBlock()
   globalLengthLbl.Text = "    Length (mm):"
   WPFControls.Grid.SetRow(globalLengthLbl, currRow)
   WPFControls.Grid.SetColumn(globalLengthLbl, 0)
   
   global globalLengthInput
   globalLengthInput =WPFControls.TextBox()
   WPFControls.Grid.SetRow(globalLengthInput, currRow)
   WPFControls.Grid.SetColumn(globalLengthInput, 1)
   
   currRow += 1
   thick01Lbl = WPFControls.TextBlock()
   thick01Lbl.Text = "    Thickness 01 (mm):"
   WPFControls.Grid.SetRow(thick01Lbl, currRow)
   WPFControls.Grid.SetColumn(thick01Lbl, 0)
   
   global thick01Input
   thick01Input =WPFControls.TextBox()
   WPFControls.Grid.SetRow(thick01Input, currRow)
   WPFControls.Grid.SetColumn(thick01Input, 1)


   
   # -- Vertical sheet definition
   currRow += 1
   thick02Lbl = WPFControls.TextBlock()
   thick02Lbl.Text = "    Thickness 02 (mm):"
   WPFControls.Grid.SetRow(thick02Lbl, currRow)
   WPFControls.Grid.SetColumn(thick02Lbl, 0)
   
   global thick02Input
   thick02Input = WPFControls.TextBox()
   WPFControls.Grid.SetRow(thick02Input, currRow)
   WPFControls.Grid.SetColumn(thick02Input, 1)


   # Create checkbox to ask for mesh
   currRow += 1
   global chkMesh
   chkMesh = WPFControls.CheckBox()
   chkMesh.Content = "Mesh the joint for me"
   chkMesh.Height = 20
   WPFControls.Grid.SetRow(chkMesh, currRow)
   WPFControls.Grid.SetColumn(chkMesh, 0)
   WPFControls.Grid.SetColumnSpan(chkMesh, 3)

   #Create a button
   currRow += 1
   buildJoint = WPFControls.Button()
   buildJoint.Content="Build joint"
   WPFControls.Grid.SetRow(buildJoint, currRow)
   WPFControls.Grid.SetColumn(buildJoint, 0)
   buildJoint.Height = 30
   WPFControls.Grid.SetColumnSpan(buildJoint, 3)
   
   #Link a function to the Button "Click" event 
   #This function will be called every time the Button is clicked
   buildJoint.Click+=BuildJoint
   
   # Add the controls to the Grid
   my_Grid.Children.Add(generalLbl)
   my_Grid.Children.Add(globalWidthLbl)
   my_Grid.Children.Add(globalWidthInput)
   my_Grid.Children.Add(globalLengthLbl)
   my_Grid.Children.Add(globalLengthInput)
   
   my_Grid.Children.Add(thick01Lbl)
   my_Grid.Children.Add(thick01Input)

   my_Grid.Children.Add(thick02Lbl)
   my_Grid.Children.Add(thick02Input)

   my_Grid.Children.Add(chkMesh)
   my_Grid.Children.Add(buildJoint)
      
   #Return the Grid
   return my_Grid
예제 #13
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 6 Rows and One Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # Create a label for the first radio button array
    meshTextBlock = WPFControls.TextBlock()
    meshTextBlock.Text = "Vertical Array"
    WPFControls.Grid.SetRow(meshTextBlock, currRow)
    WPFControls.Grid.SetColumn(meshTextBlock, 0)

    currRow += 1
    # Create a label for the second radio button array
    meshTextBlock2 = WPFControls.TextBlock()
    meshTextBlock2.Text = "Joint type"
    meshTextBlock2.FontSize = 11
    WPFControls.Grid.SetRow(meshTextBlock2, currRow)
    WPFControls.Grid.SetColumn(meshTextBlock2, 0)

    # Create a horizontal array of three radio buttons
    # Create a WrapPanel
    hWrapPanel = WPFControls.WrapPanel()
    hWrapPanel.Orientation = WPFControls.Orientation.Horizontal

    # Create a List to hold the radio buttons in the first array
    # We'll use this later to make it easier to find which button is checked
    currRow += 1
    global horizontal_radio_buttons
    horizontal_radio_buttons = []

    # Create a first radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[0].Content = "Lap joint"

    # Set the first radio button to be checked
    # Note the horrible notation required to define a Nullable Boolean True
    horizontal_radio_buttons[0].IsChecked = System.Nullable[System.Boolean](
        True)
    hWrapPanel.Children.Add(horizontal_radio_buttons[0])

    # Create a second radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[1].Content = "T-joint"
    hWrapPanel.Children.Add(horizontal_radio_buttons[1])

    # Create a third radio button and add to the WrapPanel
    horizontal_radio_buttons.append(WPFControls.RadioButton())
    horizontal_radio_buttons[2].Content = "Flush corner"
    hWrapPanel.Children.Add(horizontal_radio_buttons[2])

    # Position the WrapPanel in the first row, column of the Grid
    WPFControls.Grid.SetRow(hWrapPanel, 3)
    WPFControls.Grid.SetColumn(hWrapPanel, 0)
    WPFControls.Grid.SetColumnSpan(hWrapPanel, 2)

    # -- Horizontal sheet definition
    currRow += 1
    currRow += 1
    currRow += 1
    horizLabel = WPFControls.TextBlock()
    horizLabel.Text = "Shape definition"
    WPFControls.Grid.SetRow(horizLabel, currRow)
    horizLabel.FontSize = 11

    currRow += 1
    horizWidthLbl = WPFControls.TextBlock()
    horizWidthLbl.Text = "    Width (mm):"
    WPFControls.Grid.SetRow(horizWidthLbl, currRow)
    WPFControls.Grid.SetColumn(horizWidthLbl, 0)

    global horizWidthInput
    horizWidthInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizWidthInput, currRow)
    WPFControls.Grid.SetColumn(horizWidthInput, 1)
    WPFControls.Grid.SetColumnSpan(horizWidthInput, 2)

    currRow += 1
    horizLengthLbl = WPFControls.TextBlock()
    horizLengthLbl.Text = "    Length (mm):"
    WPFControls.Grid.SetRow(horizLengthLbl, currRow)
    WPFControls.Grid.SetColumn(horizLengthLbl, 0)

    global horizLengthInput
    horizLengthInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizLengthInput, currRow)
    WPFControls.Grid.SetColumn(horizLengthInput, 1)
    WPFControls.Grid.SetColumnSpan(horizLengthInput, 2)

    currRow += 1
    horizThickLbl = WPFControls.TextBlock()
    horizThickLbl.Text = "    Thickness 01 (mm):"
    WPFControls.Grid.SetRow(horizThickLbl, currRow)
    WPFControls.Grid.SetColumn(horizThickLbl, 0)

    global horizThickInput
    horizThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(horizThickInput, currRow)
    WPFControls.Grid.SetColumn(horizThickInput, 1)
    WPFControls.Grid.SetColumnSpan(horizThickInput, 2)

    currRow += 1
    vertThickLbl = WPFControls.TextBlock()
    vertThickLbl.Text = "    Thickness 02 (mm):"
    WPFControls.Grid.SetRow(vertThickLbl, currRow)
    WPFControls.Grid.SetColumn(vertThickLbl, 0)

    global vertThickInput
    vertThickInput = WPFControls.TextBox()
    WPFControls.Grid.SetRow(vertThickInput, currRow)
    WPFControls.Grid.SetColumn(vertThickInput, 1)
    WPFControls.Grid.SetColumnSpan(vertThickInput, 2)

    # Create checkbox to ask for mesh
    currRow += 1
    global chkMesh
    chkMesh = WPFControls.CheckBox()
    chkMesh.Content = "Mesh the joint"
    chkMesh.Height = 20
    WPFControls.Grid.SetRow(chkMesh, currRow)
    WPFControls.Grid.SetColumn(chkMesh, 0)
    WPFControls.Grid.SetColumnSpan(chkMesh, 3)

    # Create a button
    currRow += 1
    buildJoint = WPFControls.Button()
    buildJoint.Content = "Build joint"
    WPFControls.Grid.SetRow(buildJoint, currRow)
    WPFControls.Grid.SetColumn(buildJoint, 0)
    buildJoint.Height = 30
    WPFControls.Grid.SetColumnSpan(buildJoint, 3)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    #buildJoint.Click += BuildJoint

    # Add the WrapPanel to the Grid
    my_Grid.Children.Add(meshTextBlock2)
    my_Grid.Children.Add(hWrapPanel)

    # Add the controls to the Grid
    my_Grid.Children.Add(horizLabel)
    my_Grid.Children.Add(horizWidthLbl)
    my_Grid.Children.Add(horizWidthInput)
    my_Grid.Children.Add(horizLengthLbl)
    my_Grid.Children.Add(horizLengthInput)
    my_Grid.Children.Add(horizThickLbl)
    my_Grid.Children.Add(horizThickInput)

    my_Grid.Children.Add(vertThickLbl)
    my_Grid.Children.Add(vertThickInput)

    my_Grid.Children.Add(chkMesh)
    my_Grid.Children.Add(buildJoint)

    # Return the Grid
    return my_Grid
예제 #14
0
def getCustomToolPropertyContent():
    # Create a Grid
    my_Grid = WPFControls.Grid()

    # Add 2 Rows and 1 Column
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    my_Grid.RowDefinitions.Add(WPFControls.RowDefinition())
    #my_Grid.ColumnDefinitions.Add(WPFControls.ColumnDefinition())

    currRow = 0

    # Create input field
    currRow += 1
    lbl01 = WPFControls.TextBlock()
    lbl01.Text = "Region diam. (mm):"
    WPFControls.Grid.SetRow(lbl01, currRow)
    WPFControls.Grid.SetColumn(lbl01, 0)

    global input01
    input01 = WPFControls.TextBox()
    WPFControls.Grid.SetRow(input01, currRow)
    WPFControls.Grid.SetColumn(input01, 1)

    # Create checkbox to extend the weld bead
    currRow += 1
    global chkBox01
    chkBox01 = WPFControls.CheckBox()
    chkBox01.Content = "Calculate normal directions"
    chkBox01.Height = 20
    WPFControls.Grid.SetRow(chkBox01, currRow)
    WPFControls.Grid.SetColumn(chkBox01, 0)
    chkBox01.IsChecked = System.Nullable[System.Boolean](True)
    #WPFControls.Grid.SetColumnSpan(chkBox01, 2)

    # Create a button
    currRow += 2
    goButton = WPFControls.Button()
    goButton.Content = "Get trajectory from selected edge"
    WPFControls.Grid.SetRow(goButton, currRow)
    WPFControls.Grid.SetColumn(goButton, 0)
    goButton.Height = 30
    WPFControls.Grid.SetColumnSpan(goButton, 2)

    # Link a function to the Button "Click" event
    # This function will be called every time the Button is clicked
    goButton.Click += HandleApplyButton

    global dialog
    dialog = FolderBrowserDialog()
    dialog.Description = "Directory where to save trajectories"
    dialog.ShowNewFolderButton = True

    #my_Grid.Children.Add(lbl01)
    #my_Grid.Children.Add(input01)
    my_Grid.Children.Add(chkBox01)

    my_Grid.Children.Add(goButton)

    # Return the Grid
    return my_Grid