This is the discussion forum for Helix Toolkit.
For bugs and new features, use the issue tracker located at GitHub.
Also try the chat room!
0

Cylinder becomes Multilateral body in Helix 3D

Anonymous 12 years ago 0
This discussion was imported from CodePlex

musicxpg wrote at 2013-02-25 14:49:

Hi,

I am using Helix 3D Toolkit. It is an amazing tool. I exported 3ds file from Skecthup. Then, I imported it into my WPF application. However, I found that the cylinder in Sketchup looks naturally, more like a cycle. However, in the WPF application, It changes to multilateral body. How to solve this problem?

objo wrote at 2013-03-13 07:09:

Can you upload the 3ds file and some screenshots from Sketchup?
0

How to keep the coordinate system always at (0,0,0) point?

Anonymous 12 years ago 0
This discussion was imported from CodePlex

chinh_nguyen wrote at 2013-01-08 15:38:

Hi, first of all, thank you for the great work, now I can zoom, rotate with ease.

I have 1 question here: how to keep the coordinate system always at (0,0,0) point?. Because I am draw graph so I need to make it there.


chinh_nguyen wrote at 2013-01-10 09:16:

Hi all, I found my answer, I did not know about CoordinateSystemVisual3D, how silly of me.

0

MeshGeometryHelper Cut Method Help: Normals Flipping and Cannot Cut Twice

Nathan Smela 11 years ago updated 11 years ago 0

Good Day Everyone,


I'm having a hard time with cutting a model in my program. I import a STL file into a Model3DGroup, add that model to a MeshBuilder (true for include normals), and attempt to cut the model along the 0 z-axis (pInf and nInf) This is to ensure it has a flat base to 3D print on.


First issue:

The flat cut is inverted when added. If i add a larger model, it inverts all the normals and appear to be inside out.


Second issue:

I attempt to cut the model at 10 mm (pSup and nSup), but the attempt keeps failing. It will fail even if I comment out the 0 z-axis cut.


private void CutBottom()        {
            //load the stl file to edit
            string file = @"E:\Test\test.stl";
            var mi = new ModelImporter();
            Model3DGroup model = mi.Load(file, System.Windows.Threading.Dispatcher.CurrentDispatcher);


            //convert model to Geometry3D
            MeshBuilder meshModel = new MeshBuilder(true, false);


            foreach (var m in model.Children)
            {
                var mGeo = m as GeometryModel3D;
                var tri = (MeshGeometry3D)mGeo.Geometry;


                if (tri != null)
                {
                    meshModel.Append(tri);
                }
            }


            MeshGeometry3D mesh = meshModel.ToMesh();


            //create a copy of the mesh 
            var g = mesh as MeshGeometry3D;
            MeshGeometry3D gOrig = g.Clone();


            //Cut the Mesh and then apply the cutplane
            var pInf = new Point3D(0, 0, 0);
            var nInf = new Vector3D(0, 0, 1);
            Plane3D cpInf = new Plane3D(pInf, nInf);


            var pSup = new Point3D(0, 0, 2);
            var nSup = new Vector3D(0, 0, 3);
            Plane3D cpSup = new Plane3D(pSup, nSup);


            //cp, p & n are the cut plane (Plane3D) and the position (Point3D) and the normal (Vector3D) of the plane
            g = MeshGeometryHelper.Cut(g, pInf, nInf);        
            g = MeshPlaneCut(g, gOrig, cpInf);
            //g = MeshPlaneCut(g, gOrig, cpSup);


            DiffuseMaterial graySide = new DiffuseMaterial(new SolidColorBrush(Colors.Gray));
            var meshGeo = new GeometryModel3D(g, graySide);
            Model3DGroup finalModel = new Model3DGroup();
            finalModel.Children.Add(meshGeo);


            //remove gridlines
            


            bolusMesh.Content = finalModel;


            //export stl
            Viewport.Viewport.Children.Remove(grids);
            Viewport.Export(@"E:\Test\test_cut.stl");
            Viewport.Viewport.Children.Add(grids);
        }


        private static MeshGeometry3D MeshPlaneCut(MeshGeometry3D meshCut, MeshGeometry3D meshOrig, Plane3D plane)
        {
            //Store the positions on the cut plane
            var segments = MeshGeometryHelper.GetContourSegments(meshOrig, plane.Position, plane.Normal).ToList();


            //assumes largest contour is the outer contour!
            IList<Point3D> vertexPoints = MeshGeometryHelper.CombineSegments(segments, 1e-6).ToList().OrderByDescending(x => x.Count).First();


            //meshCut the polygon opening and add to existing cut mesh
            var builder = new MeshBuilder(false, false);
            builder.Append(meshCut.Positions, meshCut.TriangleIndices);
            builder.AddPolygon(vertexPoints);


            MeshGeometry3D mg3D = builder.ToMesh();


            return mg3D;
        }
0

Is there any option to have a material base axis in coloraxis demo?

