瀏覽代碼

mxg:调整图片大小和进度物条显示

mengxiangge 5 年之前
父節點
當前提交
04909f2c52
共有 23 個文件被更改,包括 101 次插入65 次删除
  1. 1 2
      FWindSoft/Saga.PlugIn/CreateFacility/WinTipCreateSuccess.xaml
  2. 1 2
      FWindSoft/Saga.PlugIn/CreateFacility/WinTipExisted.xaml
  3. 二進制
      FWindSoft/Saga.PlugIn/Image/建模规范检查16.png
  4. 二進制
      FWindSoft/Saga.PlugIn/Image/建模规范检查32.png
  5. 二進制
      FWindSoft/Saga.PlugIn/Image/待建模设备16.png
  6. 二進制
      FWindSoft/Saga.PlugIn/Image/待建模设备32.png
  7. 二進制
      FWindSoft/Saga.PlugIn/Image/立管检查16.png
  8. 二進制
      FWindSoft/Saga.PlugIn/Image/立管检查32.png
  9. 二進制
      FWindSoft/Saga.PlugIn/Image/进度条.gif
  10. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/ExcelTemplate/模型检查结果输出格式-模版.xlsx
  11. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/叉.png
  12. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/对勾.png
  13. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/正确.png
  14. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/省略号.png
  15. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/等待.png
  16. 二進制
      FWindSoft/Saga.PlugIn/ModelCheck/Image/错误.png
  17. 3 31
      FWindSoft/Saga.PlugIn/ModelCheck/ModelCheckConverter.cs
  18. 15 2
      FWindSoft/Saga.PlugIn/ModelCheck/PipeCheck.cs
  19. 1 1
      FWindSoft/Saga.PlugIn/ModelCheck/WinModeCheck.xaml
  20. 9 7
      FWindSoft/Saga.PlugIn/Saga.PlugIn.csproj
  21. 0 8
      FWindSoft/Saga.PlugIn/VerticalPipeCheck/VerticalPipeUtil.cs
  22. 15 6
      FWindSoft/Saga.PlugIn/VerticalPipeCheck/VmVerticalPipeCheck.cs
  23. 56 6
      FWindSoft/Saga.PlugIn/VerticalPipeCheck/WinVecticalPipeCheck.xaml

+ 1 - 2
FWindSoft/Saga.PlugIn/CreateFacility/WinTipCreateSuccess.xaml

@@ -27,8 +27,7 @@
                    FontSize="16" FontWeight="UltraBlack"
                    VerticalAlignment="Bottom"></Label>
             <WrapPanel  Grid.Row="1" Grid.Column="1" >
-                <TextBlock Text="{Binding Path=Tip}" 
-                           TextWrapping="WrapWithOverflow"></TextBlock>
+                <Label Content="{Binding Path=Tip}" ></Label>
                 <Button Height="23" Content="复制" Margin="6,0"
                         Click="ButtonCopy_OnClick">
                     <Button.Style >

+ 1 - 2
FWindSoft/Saga.PlugIn/CreateFacility/WinTipExisted.xaml

@@ -27,8 +27,7 @@
                    FontSize="16" FontWeight="UltraBlack"
                    VerticalAlignment="Bottom"></Label>
             <WrapPanel  Grid.Row="1" Grid.Column="1" >
-                <TextBlock Text="{Binding Path=Tip}" 
-                           TextWrapping="WrapWithOverflow" VerticalAlignment="Center"></TextBlock>
+                <Label Content="{Binding Path=Tip}"  VerticalAlignment="Center"></Label>
                 <Button Height="23" Content="复制" 
                         Click="ButtonCopy_OnClick">
                     <Button.Style >

二進制
FWindSoft/Saga.PlugIn/Image/建模规范检查16.png


二進制
FWindSoft/Saga.PlugIn/Image/建模规范检查32.png


二進制
FWindSoft/Saga.PlugIn/Image/待建模设备16.png


二進制
FWindSoft/Saga.PlugIn/Image/待建模设备32.png


二進制
FWindSoft/Saga.PlugIn/Image/立管检查16.png


二進制
FWindSoft/Saga.PlugIn/Image/立管检查32.png


二進制
FWindSoft/Saga.PlugIn/Image/进度条.gif


二進制
FWindSoft/Saga.PlugIn/ModelCheck/ExcelTemplate/模型检查结果输出格式-模版.xlsx


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/叉.png


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/对勾.png


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/正确.png


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/省略号.png


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/等待.png


二進制
FWindSoft/Saga.PlugIn/ModelCheck/Image/错误.png


