For bugs and new features, use the issue tracker located at GitHub.
Also try the chat room!

Loading big 3d file(.3ds)
starcrm wrote at 2012-07-27 14:43:
Hello, After Loading large 3d file(.3ds),when rotational model is too slow, what is a good way to improve?let rotating faster
objo wrote at 2012-08-09 00:53:
Reduce the level-of-detail? Sorry, it is not implemented in this library.

Remove X Direction Grid Lines
So my question is, what is the best way to go about removing the lines in the X direction.
Thanks.

Draw to texture
Basic WPF 3D allows to draw to texture in runtime, using RenderTargetBitmap in material. So, drawing in this bitmap instantly affects on mesh texture.
In Helix Toolkit the visible texture changes only after re-attaching model, or using AttachMaterial() in MaterialGeometryModel3D. But these actions finally use something like this "...DiffuseMap.ToByteArray()", and it totally wastes speed of execution;
Is there some way to overcome this and/or bind Bitmap (or it's pure byte[]) to DiffuseMap?
Or Helix Toolkit have fast method to chenge texture?
Thanks!

I need zoom factor instead of mm
behnam263 wrote at 2014-08-16 07:43:
I need zoom factor is there any built in zoom factor or something which i can use?
there is some explanation about zoom factor and zoom in mm in this link:
http://chrisjones.id.au/FOV/fovtext.htm
objo wrote at 2014-08-18 13:22:
I have added the feature in the issue tracker: https://helixtoolkit.codeplex.com/workitem/10068
behnam263 wrote at 2014-08-20 18:00:

cutting mesh
edui wrote at 2013-03-05 07:20:
I'm very new in wpf and helix3d.
I have a 3d mesh model. The center of model positioned at Point3D(0,0,0). I want to cut the mesh which all vertices in positif Y axis.
foreach (GeometryModel3D gm in mg.Children)
{
MeshGeometry3D mesh = (MeshGeometry3D)gm.Geometry;
Point3DCollection positions = mesh.Positions;
Vector3DCollection normals = mesh.Normals;
Int32Collection indices = mesh.TriangleIndices;
Point3DCollection newPositions = new Point3DCollection() ;
Vector3DCollection newNormals = new Vector3DCollection();
Int32Collection newIndices = new Int32Collection();
int c = 0;
foreach (Point3D p in positions)
{
if (p.Y >= 0)
{
newPositions.Add(p);
newNormals.Add(normals.ElementAt(c)); //I'm not sure in this line
newIndices.Add(indices.ElementAt(c));
}
c++;
}
GeometryModel3D gd = new GeometryModel3D();
MeshGeometry3D g = new MeshGeometry3D();
g.Positions = newPositions;
g.Normals = newNormals;
g.TriangleIndices = newIndices;
gd.Geometry = g;
gd.Material = MaterialHelper.CreateMaterial(Colors.Aquamarine);
nm.Children.Add(gd);
nm.Transform = new TranslateTransform3D(new Vector3D(d.Bounds.X, d.Bounds.Y, d.Bounds.Z)); //translate to another positioned
}
ModelVisual3D v = new ModelVisual3D();
v.Content = nm;
But i got the broken mesh. Any suggestions/ideas ? Best Regards;
DM
edui wrote at 2013-03-21 10:29:
I found the solution.
var n = new Vector3D(0,0.2,1);
var p = new Point3D(0, 0.5, 0);
var geo = MeshGeometryHelper.Cut(mesh, p, n);
var m = new GeometryModel3D(geo, gm.Material);
m.BackMaterial = Materials.Red;
var mv = new ModelVisual3D();
mv.Content = m;
view1.Children.Add(mv);
But i've another problem. When I added the manipulator (CombinedManipulator) to the ModelVisual3D object.
After rotating the mesh, I want to cut the mesh. But the cut direction still follow the mesh direction, not the viewport direction.
Any idea?
edui wrote at 2013-03-25 08:45:
to precisely cut the mesh, i need to convert the model coordinate to global coordinate.
Regards;
DM

Move all adorners during a Manipulator
gmgunderground wrote at 2014-05-16 12:02:
My translator is
translateManipulatorX.TargetTransform = mv.Content.Transform;
translateManipulatorX.UnBind();
translateManipulatorX.Bind(mv);
translateManipulatorX.Length = Math.Max(mv.Content.Bounds.SizeX, Math.Max(mv.Content.Bounds.SizeY, mv.Content.Bounds.SizeZ)) * 1.2;
translateManipulatorX.Offset = new Vector3D(mv.Content.Bounds.X + mv.Content.Bounds.SizeX, mv.Content.Bounds.Y + mv.Content.Bounds.SizeY / 2, mv.Content.Bounds.Z + mv.Content.Bounds.SizeZ / 2);
translateManipulatorX.Visibility = System.Windows.Visibility.Visible;
If I remove offset all is working, but adorners are not correctly centeredBest regards

How to create a thick cone
chinh_nguyen wrote at 2013-01-09 13:27:
Hi, how can I create a thick cone using the library, if I use the AddCone method without cap, it is too thin that in some angle, the cone disappear.
chinh_nguyen wrote at 2013-01-10 08:45:
Hi all, I achieved the disappear problem by setting BackMaterial properties. It is not a thick cone yet but solve my problem.

ObjImporter smoothing issue
powst wrote at 2014-08-07 16:30:
Thanks objo a lot for your great tools!
Doesn't anybody know what can be a problem for smoothing in Helix 3D Toolkit? I have a little bit strange case.. I got an .obj file with complex 3d-model which I want to be smooth. There are 2 "s on" lines in this file. I don't remember exactly but there was some issue while smoothng - and I set currentSmoothingGroup in ObjReader always to be 1.. And that helped, part of the 3d-object is now smooth. But only part.. For example I have a 3d-model of jaw - some teeth are smooth, some - very rough - there is clear difference. Using other 3d-viewers I can see all of the teeth are smooth.
In this file there are 2 "s on" lines - one before all vertices part, another one before faces. Plus there are a lot of separated "groups" (part of vertices or faces that start with "g"). I don't know maybe that is the problem - but groups with the same names are separated all over the file - ie that can be:
g Name1
...
g Name2
...
g Name1
I also tried to change some code in ObjReader - for example in AddGroup method in the beginning I put a line
if (Groups.Any(x => x.Name == name)) { return; }
And it partially helped - all teeth were smooth, but mesh in general was a little bit broken.. Than I changed smoothingGroupMap first parametr to be not int but the name of the group - for every group to have its own smoothing map (cause in original code after
adding a group smoothing maps were destroyed) - but it made everything even worse. :(Has anybody any ideas why there can be part of 3d-model smooth, and part of it - absolutely rough?
objo wrote at 2014-08-08 12:41:
I guess there could be a bug in the obj importer. In that case we should have a small test file and create an issue on this!
powst wrote at 2014-08-08 14:25:
I can send you this .obj file..
powst wrote at 2014-08-11 14:33:
Using HelixToolkit
Using MeshLab
I feel like there can be an issue with Groups...
powst wrote at 2014-08-11 15:16:
if (Groups.Any(x => x.Name == name)) { return; }
line in AddGroup method:After
Close enough, but appeared some clearly visible trouble with a few tens triangles on a problem part of the model...
powst wrote at 2014-08-14 17:38:
objo wrote at 2014-08-18 13:10:

windows 8.1
i'm am not a c# profession. how can i get a nuget package into a windows 8.1 Desktop Program?
i made a test wpf program and there i can use the helix 3d nuget package. whats the best way for me to solve this problem?
Thank you for your help.
Customer support service by UserEcho