devDept home page
Home
| Support | Purchase | Company
 
 
Tickets
Submit a Ticket
View your Tickets
License Profile
Resources
Documentation
FAQ
Change Log
Other
Contact Support
Eyeshot Frequently Asked Questions

 

FAQ were recently updated to Eyeshot version 2.0

Question How do I see if Eyeshot Viewport is active?
Answer When the Eyeshot viewport is active the Coordinate System Icon shows the axis labels XYZ, otherwise it doesn't.


Question What is the difference between Mesh, MulticolorMesh, MulticolorOnVerticesMesh and RichMesh objects?
Answer The Mesh object is used for plain vertex and triangle meshes with one solid color. The MulticolorMesh supports different colors for every triangle. The MulticolorOnVerticesMesh is used for meshes with a different color on each vertex (e.g. displaying FEM results). The RichMesh supports different materials (ambient, diffuse, specular, shininess, texture) for every triangle.


Question How do I change the line/arc/ellipse on screen thickness?
Answer Changing the Entity.LineWeigth property value. This value also affects the entity width during printing. Values less than one are correctly rendered only on paper.


Question Is it possible to mark some entities as UNselectable?
Answer Yes, setting the entity's Selectable property to false.


Question How do I make some entities temporary not visible?
Answer Set the entity's Visible property to false.


Question How do I know what OpenGL version I am using?
Answer Calling the Viewport.OpenglVersion and Viewport.OpenglRenderer properties.


Question How do I test my program on a machine without the DDXcoreMSM.msm installed?
Answer Use the Eyeshot setup program, choose Custom setup type and UNselect all the available features. For your information the /Program Files/devDept Software/Bin folder and relative files will be also installed.


Question Why my entities are sorted differently from how I created them?
Answer You probably have the ViewporProfessional.SortEntities property set to true. When SortEntities is active the Eyeshot viewport sorts transparent objects by their distance from the viewer. This automatic sorting allows Eyeshot to correctly render overlapping transparent objects.


Question When should I use prefer Entity.TransformBy() method to Translate() / Rotate() / Scale()?
Answer They do exactly the same thing: transform your entity vertices. By the way there is one important difference, if you need to apply more than one operation Entity.TransformBy() will be faster because it modifies the entity vertices only once.


Question I can move, rotate and scale meshes as long as they are not yet added to the Viewport. After they are added, no action is taken. When I manipulate a Quad, it works fine. What can I do?
Answer Complex objects need to be regenerated after transformations, try adding a call to Viewport.Entities.Regen().


Question How do I prevent too many labels to be drawn on screen?
Answer Labels expose the OnScreenPosition property that allow you to know their position on the screen 2D surface. Using this information you can subdivide the screen surface in a grid and prevent multiple labels to be drawn in the same grid cell. The right place to do all of this is the Viewport.DrawOvelay() method that needs to be overridden. Just before calling the base class implementation you will set the specific label Visible property to true/false.


Question How can I speed up texture loading?
Answer Preparing all the texture images with dimensions power of two, like 128x128, 256x256, 512x512, ...


Question Code generation for property XXX failed. Error was: XXX is unable to convert XXX to System.ComponentModel.Design.Serialization.InstanceDescriptor
Answer This message is Visual Studio error. It happens when Visual Studio loads either two different versions of same assembly or two same versions from different locations. It can be caused by number of different things: make sure that only single build of Eyeshot is referenced, make sure that only single version of component is installed on your machine, make sure that you do not have CopyLocal property set to true if you have installed Eyeshot into the GAC (Global Assembly Cache). Note that Eyeshot is not installed into the GAC by default.


Question I am trying to add a multimillion vertices Mesh to the Eyeshot Viewport but I get an OpenGL error related to running out of memory. What can I do?
Answer Switch to a 64-bit Operating System.


Question My texture looks poorly when is applied on the model, why?
Answer Try setting the Material.MinifyingFunction = Linear.


Question How do I change the background color of my TextOnly labels?
Answer Using the FillColor property.


Question How do I draw some entities on a plane different from XY?
Answer See the Transformations code sample.


Question How do I show current FPS (Frame Per Second) rate?
Answer Setting the Viewport.ShowFps property to true.


Question Exactly what do the TwoPassRendering and SortEntities flags do?
Answer In the case of transparent Mesh objects, TwoPassRendering render first the its back facing triangles than the front facing ones. The Viewport.SortEntities property sorts all the visible entities by their distance from the viewer to correctly render overlapping transparent objects.


Question Why I get the WriteAutodesk error: System.Runtime.InteropServices.COMException ... when I use the ViewportProfessional.ReadAutodesk() or WriteAutodesk() methods on Windows Vista 64 bit?
Answer OpenDWG, the tool Eyeshot uses for reading/writing Autodesk files is not compatible with 64 bit operating systems yet. To use these two methods on 64 bit operating systems set the Platform target to 'x86' in your Visual Studio project properties.


Question Why the shadow is not visible on some machines?
Answer The new Eyeshot shadow is implemented using OpenGL Shading Language. Generally the minimum OpenGL version supporting it is version 2.0.


Question How do I know if Eyeshot is using hardware acceleration on a specific machine?
Answer Check the return value of the Viewport.IsAccelerated property.


Question Why shouldn't I use the Viewport.SaveFile()/OpenFile() methods to store my models?
Answer These commands can be very attractive to save and load models in you program but have a serious pitfall: they are based on standard .NET serialization. This means that any change on the Eyeshot binaries (dll versions, dll names, type names, etc.) will invalidate all your existing files. We strongly recommend to implement your own file format (simply writing entities properties and recreating entities during file loading) if you need continuity between different Eyeshot DLL versions. Another option can be to use one of the standard format supported (DWG/DXF/IGES) where applicable.


Question Why do I get the "Event log file is full" error?
Answer The Eyeshot component communicates to developers using the Windows Event Log. On some machines the Event Log is set to get full instead of to override oldest events. If you receive this error you need immediately to change your machine event log settings.


Question Why do I see extra edges in Eyeshot Solid edition?
Answer The boolean kernel of Eyeshot Solid edition automatically splits complex faces to optimize memory usage. The only way to avoid new edges to be created is to keep the number of triangles of the complex faces as low as possible.


Question When should I call Regen() after transforming my entity?
Answer viewport.Entities.Regen() is necessary only if the entity is already in the master entity collection (viewport.Entities). If not, it will be called automatically by Eyeshot.


Question Why do I get the GL_INVALID_VALUE exception?
Answer The main reason is that you are probably adding the same entity to two different viewports or to the same viewport.Entities and Block collections. This is not allowed by design. Use the Entity.Clone() method to get a valid copy of your entity.


Question When I change coordinate system icon axis color at runtime nothing happens, what should I do?
Answer You need to call the myViewport.CompileUserInterfaceElements() and myViewport.Invalidate() methods to see the changes.


Question Is it possible to use Eyeshot in a WPF form?
Answer The short answer is yes using the WindowsFormHost control. The long answer is that after many tests we concluded that there is no reason for doing it. If you really want to use WPF controls is more effective to create a Windows Forms application and insert a WPF region that contains WPF controls. We strongly recommend to read the following article on the subject: WPF vs Windows Forms.


Question Why Eyeshot is so slow on some machines?
Answer 3D graphics comes not for free and some machines with legacy or very cheap graphics adapters run OpenGL in software emulation.


 
Copyright © 2009 devDept Software. All rights reserved.