+ 3 - 31
FWindSoft/Saga.PlugIn/ModelCheck/ModelCheckConverter.cs

@@ -44,51 +44,23 @@ namespace Saga.PlugIn.ModelCheck
 
     class ItemImageConverter : IMultiValueConverter
     {
-        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
-        {
-            var items = value as ObservableCollection<ModeCheckResultBase>;
-            BitmapSource image = null;
-            string imageName = null;
-
-            if (items != null &&items.Count>0&& items.All(t => t.IsRight))
-            {
-                imageName = "对勾.png";
-            }
-            else
-            {
-                imageName = "叉.png";
-            }
-            
-            if (!string.IsNullOrEmpty(imageName))
-            {
-                Uri uri = new Uri("pack://application:,,,/Saga.PlugIn;component/ModelCheck/Image/" + imageName);
-                image= BitmapFrame.Create(uri, BitmapCreateOptions.None, BitmapCacheOption.OnDemand);
-            }
-            return image;
-        }
-
-        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
-        {
-            throw new NotImplementedException();
-        }
-
         public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
         {
             var state = (ModelCheckState)values[0];
             BitmapSource image = null;
             string imageName = null;
             if(state== ModelCheckState.Progress)
-                imageName = "省略号.png";
+                imageName = "等待.png";
             else
             {
                 var items = values[1] as ObservableCollection<ModeCheckResultBase>;
                 if (items != null  && items.All(t => t.IsRight))
                 {
-                    imageName = "对勾.png";
+                    imageName = "正确.png";
                 }
                 else
                 {
-                    imageName = ".png";
+                    imageName = "错误.png";
                 }
             }
 

+ 15 - 2
FWindSoft/Saga.PlugIn/ModelCheck/PipeCheck.cs

@@ -63,18 +63,30 @@ namespace Saga.PlugIn.ModelCheck
         private PipeCheckErrorCode GetErrorCode(Element element,string systemName)
         {
             PipeCheckErrorCode errorCode = PipeCheckErrorCode.Code_000;
-            Domain[] domains = new Domain[] { Domain.DomainPiping, Domain.DomainElectrical };
+            Domain[] domains = new Domain[] { Domain.DomainPiping, Domain.DomainHvac };
             do
             {
+               
                 foreach (Domain domain in domains)
                 {
                     var connectors = element.GetConnectors(domain);
                     if (connectors.Any(c => !c.IsConnected))
                     {
                         errorCode = PipeCheckErrorCode.Code_001;
-                        break;
                     }
                 }
+                if (errorCode==PipeCheckErrorCode.Code_001&&element.GetLocationCurve() is Line line)
+                {
+                    //一端不连接的立管不导出
+                    if (line.Direction.IsParallel(XYZ.BasisZ))
+                    {
+                        errorCode = PipeCheckErrorCode.Code_003;
+                    }
+                }
+
+                if (errorCode == PipeCheckErrorCode.Code_001)
+                    break;
+
                 var endElements = element.GetFirstElements(null, e => e is MEPCurve || e.IsEquipment());
                 List<MEPCurve> curves = endElements.OfType<MEPCurve>().ToList();
                 foreach (var mepCurve in curves)
@@ -164,6 +176,7 @@ namespace Saga.PlugIn.ModelCheck
         Code_001,
         [Description("管道两端连接了不同类型的管道")]
         Code_002,
+        [Description("立管")]
         Code_003,
         [Description("误报")]
         Code_004

+ 1 - 1
FWindSoft/Saga.PlugIn/ModelCheck/WinModeCheck.xaml

@@ -82,7 +82,7 @@
                              Name="txtPath" Margin="6,0,6,0"
                              Text="{Binding Path=SaveDir,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" 
                              VerticalAlignment="Center"></TextBox>
-                    <Button Grid.Column="1" Content="浏览" Height="25"
+                    <Button Grid.Column="1" Content="浏览" Height="23"
                             Click="SelectFile_OnClick"></Button>
                 </Grid>
                 <Grid Grid.Row="2" Background="#F0F0F0">

+ 9 - 7
FWindSoft/Saga.PlugIn/Saga.PlugIn.csproj

@@ -146,12 +146,18 @@
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <Content Include="VerticalPipeCheck\ExcelTemplate\立管对齐检查-模板.xlsx">
+    <Resource Include="ModelCheck\Image\正确.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Resource Include="ModelCheck\Image\叉.png">
+    </Resource>
+    <Resource Include="ModelCheck\Image\等待.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Resource>
+    <Resource Include="ModelCheck\Image\错误.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Resource>
+    <Content Include="VerticalPipeCheck\ExcelTemplate\立管对齐检查-模板.xlsx">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Resource Include="CreateFacility\Image\成功.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Resource>
@@ -250,10 +256,6 @@
       <SubType>Designer</SubType>
     </Page>
   </ItemGroup>
-  <ItemGroup>
-    <Resource Include="ModelCheck\Image\对勾.png" />
-    <Resource Include="ModelCheck\Image\省略号.png" />
-  </ItemGroup>
   <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

+ 0 - 8
FWindSoft/Saga.PlugIn/VerticalPipeCheck/VerticalPipeUtil.cs

@@ -43,8 +43,6 @@ namespace Saga.PlugIn.VerticalPipeCheck
                     string fileName = path.GetFileName();
                     foreach (VerticalPipe pipe in pipes1)
                     {
-                        //刷新界面
-                        WpfSysCmd.DoEvent();
                         var pipes = pipes2.Where(t => t.OpenXyz.IsAlmostEqualTo(pipe.OpenXyz));
                         if (pipes.Any())
                         {
@@ -96,11 +94,7 @@ namespace Saga.PlugIn.VerticalPipeCheck
         /// <returns></returns>
         public static List<VerticalPipe> GetVerticalMEPCurves(string path,bool isup)
         {
-            //刷新界面
-            WpfSysCmd.DoEvent();
             var doc=RevitCore.App.OpenDocumentFile(path);
-            //刷新界面
-            WpfSysCmd.DoEvent();
             string fileName = path.GetFileName();
             var mepcurves = doc.GetElements<MEPCurve>();
             List<VerticalPipe> verticalPipes=new List<VerticalPipe>();
@@ -134,8 +128,6 @@ namespace Saga.PlugIn.VerticalPipeCheck
                             verticalPipe.FileName = fileName;
                             verticalPipes.Add(verticalPipe);
                         }
-                        //刷新界面
-                        WpfSysCmd.DoEvent();
                     }
                 }
             }

+ 15 - 6
FWindSoft/Saga.PlugIn/VerticalPipeCheck/VmVerticalPipeCheck.cs

@@ -8,7 +8,9 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using FWindSoft.Revit;
 using FWindSoft.Wpf;
 using Saga.PlugIn.CreateFacility;
 using Saga.PlugIn.ModelCheck;
@@ -101,17 +103,24 @@ namespace Saga.PlugIn.VerticalPipeCheck
                 switch (ModelCheckState)
                 {
                     case ModelCheckState.Prepare:
-                        WpfSysCmd.DoEvent();
                         ModelCheckState = ModelCheckState.Progress;
+                        //刷新界面
+                        WpfSysCmd.DoEvent();
+
                         string savePath = Path.Combine(SaveDir,
                             $"{UpFilePath.GetFileName()}-{DownFilePath.GetFileName()}{"立管检查报告"}{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
-                        var tuple=VerticalPipeUtil.Execute(UpFilePath,DownFilePath,savePath);
-                        ModelCheckState = ModelCheckState.Ending;
                         //为了Ending的界面显示,出问题注释掉
                         SavePath = savePath;
-                        WinTipVPipeCheckComplete win = new WinTipVPipeCheckComplete(tuple?.Item1,tuple?.Item2);
-                        win.ShowDialog();
-                        WpfSysCmd.DoEvent();
+
+                        var taskHandler = RevitHandlerFactory.CreateOnceHandler((a) =>
+                        {
+                            var tuple = VerticalPipeUtil.Execute(UpFilePath, DownFilePath, savePath);
+                            ModelCheckState = ModelCheckState.Ending;
+                            WinTipVPipeCheckComplete win = new WinTipVPipeCheckComplete(tuple?.Item1, tuple?.Item2);
+                            win.ShowDialog();
+                            return HandlerResult.Successed;
+                        });
+                        taskHandler.Execute(RevitCore.UIApp);
                         break;
                     case ModelCheckState.Progress:
                         break;

+ 56 - 6
FWindSoft/Saga.PlugIn/VerticalPipeCheck/WinVecticalPipeCheck.xaml

@@ -6,7 +6,7 @@
              xmlns:local="clr-namespace:Saga.PlugIn.ModelCheck"
         xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif"
              mc:Ignorable="d"  Title="立管检查" WindowStartupLocation="CenterScreen"
-        ResizeMode="NoResize" SizeToContent="WidthAndHeight"
+        ResizeMode="NoResize" SizeToContent="Height"
         Height="Auto" Width="600">
     <Window.Resources>
         <local:ItemImageVisibleConverter x:Key="ItemImageEqualVisibleConverter" IsEqualCollapsed="True"></local:ItemImageVisibleConverter>
@@ -37,15 +37,65 @@
                     <Image Grid.Row="1" Grid.Column="0"
                            Source="../Image/上一层.png"></Image>
                     <TextBox Grid.Row="1" Grid.Column="1" Name="TxtUpPath"  IsReadOnly="True" Margin="0,0,6,0"
-                             VerticalContentAlignment="Center"
-                             Text="{Binding Path=UpFilePath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"></TextBox>
+                             VerticalContentAlignment="Center" 
+                             Text="{Binding Path=UpFilePath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
+                        <TextBox.Resources>
+                            <VisualBrush x:Key="HelpBrush"  TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left" AlignmentY="Center">
+                                <VisualBrush.Visual>
+                                    <TextBlock FontStyle="Normal"  FontSize="14" TextWrapping="Wrap" Width="430" Text='请选择上层模型文件'/>
+                                </VisualBrush.Visual>
+                            </VisualBrush>
+                        </TextBox.Resources>
+                        <TextBox.Style>
+                            <Style TargetType="TextBox">
+                                <Setter Property="FontSize" Value="12"/>
+                                <Setter Property="Foreground" Value="#FF333333"/>
+                                <Setter Property="BorderBrush" Value="#8F666666"/>
+                                <Setter Property="TextWrapping" Value="Wrap"/>
+                                <Setter Property="AcceptsReturn" Value="True"/>
+                                <Style.Triggers>
+                                    <Trigger Property="Text" Value="{x:Null}">
+                                        <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
+                                    </Trigger>
+                                    <Trigger Property="Text" Value="">
+                                        <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
+                                    </Trigger>
+                                </Style.Triggers>
+                            </Style>
+                        </TextBox.Style>
+                    </TextBox>
                     <Button Grid.Row="1" Grid.Column="2" Click="BtnSelectFileUp_OnClick" Content="选择"
                             ></Button>
                     <Image Grid.Row="3" Grid.Column="0"
                            Source="../Image/下一层.png"></Image>
                     <TextBox Grid.Row="3" Grid.Column="1" Name="TxtDownPath"  IsReadOnly="True" Margin="0,0,6,0"
                              VerticalContentAlignment="Center"
-                             Text="{Binding Path=DownFilePath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"></TextBox>
+                             Text="{Binding Path=DownFilePath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
+                        <TextBox.Resources>
+                            <VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left" AlignmentY="Center">
+                                <VisualBrush.Visual>
+                                    <TextBlock FontStyle="Normal" FontSize="14"  TextWrapping="Wrap" Width="430" Text='请选择下层模型文件'/>
+                                </VisualBrush.Visual>
+                            </VisualBrush>
+                        </TextBox.Resources>
+                        <TextBox.Style>
+                            <Style TargetType="TextBox">
+                                <Setter Property="FontSize" Value="12"/>
+                                <Setter Property="Foreground" Value="#FF333333"/>
+                                <Setter Property="BorderBrush" Value="#8F666666"/>
+                                <Setter Property="TextWrapping" Value="Wrap"/>
+                                <Setter Property="AcceptsReturn" Value="True"/>
+                                <Style.Triggers>
+                                    <Trigger Property="Text" Value="{x:Null}">
+                                        <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
+                                    </Trigger>
+                                    <Trigger Property="Text" Value="">
+                                        <Setter Property="Background" Value="{StaticResource HelpBrush}"/>
+                                    </Trigger>
+                                </Style.Triggers>
+                            </Style>
+                        </TextBox.Style>
+                    </TextBox>
                     <Button Grid.Row="3" Grid.Column="2" Click="BtnSelectFileDown_OnClick" Content="选择"
                             ></Button>
                 </Grid>
@@ -118,14 +168,14 @@
                                     Converter={StaticResource ItemImageUnEqualVisibleConverter},
                                             ConverterParameter={x:Static local:ModelCheckState.Ending}}">
                 <Grid.RowDefinitions>
-                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="24"></RowDefinition>
                     <RowDefinition Height="40"></RowDefinition>
                     <RowDefinition Height="43"></RowDefinition>
                 </Grid.RowDefinitions>
                 <Grid Grid.Row="0" Margin="10,0">
                     <Label Content="当前校验结果:" VerticalAlignment="Center" Foreground="LightGray"></Label>
                 </Grid>
-                <Grid Grid.Row="1" Margin="10,0">
+                <Grid Grid.Row="1" Margin="16,0">
                     <TextBlock   Text="{Binding Path=SavePath}"
                                 VerticalAlignment="Center"></TextBlock>
                 </Grid>