From 007f91bb411579a0f99599a3f9a604d7c6b6d107 Mon Sep 17 00:00:00 2001 From: Tongg Date: Wed, 22 Jan 2025 17:29:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=203D=E6=A8=A1=E5=9E=8B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resource/Images/UserControl/03-8-3.png | Bin 0 -> 2906 bytes SparkClient.csproj | 2 ++ Views/UserControl/Viewport3D.xaml | 4 +++ Views/UserControl/Viewport3D.xaml.cs | 12 ++++++++- .../ViewportData/Helper/UnityHelper.cs | 18 ++++++++++++++ .../ViewportData/Helper/ViewportHelperPro.cs | 1 + .../ViewportData/Helper/ViewportManager.cs | 23 ++++++++++++++++++ 7 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 Resource/Images/UserControl/03-8-3.png create mode 100644 Views/UserControl/ViewportData/Helper/UnityHelper.cs diff --git a/Resource/Images/UserControl/03-8-3.png b/Resource/Images/UserControl/03-8-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c78f5634a9f268e6fa38811a387a2355707909 GIT binary patch literal 2906 zcmbVO2UHW;8pfxh3+UqrBCbMWsEVnCkPHcE0s>+L5fOCZkTN7=%A`R;(6yi-(w1Xe zs%v?I0tyI<;DQFQ21KKxh?PBPEEGjWUFA&>Iqp0A+Riz5?wxzT`+t8wlODD_aGJ&U z7G`E<(}IKi!;#t9G^Uy(??+}o|BOuE$%3MlW@eT)rZK@RztG;yZ1P+vB1#p-UIy@B z368^uxgbs>ks)X^GrFHf#^H%T6`BhQASnaW-_V3XLwp8iwHKSfma#w~6r@#vE49lb zcv=yU#>e>iqUjm{5g-9o9JEFvmMQ@a12ZZYK-Q*hJO(`qQHdCs#U?^@6gv#ff)yaz z3rE57h-5FcHw{Omc#>(fg=i9iNW~MVc%mnkNCC(MfJ8!%Js5;d!H);R{g;e!AzuuP zP^FRqc)VJz#;HAVutI<*(r7e1frKZKum}RHOp>ZN8mv_5^i_gCsN^XinF@lXXp=+^ z7fw(yFo>pKOpwUN#Y&Z9ZbBS}*KlNbB934(X%xukjpJkq3h^j8pN9vuq@gE2f*Rt8;9Dk~dL^4jHR0Sj=W{f%HPtnSVBpHYg2bFMwf(Hg9 zB5FFBtdRjM1;|msiU=4Me+^XFSC!E$mMJhawEJpE%7@j;`QO|D{W&U-fguq{URVMV zOCm%Ny#OyVK&E*Rr~rZR1}80^o$ApXHY5Fa3OK+u~)2C-Cct~Zv$C6lpSZ>l#ooyyd)ZxC37&IwxmMaV&3`@A|Eb-;<&olifpfZb$`YrkD|r`E zS4OXJ$hrDRVHM}J%1OB=9cuto3&GuTgg!HbYyh4*=ga>7t2RrdaQM z!$q+GXSiSI;#t@cXVciZbs)$p{Z0q;tg~mH81czlr>P0Bp~sy`=pqlzSdf;pbLP#Y zI@>4u`pdZ*>j%eow%>Bna&M%!`3(9LM)w+bc7%*%l$vu%*i92*>&LUI4}7rcd!Axd z-m+);%8?4gjpqQH;l5$MO`-r7X<-!lcz&{%^6^E ztVQ&S4OS1XTdeaN_K+@otvcg#)q%P{UB1BXLfRBCpw_`}_E`)1nqK4PRdZZhI<_Xi zCMUwX%1duO?j?o7trL-;XRNLHn-41Su?PuhrO(xyF%1Ww*pGx1(tcUh>tJ0kxY-(8 zp>3M}{KSF!lMRMs*~Z9-vKnu`YgN(klDv|&$&?yL*f{%ydcCHjWoiF!QC7QWC z%(-`-N-1ow?OEJiH1j4<(U`@fdmNqDy(6IRh~Cf^gF*G5#P1X797zM@`(7Pybj7E$ zvd<R#nNMB!?LxWK25Sy3nhi$dOLu;N+Lbb4h-NdQ5 zJofNQ<|REfE9I#bb*{&8TT%6a`eg;Dd=1Cte?Q`K+jG-B%}2gy1TU^x>esLXH}^uE z`T#rX3SfP$^xo9jb(eKsqFdad15w`W@`AgS%gTb4 zduYmsK2dhuIu}Uy*%&h=M;B9fOmCQIn7TU&*gU7Q!bW$^lLg#rD<*|D9eQ*7{Ok@&O9R-Mrs%D9=zRb_K3m9GK_Sz+pHDB->dYng7*bc0sNXJ!t*CxznA9U0D};NGe? zHVhJ$d%RY$GmG;>cFZ_-Hc%#qKh}_h!sZO7oAF^_*NX;(<;P&_lJLNfe!lCw%Pm2t zn+xywE_G%eiry90xf<$G1pM~C>i5dSZL3b>uKPlJc}RD;+Fq~ScX7uv_wK`Q^mlen z2JyXRFDItTZ5p#1;>%h;qE9f_w$igQuFyYqihJx{(Ry3@{NdJ9RTX-}221B$A!yVV zW{R%R@A>Xy`=QDs9|MJ{`$Q=l(@qvAM;A=Lzg;cN(QZ3gy8d*-{%e=YKIL0Kn@1_d zX0@LU?s6Llf60RJpN}y1qzz`gZ=BzjIx;cgj@X4|eyH5^_Zu9r-2WIeZp%LbqaLQf literal 0 HcmV?d00001 diff --git a/SparkClient.csproj b/SparkClient.csproj index 62c3379..cbedd23 100644 --- a/SparkClient.csproj +++ b/SparkClient.csproj @@ -189,6 +189,8 @@ + + diff --git a/Views/UserControl/Viewport3D.xaml b/Views/UserControl/Viewport3D.xaml index 2c2ccfc..532b5eb 100644 --- a/Views/UserControl/Viewport3D.xaml +++ b/Views/UserControl/Viewport3D.xaml @@ -45,6 +45,10 @@ x:Name="BtnFcuntion3View" Click="BtnFunction_OnClick"> + diff --git a/Views/UserControl/Viewport3D.xaml.cs b/Views/UserControl/Viewport3D.xaml.cs index 45df875..797a4f2 100644 --- a/Views/UserControl/Viewport3D.xaml.cs +++ b/Views/UserControl/Viewport3D.xaml.cs @@ -42,7 +42,12 @@ public partial class Viewport3D private void Viewport3D_OnLoaded(object sender, RoutedEventArgs e) { ViewportManager.SetViewport3D(Viewport3Dx); + ViewportManager.SetViewport(this); ViewportManager.LoadModelByEntities(new List()); + #if DEBUG + #else + BtnShow3DView.Visibility = Visibility.Hidden; + #endif //选项初始化 显示-后端-管理类 一致 ViewportRightMenuSelectFaceFrame.IsEnabled = ViewportRightMenuSelectFace.IsChecked ; @@ -174,7 +179,9 @@ public partial class Viewport3D { var directionName = ((Button)sender).Name.ToString(); var directionValue = (int) TbCustomizeRevolve.Value; - + + + switch (directionName) { case "BtnFcuntion1View": @@ -210,6 +217,9 @@ public partial class Viewport3D await Task.Delay(7000); ViewportManager.DoubleClickSelect = !false; break; + case "BtnShow3DView": + + break; } diff --git a/Views/UserControl/ViewportData/Helper/UnityHelper.cs b/Views/UserControl/ViewportData/Helper/UnityHelper.cs new file mode 100644 index 0000000..10dc8fd --- /dev/null +++ b/Views/UserControl/ViewportData/Helper/UnityHelper.cs @@ -0,0 +1,18 @@ +namespace SparkClient.Views.UserControl.ViewportData.Helper; + +public class UnityHelper +{ + private static string _image_path = AppDomain.CurrentDomain.BaseDirectory + "/temp/image/"; + + /*** + * 1、根据模型信息和钻石编码生成签名作为stl文件名(导出:ViewportHelperPro.ExportModelsToStl(null, path+filename)) + * 2、判断同名STL文件是否存在 存在跳到 7 + * 3、 清理temp下,image、stl两个目录 + * 4、导出模型stl文件,记录完整的路径paramA + * 5、执行导出命令 xx.exe --model=_stl_path+paramA --output=_image_path --type=0/1 0:心图(0.png) 1:箭图(1.png) + * 6、等待命令结束 + * 7、判断图片文件是否存在 --->>不存在:提示生成失败,请重试, --->>不存在并且从2过来的,跳到1 + * 8、展示图片弹窗,并注以说明:心箭图为模拟渲染,实际请以切工镜观测为准。 + * 9、关闭 + */ +} \ No newline at end of file diff --git a/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs b/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs index c6466b8..5984b47 100644 --- a/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs +++ b/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs @@ -899,6 +899,7 @@ public class ViewportHelperPro /// 旋转时间 秒 public static void RotateModel(Vector3D axis, bool hasLine = true, int speed = 7, int to = 360) { + ViewportManager.GetViewport().ViewportRightMenuShowModelFaceByType.IsChecked = false; ViewportManager.ClearDicModels(); ViewportManager.DoubleClickSelect = false; diff --git a/Views/UserControl/ViewportData/Helper/ViewportManager.cs b/Views/UserControl/ViewportData/Helper/ViewportManager.cs index 8efb773..d9ac7b4 100644 --- a/Views/UserControl/ViewportData/Helper/ViewportManager.cs +++ b/Views/UserControl/ViewportData/Helper/ViewportManager.cs @@ -63,6 +63,8 @@ public class ViewportManager /// 网格线(圈) /// public static LineGeometryModel3D MainModelCircleLine_P = new LineGeometryModel3D(); + + /// /// 腰垂直线 /// @@ -88,6 +90,9 @@ public class ViewportManager /// 模型控件对象映射 /// private static Viewport3DX _viewport; + + //模型 + private static Viewport3D _viewport3D = null; public static void SetViewport3D(Viewport3DX viewport3D) { if (_viewport != null) @@ -105,6 +110,24 @@ public class ViewportManager throw new Exception("Viewport is not set"); return _viewport; + } + public static void SetViewport(Viewport3D viewport3D) + { + if (_viewport != null) + { + ClearDicModels(); + _viewport.Items.Clear(); + + } + + _viewport3D = viewport3D; + } + public static Viewport3D GetViewport() + { + if (_viewport3D == null) + throw new Exception("Viewport is not set"); + return _viewport3D; + } #region 模型选中交互管理 //是否双击选中