For bugs and new features, use the issue tracker located at GitHub.
Also try the chat room!
Build problems.
noemata wrote at 2010-02-26 16:17:
Though previous releases of Helix 3D build without issue, I was not able to build the most recent archive (41796).
Any suggestions?
Also, I would like to display platonic solids algorithmically ... what approach would be best in the context of your formula based SurfaceDemo. Ideally, I would like to have parameters control the construction of a given n-level platonic solid (would be cool to be able to show them in a partially unwrapped state).
objo wrote at 2010-02-27 17:47:
I have reverted some of the changes from that changelist, the new version 41967 hould build fine.
I don't think the frame rate calculation is correct - will consider to remove it if it is not possible to get the correct numbers.
It would be cool to add a demo showing platonic solids - I would create a ModelVisual3D - do it a similar way as the BoxVisual3D. Or just render the edges by a SegmentCollectionVisual3D. Do you have the algorithm calculating the positions of the vertices? I would also like to create a geodesic dome/sphere visual later... :)
noemata wrote at 2010-02-27 19:49:
Great!! Everything builds again. I think I have the code bits you would need. How can I send this to you more directly. Can you provide me with an email address?
Thanks a bunch!
ReedCopsey wrote at 2010-05-14 21:09:
FYI - The latest build (48034) does not build, due to missing app.config files.
objo wrote at 2010-05-14 22:54:
Thanks for the notice! I have added the app.config files now and tested the latest change set with VS 2010.IsHitTestVisible in Overlay example
everytimer wrote at 2014-03-17 23:18:
Are there any reason to disable that behavior? Any future disadvantages? If that's the case, what should I do to enable events to the visual element that are plotted? Thanks
objo wrote at 2014-04-29 10:55:
everytimer wrote at 2014-04-29 18:15:
TriangleIndices & Vertex Positions to LinesVisual3D
alexalthauser wrote at 2012-04-13 03:09:
Hey Guys,
I import a model using the Helix3d toolkit. Next, I perform a hit-test on the 3Dmodel. ThenI get the MeshGeometry3D information from rayMeshResult.Meshit. Finally I get the vertex position information, and triangleIndices from the MeshGeometry3D. Now I clone the points from LinesVisual3D, and then I feed the triangleIndices/vertex info into the clone. Finally, I copy the clone's point data into LinesVisual3D.Points, and add the lines to my viewport.
As you can see from the picture at the link, not all of the edges of the cube are drawn, yet all of the points are there.
http://www.freeimagehosting.net/fhws5
GeometryModel3D hitgeo = rayMeshResult.ModelHit as GeometryModel3D; MeshGeometry3D newGeom = rayMeshResult.MeshHit as MeshGeometry3D; Point3DCollection srtpnt = modelLines.Points.Clone(); for (int i = 0; i < newGeom.TriangleIndices.Count; i ++) { srtpnt.Add(newGeom.Positions[newGeom.TriangleIndices[i]]); textBlock4.Text += newGeom.Positions[newGeom.TriangleIndices[i]].ToString() + "\n"; } modelLines.Points = srtpnt; modelPoints.Points = srtpnt; modelPoints.Color = Colors.Red; modelPoints.Size = 15; modelLines.Thickness = 6; modelLines.Color = Colors.Blue; MainViewport.ClearChildren(); MainViewport.Children.Add(modelLines); MainViewport.Children.Add(modelPoints); UpdateResultInfo(rayMeshResult); }
alexalthauser wrote at 2012-04-13 04:20:
I'm going to go out on a limb here and guess that the problem is that I'm calling the geometry information from the Meshhit, instead of from the imported model.
objo wrote at 2012-04-14 00:11:
I think the problem is that you are using the same points for the modelPoints and the modelLines.
The Points collection in the LinesVisual3D defines line segments.
It treats each pair of points as an independent line segment. Vertices 2 n - 1 and 2 n define line n . N / 2 lines are drawn.
alexalthauser wrote at 2012-04-14 00:37:
I understand what you are saying, but whether I use the points for modelPoints, or not, the modelLines, do not fully cover the cube.
alexalthauser wrote at 2012-04-14 02:20:
Ah, nevermind. I understand, it's my bad. Of course a model won't contain information for drawing lines from each vertex, I will have to code a method myself.
3D Surface Chart Axes
gizmodomn wrote at 2013-02-04 13:41:
objo wrote at 2013-02-07 20:17:
You could apply a ScaleTransform3D to your Model3D or Visual3D object, but this will also scale labels and lines.
I think I would try to manually scale the positions of the mesh, and not use transforms!
gizmodomn wrote at 2013-02-14 14:43:
That's what I was thinking too. I'll give that a try, thanks!
Draw a pipe with layers ???
terry_513 wrote at 2014-01-16 10:43:
I have to draw a area, that has 5 vertical areas (lets say layers of different color) each of difference length long. I want the total area (sort of surface) to be X wide and Y long. That will be as a background of the area. On that I got to draw an inclined pipe at certain point and angle.
I am new in 3D world. I want to achieve this using Helix. I refereed tutorial http://kindohm.com/technical/WPF3DTutorial.htm and ExampleBrowser.exe execution. I couldn't get how to get started on my needs.
Can anyone please help me know how to get started and achieve my goal. Any link for tutorial may also be helpful - as I am beginner in 3D & Helix. Awaiting for your guidance.
Thanks a lot.
objo wrote at 2014-01-26 20:39:
http://www.charlespetzold.com/3d/
http://www.ericsink.com/wpf3d/
To learn HelixToolkit, I recommend getting the source code (clone or download) and play with the examples in the debugger!
Material won't load
gautamonline wrote at 2012-04-26 07:27:
Hi,
I created a project, added reference to the Helixtoolkit.Wpf project, and took a sphere from the EarthDemo. I placed the png file in the folder which contains the bin, obj and properties folder. The application uses Kinect input, so the user can manipulate the sphere using Kinect.
However materials do not show up when I run the application. Below is the code for the sphere. Please let me know what am I missing in using materials on sphere.
<h:HelixViewport3D x:Name="helixViewport3D1" InfiniteSpin="True" ZoomExtentsWhenLoaded="True"> <h:DefaultLights /> <h:SphereVisual3D Radius="1" Material="{h:ImageMaterial TimeZones2008.png}" ThetaDiv="45" PhiDiv="30" Fill="#FF802121" /> </h:HelixViewport3D>
thanks
Gautam
objo wrote at 2012-04-26 08:16:
I think your Fill property overrides the Material property. Remove the Fill setting. And make sure the png file is included as Content in your project.
gautamonline wrote at 2012-04-26 08:48:
Thanks for the help! The material is loading. File was in the wrong location. Fill settings did not affect the texture.
One more question: The transparency which has been applied on the cloud.jpg, is not working. I copied the exact code.
I tried replacing jpg with a PNG file, but it didn't work. If the Binding in removed in the XAML, then the texture loads correctly, but without transparency.
public static readonly DependencyProperty CloudsProperty = DependencyProperty.Register( "Clouds", typeof(Material), typeof(MainWindow), new UIPropertyMetadata(null)); this.Clouds = MaterialHelper.CreateImageMaterial("clouds.jpg", 0.5); public Material Clouds { get { return (Material)this.GetValue(CloudsProperty); } set { this.SetValue(CloudsProperty, value); } }
<h:SphereVisual3D Radius="1.05" Material="{Binding Clouds}" ThetaDiv="90" PhiDiv="45"/>
Load 3d objects
baucez wrote at 2011-09-18 11:08:
Hi,
I am developing an app in which I have to load many 3d object (some of them are big).
Initially I tryed to include them as xaml in the resources but I reach the maximum dimension and visual studio cannot compile them, so I extract them in external xamls that I load dynamically when I need them but loading/parsing xaml files is slow.
I had the idea to compile them in BAML and see if they are faster but i read that baml files are not supported by microsoft
So now I ask to you..
Which is the best way to do it? Which is the fastest way (file format) to read an external 3d object?
Thanks,
Roberto.
objo wrote at 2011-09-18 13:52:
hi Roberto! I have not tested the performance on model loading of large files - but I guess the .3ds and .lwo importers (both binary files formats) in Helix toolkit are faster than xaml, baml, stl and .obj importers. Can you try to convert to .3ds or .lwo and compare? It would be interesting to know the result!
baucez wrote at 2011-09-18 16:48:
Actually i never use tools for 3d drawing so I don't know how to convert from autocad 2010/DXF/XAML to 3DS/LWO
I will try to convert files to those fomat and if I'll have success I'll give you feedback about performances.
Of course suggestion on how to convert my models to 3ds or lwo are welcome!! :)
baucez wrote at 2011-12-04 09:58:
It seems to be much more faster with 3ds, however I cannot have the same quality as the xaml version because of the conversoin tools.
objo wrote at 2011-12-04 10:40:
for conversion, try http://meshlab.sourceforge.net/ (open source) or http://www.okino.com/conv/filefrmt_3dexport.htm (commercial)
Camera Changing Position Events
pupunussi wrote at 2012-09-13 15:57:
Hello,
Is there a way to get an event fired every time the viewport starts and ends changing the position of the camera? GotMouseCapture and LostMouseCapture events of CameraController kinda work but not for zooming with mouse wheel.
I have a surface displayed with a high level of detail. What I am trying to do is to decrease the level of detail whenever the user tries to manipulate the camera in order to sustain high enough FPS to keep the program usable.
So far I build two surface with high and low levels of detail and replace one with another and then back on GotMouseCapture and LostMouseCapture events.
I'm pretty sure it's not the best way to achieve the results I need.
Is there a better way to do it?
Thanks!
None critical but annoying Bug
kwcoffee1 wrote at 2014-07-10 00:51:
This is a very good 3D toolkit, thank you.
But I noticed the follow flaw:
If the ModelUpDirection property is set to say (0,0,-1) then the viewcube control does not show up in the viewport box.
Again, Thanks,
King
objo wrote at 2014-07-11 21:44:
Billboard dynamic size mode?
robzhu wrote at 2013-07-17 07:07:
objo wrote at 2013-08-08 16:57:
I think you don't need to transform to/from screen space, so this case will be easier.
Use the camera up direction and look direction to find "up" and "right" vectors for the billboard rectangle. Then scale the unit normals by desired width/height in your world space.
PhilDotC wrote at 2014-04-15 08:45:
objo wrote at 2014-04-29 10:28:
aueit wrote at 2014-08-15 18:05:
Customer support service by UserEcho