Anonymous 12 years ago 0
This discussion was imported from CodePlex

behnam263 wrote at 2014-05-06 12:28:

Hi
I want to know if there is any option to have a material base axis in coloraxis demo?
0

VoxelDemo source (and some other example sources) missing?

Anonymous 12 years ago 0
This discussion was imported from CodePlex

rasc wrote at 2012-06-07 23:00:

Hi,

perhaps I am missing something, but it seems that in the current source code download the voxeldemo (and some others) are not available. I would very much appreciate to be able to have a glance at it.

thank you

Ralph


objo wrote at 2012-06-08 07:34:

It was moved into the "ExampleBrowser" application. Will add a note where to find it on the wiki page.


rasc wrote at 2012-06-08 11:24:

Found it...This is really a great project - thank you for sharing

Ralph

0

Creating Solid Cube ...

Anonymous 12 years ago 0
This discussion was imported from CodePlex

maruf_bd wrote at 2013-07-24 08:39:

I want to create a solid cube in helix toolkit in wpf . Assume that a solid cube around a pipe and I want to intersect it so that I can see half pipe and half solid cube . Please help me .

Thanks in advance
0

The "HelixViewwport3D "not have

Anonymous 12 years ago 0
This discussion was imported from CodePlex

xiaotu wrote at 2013-07-19 05:28:

hi, I am begin to learn the Helix toolkit ,when i open the helix toolkit sampleDemo , find the error message "namespace 'clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf' without the HelixVeiwport3D" .how to soolve it.thanks

Mrme wrote at 2013-07-19 10:53:

Hi, if you go and see your references, you will find some of them are missing, fix that !
0

Completely Disable Panning

Anonymous 12 years ago 0
This discussion was imported from CodePlex

MikeCo wrote at 2012-10-23 22:06:

Is there any way to completely disable panning?  I just want my objects to be able to rotate, not pan.

 

Thanks


objo wrote at 2012-10-24 11:04:

Try IsPanEnabled = false


MikeCo wrote at 2012-10-24 16:09:

Ah!  Duh...I just never saw this property.  Thanks!

0

Add additional InputBinding in XAML

Anonymous 12 years ago 0
This discussion was imported from CodePlex

govert wrote at 2012-03-28 14:21:

This is more a WPF / XAML questions, but arose in the Helix Toollkit context:

Earlier versions of the HelixView3D had both the Shift+RightClick and the MiddleClick bound to the Pan command. The default template in the current version sets the PanGesture to Shift+RightClick, but MiddleClick no longer works. I want to keep the Shift+RightClick, and add the MiddleClick as an additional gesture, which means I can't just set the PanGesture property (it would replace the current gesture).

From code-behind it works if I do this:

 

InitializeComponent();
sceneView3D.Loaded += delegate
    {
        sceneView3D.CameraController.InputBindings.Add(
            new InputBinding(CameraController.PanCommand,
                            new MouseGesture(MouseAction.MiddleClick)));
    };

 

But I'd rather set it in the XAML, so I've tried something like this:

<helix:HelixViewport3D x:Name="sceneView3D" ... >
  <helix:HelixViewport3D.InputBindings>
    <MouseBinding MouseAction="MiddleClick" Command="{x:Static helix:CameraController.PanCommand}"/>
  </helix:HelixViewport3D.InputBindings>
...
</helix:HelixViewport3D>

 

but it doesn't work - we need to add to the CameraController's InputBindings.

Is it possible to add the InputGesture from XAML?

Thanks for the help,
Govert 


objo wrote at 2012-04-03 01:20:

I added an alternative pan gesture dependency property (PanGesture2), and set the default value to the middle button.

That was the easy solution, not sure how to get the inputbindings to work..

0

Kerkythea Exporter: Texture Support

Anonymous 12 years ago updated by ไอยดา สุรีวงค์ 5 years ago 1
This discussion was imported from CodePlex

AaronLenoir wrote at 2010-02-08 09:43:

Hey,

I'm currently using the Kerkythea exporter to create Kerkythea scenes from WPF viewports. I've already implemented some changes to correctly support our transformations and it's looking really good.

Our main problem now is Texture support, I'm looking into it, but currently I've had no luck in applying textures (using Kerkythea) to models in a scene exported from WPF. The texture is scrambled beyond recognition. I was wondering if you have already done some work on the textures that might help me forward.

Thanks already!

 

PS: If you want, I will send you our current changes


objo wrote at 2010-02-21 18:02:

Fantastic! I would really like to include your improvements into the Kerkythea exporter. I added you as a developer, feel free to submit the changes (or e-mail me). Sorry I have not had time to look into texture support - but I think that's the next thing that should be supported. I am sure we can get some help from the Kerkythea forums/Ioannis. I am busy with other things right now, but will continue on this later. Cheers!


objo wrote at 2010-05-16 13:04:

hi Aaron, I am looking into the Kerkythea export again - you could send me the improvements you did on the transformations?