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!

Show wireframe as quads with Helix and SharpDX

Raul Burgos 4 years ago in Question • updated by Octopussy 1 week ago 167
Is it possible to get this effect ( Connected Mesh to QuadFaces ) in the viewportDX when a .OBJ model is readed on it?.
I'm using HelixToolkit.Wpf.SharpDX.
Somebody can post a example?
Thanks in advance.


WPF Helix Toolkit MVVM Exception "...Child of another Visual Tree"

claude 2 months ago in Question • updated by Happy Todd 3 weeks ago 1

In my project i am trying to integrate some 3D Visualization using Helix Toolkit. A Page showing a ViewPort3D with itemSource bound to a DataContext with an ObservableCollection of Visual3D is one of several Pages which can be displayed in my Application. A Navigation bar lets me switch between these pages.

My problem is that once i have populated my ObservableCollection with Visual3Ds, then navigate to a different page, then return and try to make changes to the ObservableCollection again, I constantly receive an Exception that my collection is already part of another VisualTree!

Presumably, since a new View is instanciated (and presumably the old View still survives somehow)whenever i navigate between pages, but my DataContext is persistant, this is what causes the problem. 

Has anyone come across this problem? Sorry for the rough explanation but my Software is too large to post!



How to get the translated/moved Point position from CursorOnElementPosition.Value.X

RS_FE 3 months ago in Question 0

Hey folks,

when using CursorOnElementPosition.Value.X it retrieves the position of the model which is not tranlated/moved to an offset/animated position.

How do I retrieve the current and translated position of the mouse down point?

Media3D WPF

RenderingEventListener loop

ikonuk 4 months ago in Question • updated by kitchenprovance 3 months ago 3

Is there anyway to stop this loop? Any way to remove the listener from the eventhandler queue?

Any suggestion would be appreciated.



Cannot connect a slider control to GridLabels

ikonuk 4 months ago in Question 0

I am trying to use GridLabels to display time in a model:

GridLabels.Add(new BillboardTextItem


    Text = String.Format("{0} {1} {2}", "Time = ", Well.TubeAnimTime.ToString("N0"), "Sec"),

    Position = new Point3D(0, 0, 500),

    WorldDepthOffset = 100


I tried to test this functionality using a Slider Control:


    <TextBlock Text="Animation" />

    <Slider x:Name="AnimationSlider" Value="{Binding Well.TubeAnimTime}"

    ToolTip="{Binding ElementName=AnimationSlider, Path=Value}" Minimum="0" Maximum="100" Width="100"  Margin="10"/>


Although the label displays OK and responds to all movements and zooming, it does not respond to the Slider. I know Slider works ok because other elements in my model responds to it.

I tried to change the biding mode to TwoWay in:

<h:BillboardTextGroupVisual3D Background="Gray" Foreground="White" FontSize="12" Offset="2,2"

Padding="1" Items="{Binding GridLabels, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"

IsEnabled="{Binding IsChecked, ElementName=FreezeAxisLblsCheckBox}" />

VS 2017 does not allow me as the property seems to be readonly.

I really like Helix Toolkit but I seem to be slow learner. Anyone can explain why the binding with the Slider does not work. Or is there any easier way to display the time parameter in a distinct box like GridLabels?


Media3D WPF

Mouse bindings

nsy 4 months ago in Question 0

Does anyone know how to change the mouse bindings? At the moment, the right mouse button is used to rotate the object. I would like to move this binding to the left mouse button and free up the right mouse button. The right mouse button will be used to display a context menu.


Loading Objects and Meshbuilder Questions

Bob 5 months ago in Question 0

First off, I do not want to waste anyone's time here.  I have searched extensively for answers to my questions but honestly, I haven't found a centralized source where one can go to learn about the Helix Tool Kit.  Any suggestions for the definitive source would be very helpful.

Loading an OBJ model

I am writing an application that is basically an IMU head tracker.  I have used Helix to create three viewports; one each for front, top, and side views.  I am using the teapot for the object.  I have it working where the teapot in each viewport rotates according to the data from the IMU.  I have an OBJ file of a human head and for the life of me, I can't seem to get that file to load.  I don't see the need to load it programmatically.

From an example I found, I added:

<Helix:FileModelVisual3D x:Name="Head3D" Source="c:\malehead.obj"/>

in place of:


Is that all that is necessary?  FYI: If I have to do it programmatically, I am using VB, not C# in Visual Studio.


I also want to create a POV viewport.  I will have a wireframe sphere with the origin at 0,0,0.  The perspective camera will also be at 0,0,0 so the camera will be showing the wireframe from inside the sphere.  The camera will rotate in three axis based on the incoming IMU data.  Placing text on the wireframe showing the angular distance from 0,0 would be icing on the cake.

I just have not been able to find any example, tutorial, or documentation on how Meshbuilder is used.

Your help is greatly appreciated.


plane and 3d model intersection

Armaghan 8 months ago in Question 0

hello. how can I cut a 3D model using a plane in helix ?


Using FbxSharp for FBX imports?

enjlectric 8 months ago in Question 0


for a project of mine it would be convenient if I could find a way t o import FBX files into the Wpf.SharpDX version of the toolkit.

I have found this FBX Parser for C# and am currently trying to read my way into that, but as I am doing so I'm wondering if anyone else has tried the same, or if this can even possibly yield any good results. I've only started using Helix earlier this week so I'm not exactly an expert, so there may aswell be a logical impossibility when trying to convert a model from the FBX scene class to the Object3D class. If that's the case, I would like to know where these problems lie, out of curiousity.

Thank you for reading.


Show axis scale

Artem Artem 9 months ago in Question • updated 9 months ago 0


I'm just stuck.

I've starte research Helix-tookit. I very like, but I have some troubles.

 I want to display axis scale(perfectly it's display real numbers corresponding to grid node)

Markup looks like


<Window x:Class="UpDirectionDemo.MainWindow" 
 xmlns:x="" xmlns:h="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf" Title="UpDirectionDemo" Height="480" Width="640" xmlns:local="clr-namespace:UpDirectionDemo" > 
 <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Center" Text="HelixViewport3D.ModelUpDirection = 0,1,0" Padding="8" Foreground="Black"/> 
 <h:HelixViewport3D x:Name="view1" CameraRotationMode="Turntable" ModelUpDirection="0,1,0" ShowCoordinateSystem="True" > 
 <PerspectiveCamera Position="5, 30, 40" LookDirection="-5, -30, -40" FieldOfView="45" UpDirection="0,1,0"/> 
 <h:CoordinateSystemVisual3D ArrowLengths="10" /> 
 <h:BillboardTextVisual3D Position="12 0 0" FontSize="24" Text="X" /> 
 <h:BillboardTextVisual3D Position="0 12 0" FontSize="24" Text="Y" /> 
 <h:BillboardTextVisual3D Position="0 0 12" FontSize="24" Text="Z" /> 
 <h:GridLinesVisual3D Normal="0,1,0" LengthDirection="1,0,0"/> 


I cant find this params. I've just only found ThetaDiv in ArrowVisual3D class. 

Is any way to display to display what I want? Thearetically I can create my own class MyArrowVisual3D(extends from ArrowVisual3D ) and create method for display it, but it to complex, I guess.