Click here to Skip to main content
16,016,760 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello everybody.
I will create an application in c# where I will need to draw some plan objects and turn it in 3D. The user will draw the object in a plan and a 3D form of it will be created, and then he will add holes, texts and so on. I will need to scale and move the object and I want that it has some effects, such as, shadow, glass, texture and others.
After to draw the shape I will generate a machine code, such as, G code, that will be send to a machine that has some similarities of CNC(Computer Numerical Control).
I want to know what kind of graph library that is better to use, OpenGL, or other? And where I can to learn about it?
In principle I want to use windows forms and C#, but I am open to new ideas.
Thanks in advance.
Posted
Updated 12-Nov-14 12:01pm
v2
Comments
Sergey Alexandrovich Kryukov 11-Nov-14 20:37pm    
Why Forms?
—SA

1 solution

For example, you could use open-source OpenTK, based on OpenGL: http://www.opentk.com/doc/chapter/2/glcontrol[^].

But frankly, System.Windows.Forms application is not the best container for advanced (and even not so advanced) 3D graphics; you can do a lot more and much easier with WPF: http://msdn.microsoft.com/en-us/library/ms747437%28v=vs.110%29.aspx[^].

As to the Forms, I can see one major benefit: the possibility of Mono-compliant development; OpenTK is, for example, Mono-compliant. If you don't care about it, WPF will be, in most cases, the apparent winner.

And by the way, if you are really want to target G code, CNC and other CAD/CAM stuff, the sooner you get rid of your illusion that this work is "very simplified", the better. It is not "simplified", it is serious enough; take it very seriously.

—SA
 
Share this answer
 
v4
Comments
Edson Rodrigues da Silva 12-Nov-14 17:14pm    
Sorry for the misunderstanding, I didn't express myself very well.
When I said that it will be "very simplified" I wanted to say that it will not be a conventional CNC, but a specific solution for a problem and I will take some advantages of CNC and G code. The problem consists in to machine a plate, in only one face, with less than 10 millimeters of depth . For this, I will use few movements in Z axis, and I will not need to draw complex forms, such as, spheres, cones, cylinders and others, but only a plane with some millimeters of depth.
Regarding to windows forms, the first thing that I thought was to use open GL with windows forms. I know that exists several methods to do it, for this that I ask this question, I am interesting in know how people with more experience that me would react in this situation, all opinions will be welcome.
I will reissue my question to turn it clearer.
Thanks for your reply.
Sergey Alexandrovich Kryukov 12-Nov-14 17:38pm    
All right, thank you for this clarification. I personally developed CAD and production environment (always related to production) in both Forms and WPF, but my target production were mostly 2D or "almost 2D" (if you understand what I mean). Nevertheless, my answer stays valid. Will you accept it formally (green "Accept" button)? In all cases, your follow-up questions will be welcome.
—SA
BillWoodruff 13-Nov-14 2:15am    
+5 Good solid advice.
Sergey Alexandrovich Kryukov 13-Nov-14 2:38am    
Thank you, Bill.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900