Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ToolRaftReliefControl.axaml « Tools « Controls « UVtools.WPF - github.com/sn4k3/UVtools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: eb49faaefb82c1e5dd5812840128f9190ed3556a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
             x:Class="UVtools.WPF.Controls.Tools.ToolRaftReliefControl">


  <Grid
    ColumnDefinitions="Auto,10,200,5,Auto"
    RowDefinitions="Auto,10,Auto,10,Auto,10,Auto,10,Auto,10,Auto,10,Auto,10,Auto">

    <TextBlock Text="Relief type:" VerticalAlignment="Center"/>
    <ComboBox Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="3"
              Width="458"
              HorizontalAlignment="Left"
              Items="{Binding Operation.ReliefType, Converter={StaticResource EnumToCollectionConverter}, Mode=OneTime}"
              SelectedItem="{Binding Operation.ReliefType, Converter={StaticResource FromValueDescriptionToEnumConverter}}"/>

    <TextBlock
        Grid.Row="2"
        Grid.Column="0"
        ToolTip.Tip="Defines the mask layer to use and ignore it white blobs on the raft.
&#x0a;Often this is the first layer where raft ends and supports starts.
&#x0a;Use '0' to auto detect the mask layer, otherwise if it fails or if you have multiple rafts with different heights 
you must manually input the layer index of the last raft where it ends and supports starts."
        Text="Mask layer index:" VerticalAlignment="Center"/>

    <NumericUpDown Grid.Row="2" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_layers"
                   Minimum="0"
                   Maximum="{Binding SlicerFile.LastLayerIndex}"
                   Increment="1"
                   Value="{Binding Operation.MaskLayerIndex}"/>
    <StackPanel Grid.Row="2" Grid.Column="4"
                Orientation="Horizontal" Spacing="5">

        <Button Content="Use current layer" Command="{Binding UseCurrentLayerAsMask}" />
    
        <TextBlock VerticalAlignment="Center"
                   Text="(0 = Auto detect)" />
    </StackPanel>

    <TextBlock
        Grid.Row="4"
        Grid.Column="0"
        Text="Ignore first:" VerticalAlignment="Center"/>

    <NumericUpDown Grid.Row="4" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_layers"
                   Minimum="0"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.IgnoreFirstLayers}"/>
    <TextBlock
        Grid.Row="4" Grid.Column="4"
        Text="layer(s)" VerticalAlignment="Center"/>

    <TextBlock
        Grid.Row="6"
        Grid.Column="0"
        IsVisible="{Binding !Operation.IsDecimate}"
        Text="Pixel brightness:" VerticalAlignment="Center"/>

    <NumericUpDown Grid.Row="6" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_sun"
                   Minimum="0"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.LowBrightness}">
        <NumericUpDown.IsVisible>
            <MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsRelief"/>
                <Binding Path="Operation.IsDimming"/>
            </MultiBinding>
        </NumericUpDown.IsVisible>
    </NumericUpDown>

    <NumericUpDown Grid.Row="6" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_sun"
                   Minimum="0"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.HighBrightness}">
        <NumericUpDown.IsVisible>
            <MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsLinkedLines"/>
                <Binding Path="Operation.IsTabs"/>
            </MultiBinding>
        </NumericUpDown.IsVisible>
    </NumericUpDown>

	  <TextBlock Grid.Row="6" Grid.Column="4"
                 IsVisible="{Binding !Operation.IsDecimate}"
                 Text="{Binding Operation.BrightnessPercent, StringFormat=\{0:F2\}%}" VerticalAlignment="Center"/>

    <TextBlock Grid.Row="8" Grid.Column="0"
               Text="Supports margin:" VerticalAlignment="Center">
        <TextBlock.IsVisible>
			<MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsRelief"/>
                <Binding Path="Operation.IsDimming"/>
            </MultiBinding>
        </TextBlock.IsVisible>
    </TextBlock>

    <TextBlock Grid.Row="8" Grid.Column="0"
               ToolTip.Tip="Raft will be replaced by the present supports and then dilated by this value to thicken the supports and increase the adhesion. 
