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

Trouble rotating the 3D object in WPF

JMaroun 12 months ago in Question 0

Hello,


I have been experiencing trouble when I try to rotate the 3D object that I have loaded into my main window by X, Y and Z coordinates and I was wondering if I could see an example project where this is fully implemented. Basically I want to be able to feed a degree in and be able to rotate the model by that degree in the specified axis. The model behaves very weirdly when I try to do this so any code that has this functionality would be of much help. 

Thanks!


Johnny

0

hierarchical 3D model via Visual3D and AddVisual3DChild -> only root is rendered...

LuNo 1 year ago in Question • updated 1 year ago 1

Hi,


I am relatively new to the HelixToolkit and I have a (probably simple) question: I want to build a scene out of several .stl files and I aim to employ parent/children relations in order to apply transforms to the whole hierarchy "automatically".
I created the following class to represent a mechanical axis (imagine a robot arm with a few scene graph nodes), but when I build up the data structure, only the root is rendered. The strange thing is: The Visual3D objects cannot be added to the Viewport3D once they have been set as a child somewhere else (e.g. after I added the Visual3D children to the parents, this is expected behaviour afaik). But these children are not rendered (except the root). I do assume I am missing some event or notification I should trigger? I browsed through most of the examples, usually a Model3D is built on the fly if an aggragation of meshes is needed. I would be grateful for any hints in this matter.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Windows;
using System.Windows.Media.Media3D;
using PropertyTools.DataAnnotations;
using BrowsableAttribute = System.ComponentModel.BrowsableAttribute;

using HelixToolkit.Wpf;

namespace Vizualizer_WPF
{
    //class MachineAxis3D : UIElement3D
    class MachineAxis3D: ModelVisual3D
    {
        public static DependencyProperty RotationAngleProperty = DependencyPropertyEx.Register<double, MachineAxis3D>("RotationAngle", 0, (s, e) => s.AppearanceChanged());
        public static readonly DependencyProperty PrincipalDirectionProperty = DependencyPropertyEx.Register<Vector3D, MachineAxis3D>("PrincipalDirection", new Vector3D(1, 0, 0), (s, e) => s.AppearanceChanged());

        public MachineAxis3D()
        {

        }

        [Category("AxisProperties")]
        [Slidable(0, 360)]
        [Browsable(true)]
        public double RotationAngle
        {
            get
            {
                return (double)this.GetValue(RotationAngleProperty);
            }

            set
            {
                this.SetValue(RotationAngleProperty, value);
            }
        }

        public Vector3D PrincipalDirection
        {
            get
            {
                return (Vector3D)this.GetValue(PrincipalDirectionProperty);
            }

            set
            {
                this.SetValue(PrincipalDirectionProperty, value);
            }
        }

        public int ChildrenCount()
        {
            return this.Visual3DChildrenCount;
        }

        public void AddChild(Visual3D visual3D, Model3D model3D)
        {
            Model3DGroup newGroup = new Model3DGroup();
            newGroup.Children.Add(this.Content);
            newGroup.Children.Add(model3D);
            Content = newGroup;
            AddVisual3DChild(visual3D);
        }        

        // handles the rotation of the axis
        private void AppearanceChanged()
        {
            var tg = new Transform3DGroup();
            tg.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(PrincipalDirection, RotationAngle)));
            Transform = tg;
        }
    }
}



Media3D WPF
0

HelixToolkit.SharpDX - Transparent billboard

Isdas 1 year ago in Question 0

Hi


Great work on the new version of HelixToolkit! Really impressed by the work done!


A small question: When I set the transparency of a billboard to Color.Transparent the billboard gets transparent (great). One small problem I have right now: other billboards that are behind this billboard gets cut. Is there any way of solving this problem?


Picture:


Best regards

Isdas

SharpDX
0

Interaction of mouse with 3D *.obj file

svensven934 1 year ago in Question • updated by anonymous 1 year ago 3

Hi all,


I have imported a car as *.stl file. I want to add some "devices" onto it for visualization.So When I perform a right click on the Car, at this position a Sphere should come up. I want to do a doubleclick on that sphere, and enter something like name, filepath for a text file and so on.


Also I want to ensure, that the user can not add multiple spheres over each other on the same position.


It tried to cath this situation with the following:


if (!CreatedDevices.Any(t => Math.Abs(t.Center.X) + 300 > mousePos.X))


So the mousePos is the position of my mouse and the CreatedDevices is a list of spheres with their properties like center and radius etc..


However, I am not able to doubleclick on a sphere and do something, and in addition to that the mouse position.x is sometimes -83 and the sphere position.x is 1200. I think it has something to do with the Coodinate system of my obj file and that my mouse is not in the same coordinate system. is this possible? I attached my whole project - I need some urgent help because I have no clue how to go on from here... thanks a lot!My project should be attached.

WPF
0

Silhouette edge shader

templar_vii 1 year ago in Question • updated by authenticvibes 1 year ago 2

Does anybody see a possibility to create a silhouette or edge shader to highlight edges?

Could I write it by my own, or does helix toolkit already provide something like this?



0

3D visualization from the kinect feed

ishkavi 2 years ago in Question 0

I need to visualize the feed from Kinect in 3D. Is there an open source project using Helix Toolkit for this? The HelixToolkit.Kinect.sln project gives an error when building it saying that it's output is a class object even after changing it and assigning a startup object in project settings? 

Media3D WPF
0

Is it possible to create a mesh editor

Hypo Dyne 2 years ago in Question • updated by anonymous 1 year ago 1

It is possible to create a mesh editor with Helix Toolkit? I would like to be able to be able to modify vectors, edges and faces by dragging on a design surface.

WPF
0

Model3D Transparency

Hello.I have issue with displaying .ski model from Perfect World game.

In game one weapon should be like: 

but in wpf helix it looks like 

as i see,some details here should not be transparent,but they are :(.How can i improve this?

Code mark is default:


 <Grid Name="ViewGrid" Background="Silver">
            <hvd:HelixViewport3D Name="Viewport" ShowFrameRate="True" ShowCoordinateSystem="True" CameraRotationMode="Trackball"  >
                <ModelVisual3D x:Name="Model"/>
                <hvd:SunLight>
                </hvd:SunLight>
            </hvd:HelixViewport3D>
        </Grid>

WPF
0

How to make object invisible for mouse

maxxer 2 years ago in Question 0

Hello,


I have many objects loaded in a scene (part of a SortingVisual3D) and added a manipulator to each of them. Everything works perfectly.


Now I want to surround them by a transparent cylinder. Also this works.


The problem I have now is that the manipulators are not useable when the objects are in the transparent cylinder because the mouse is captured by the cylinder.


Is there a way to make the box invisible for mouse operations?


I am using Helixtoolkit for C# WPF




WPF
0

Viewport 2D of 3D object and textureimage

Nina 2 years ago in Question 0

Hello everybody,

Can some one help me please!

 I have created a viewport using Helix tool kid. I put camera at the position (0,0,0). then I create sky box around camera then show the part camera can view to view port.  My problem is when my view port is showing 1 part of image. How I can know where is the area showing in view port at 2D image that I used for texture to the cube?

WPF