网站建设脚本,网页设计网站建设流程,做门户网站需要什么,ds115j用wordpress1、三维插件环境调整 2、动态模型材质处理 3、动态模型鼠标交互 4、模型旋转基本思路 5、六轴机械臂节点旋转处理 6、更多HelixToolkit插件处理案例 7、快速对接Blender模型 鼠标交互#xff08;没有强调场景的变换#xff09; 鼠标命中测试#xff08;HitTest 不推荐没有强调场景的变换 鼠标命中测试HitTest 不推荐 平面对象加载
数据绑定数据与动作 环境配置与相关方法 模型准备Blender/SolidWorks 模型导入 HelixToolkit更多案例
WPF UI 3D 多轴 机械臂 stl 模型UI交互
顶部控件多轴控制
ui
StackPanel VerticalAlignmentTopSlider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag1/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag2/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag3/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag8/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag9/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag10/
/StackPanel
ui后端
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgsdouble e)
{int index int.Parse((sender as Slider).Tag.ToString());(((models[index].Transform as Transform3DGroup).Children[1] as RotateTransform3D).Rotation as AxisAngleRotation3D).Angle e.NewValue;
}
效果 2 3 4 5 多轴材质控制 ui
h:HelixViewport3D NamehvShowViewCubeTrueViewCubeWidth100ViewCubeHeight100ViewCubeHorizontalPositionLeftViewCubeVerticalPositionTopViewCubeFrontText前ViewCubeTopText上ShowCoordinateSystemTrueCoordinateSystemLabelForeground#5000CoordinateSystemHorizontalPositionLeftCoordinateSystemVerticalPositionBottomRotateAroundMouseDownPointTrueMouseLeftButtonDownHelixViewport3D_MouseLeftButtonDown Margin0,0,-344,-320!--HelixViewport3D对象的属性必须在内容之前--h:HelixViewport3D.BackgroundLinearGradientBrush StartPoint0,0 EndPoint0,1GradientStop Color#556 Offset0/GradientStop Color#FF1D64FF Offset1//LinearGradientBrush/h:HelixViewport3D.Background!--相机--h:HelixViewport3D.CameraPerspectiveCamera Position-1571, 4801, 3774LookDirection2038, -5200, -2930FieldOfView50UpDirection-0.145, 0.372, 0.917FarPlaneDistance10000NearPlaneDistance1//h:HelixViewport3D.Camerah:HelixViewport3D.RotateGestureMouseGesture MouseActionLeftClick//h:HelixViewport3D.RotateGestureh:HelixViewport3D.PanGestureMouseGesture MouseActionRightClick//h:HelixViewport3D.PanGesture!--HelixViewport3D对象的属性结束--!--HelixViewport3D对象的内容必须在属性配置之后--!--光源--!--ModelVisual3DModelVisual3D.ContentModel3DGroupAmbientLight ColorWhite//Model3DGroup/ModelVisual3D.Content/ModelVisual3D--h:DefaultLights/!--网格线--h:GridLinesVisual3D Width16000 Length16000 Thickness1Fill#EEE MinorDistance100 MajorDistance400/!--模型--!--ModelVisual3D x:NamemodelModelVisual3D.ContentModel3DGroupGeometryModel3D C#加载的一个stl模型文件/GeometryModel3DGeometryModel3DC#加载的一个stl模型文件/GeometryModel3DGeometryModel3DC#加载的一个stl模型文件/GeometryModel3D/Model3DGroup/ModelVisual3D.Content/ModelVisual3D--!--ModelUIElement3D MouseLeftButtonDownModelUIElement3D.ModelGeometryModel3DC#加载的一个stl模型文件/GeometryModel3D/ModelUIElement3D.Model/ModelUIElement3D--!--ModelUIElement3D MouseLeftButtonDownModelUIElement3D.ModelGeometryModel3DC#加载的一个stl模型文件/GeometryModel3D/ModelUIElement3D.Model/ModelUIElement3D--!--ModelUIElement3D MouseLeftButtonDownModelUIElement3D.ModelGeometryModel3DC#加载的一个stl模型文件/GeometryModel3D/ModelUIElement3D.Model/ModelUIElement3D--!--HelixViewport3D对象的内容结束--
/h:HelixViewport3DStackPanel VerticalAlignmentTopSlider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag1/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag2/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag3/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag8/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag9/Slider Minimum0 Maximum360 Value0 ValueChangedSlider_ValueChanged Tag10/
/StackPanel
/*stl文件*/
string[] model_files System.IO.Directory.GetFiles(${Environment.CurrentDirectory}/3D_Models);ModelImporter importer new ModelImporter();//Model3DGroup group new Model3DGroup();
foreach (var file in model_files)
{ModelUIElement3D mui new ModelUIElement3D();// 关键的模型文件解析过程》 GemotryModel3Dvar mg importer.Load(file);var geo mg.Children[0] as GeometryModel3D;geo.Material NormalMaterial(Brushes.White);geo.BackMaterial NormalMaterial(Brushes.White);mui.Model geo;// 这里想办法添加鼠标动作//mui.MouseLeftButtonDown (a, b) //{// geo.Material NormalMaterial(Brushes.Green);// geo.BackMaterial NormalMaterial(Brushes.Green);//};mui.MouseLeftButtonDown Mui_MouseLeftButtonDown;//if (file.IndexOf(LINK1_CAD) -1)//{// RotateTransform3D rt new RotateTransform3D();// rt.Rotation new AxisAngleRotation3D(new Vector3D(0, 0, 1), 0);// rt.CenterX 0;// rt.CenterY 0;// rt.CenterZ 0;// mui.Transform rt;// currentMUI mui;//}this.hv.Children.Add(mui);models.Add(mui);
}//this.model.Content group;
SetTransform();