🌶️ Using a constant visual refinement tolerance for all entities

Eyeshot uses an adaptive visual refinement tolerance that it's constantly updated based on scene extents. As a result, the same circle added in two different time frames to the scene could be represented with a different number of segments.

In case you want to change this behavior, you need to follow the approach below (change the 0.1 value as per your requirements):

public class MyDesignDocument : DesignDocument
{    
    public override double GetVisualRefinementDeviation()
    {
        return 0.1;
    }
}

public class MyDesign : Design
{
    public MyDesign() : base()
    {            
        LoadDocument(new MyDesignDocument());
    }
}

---

Code for previous Eyeshot versions

From v2020 to v2022

public class MyModel : Model 
{  
   protected override double GetVisualRefinementDeviation() 
   { 
      return 0.1; 
   } 
} 

For v12 and earlier

public class MyEntityList : EntityList 
{  
   protected override double GetVisualRefinementTolerance() 
   { 
      return 0.1; 
   } 
} 
viewportLayout.Entities = new MyEntityList();
Was this article helpful?
7 out of 7 found this helpful

Comments

4 comments
Date Votes
  • just downloaded EyeShot 7.0 and this method doesn't work. any hint?

    0
  • It's currently available through nightly builds, something that only customers have access to. In addition, in most of the cases getting control over this parameter yields worst performances compared to the automatic visual refinement tolerance estimation that the component does.

    0
  • thank you very. I am a customer. How can i get access to these builds?

    0
  • Just login into your account at www.devdept.com

    0

Please sign in to leave a comment.

Articles in this section

See more