&#x0a;Use large numbers with tiny supports for best adhesion."
               Text="Dilate supports by:" VerticalAlignment="Center">
        <TextBlock.IsVisible>
            <MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsLinkedLines"/>
                <Binding Path="Operation.IsDecimate"/>
            </MultiBinding>
        </TextBlock.IsVisible>
    </TextBlock>

    <TextBlock Grid.Row="8" Grid.Column="0"
               IsVisible="{Binding Operation.IsTabs}"
               Text="Tab triangle base:" VerticalAlignment="Center"/>

    <NumericUpDown Grid.Row="8" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="0"
                   Maximum="255"
                   Increment="1"
                   IsVisible="{Binding !Operation.IsTabs}"
                   Value="{Binding Operation.DilateIterations}"/>


      <NumericUpDown Grid.Row="8" Grid.Column="2"
                     Classes="ValueLabel ValueLabel_px"
                     Minimum="5"
                     Maximum="65535"
                     Increment="1"
                     IsVisible="{Binding Operation.IsTabs}"
                     Value="{Binding Operation.TabTriangleBase}"/>


    <TextBlock Grid.Row="10" Grid.Column="0"
               Text="Wall margin:" VerticalAlignment="Center">
        <TextBlock.IsVisible>
            <MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsRelief"/>
                <Binding Path="Operation.IsDimming"/>
            </MultiBinding>
        </TextBlock.IsVisible>
    </TextBlock>

    <TextBlock Grid.Row="10" Grid.Column="0"
               IsVisible="{Binding Operation.IsLinkedLines}"
               ToolTip.Tip="Each support will be linked to the nearby neighbours at least the defined times."
               Text="Minimum links:" VerticalAlignment="Center"/>

    <TextBlock Grid.Row="10" Grid.Column="0"
               IsVisible="{Binding Operation.IsTabs}"
               Text="Tab triangle height:" VerticalAlignment="Center"/>

    <NumericUpDown Grid.Row="10" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="1"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.WallMargin}">
		<NumericUpDown.IsVisible>
            <MultiBinding Converter="{x:Static BoolConverters.Or}">
                <Binding Path="Operation.IsRelief"/>
                <Binding Path="Operation.IsDimming"/>
            </MultiBinding>
		</NumericUpDown.IsVisible>
    </NumericUpDown>

    <NumericUpDown Grid.Row="10" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_times"
                   Minimum="0"
                   Maximum="255"
                   Increment="1"
                   IsVisible="{Binding Operation.IsLinkedLines}"
                   Value="{Binding Operation.LinkedMinimumLinks}"/>

    <CheckBox Grid.Row="10" Grid.Column="4"
              VerticalAlignment="Center"
              Content="Links outer-most supports"
              ToolTip.Tip="Links outer-most supports all together, creating a perimeter around inner supports."
              IsVisible="{Binding Operation.IsLinkedLines}"
              IsChecked="{Binding Operation.LinkedExternalSupports}"/>

    <NumericUpDown Grid.Row="10" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="5"
                   Maximum="65535"
                   Increment="1"
                   IsVisible="{Binding Operation.IsTabs}"
                   Value="{Binding Operation.TabTriangleHeight}"/>



    <TextBlock Grid.Row="12" Grid.Column="0"
      Text="Hole diameter:" VerticalAlignment="Center"
      IsVisible="{Binding Operation.IsRelief}"/>

    <TextBlock Grid.Row="12" Grid.Column="0"
               Text="Line thickness:" VerticalAlignment="Center"
               IsVisible="{Binding Operation.IsLinkedLines}"/>

    <NumericUpDown Grid.Row="12" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="10"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.HoleDiameter}"
                   IsVisible="{Binding Operation.IsRelief}"/>

    <NumericUpDown Grid.Row="12" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="4"
                   Maximum="255"
                   Increment="1"
                   IsVisible="{Binding Operation.IsLinkedLines}"
                   Value="{Binding Operation.LinkedLineThickness}"/>

    <TextBlock
      Grid.Row="14" Grid.Column="0"
      Text="Hole spacing:" VerticalAlignment="Center"
      IsVisible="{Binding Operation.IsRelief}"/>

    <NumericUpDown Grid.Row="14" Grid.Column="2"
                   Classes="ValueLabel ValueLabel_px"
                   Minimum="10"
                   Maximum="255"
                   Increment="1"
                   Value="{Binding Operation.HoleSpacing}"
                   IsVisible="{Binding Operation.IsRelief}"/>

  </Grid>

</UserControl>