Model is out of layout

BestFriendCZ
Advocate
Advocate

Model is out of layout

BestFriendCZ
Advocate
Advocate

Hi all,

 

i wuld like to know if there is easy way how to check this. I know how to find min,max coordinates in my ViewPort. If i transform model cordinates (UCS) to paperspace so these coordinates are still same... doesn't matter to scale setting. Model cordinates change only if i move with model.

 

Reason why i need this is:

our designers use scales like 1:100 if isn't enough then 1:150 and etc.. i can't use zoom extents or something similar

thank you for any advices

layoutExample.png

...
0 Likes
Reply
Accepted solutions (1)
532 Views
4 Replies
Replies (4)

BestFriendCZ
Advocate
Advocate

Hi all,

i didn't find some ideal solution. My plan is prepare some logic like:

if model BB is lower then 25m then 1:100 scale

if model BB bethween 25-40m then 1:150 scale

40m and more 1:200 scale

all my structure have profil rectangular so i will compare their width

.... but is really the best solution? i don't think so

...
0 Likes

ActivistInvestor
Advisor
Advisor
Accepted solution

What about using Zoom Extents to calculate the nearest standard scale?

 


@BestFriendCZ wrote:

Hi all,

i didn't find some ideal solution. My plan is prepare some logic like:

if model BB is lower then 25m then 1:100 scale

if model BB bethween 25-40m then 1:150 scale

40m and more 1:200 scale

all my structure have profil rectangular so i will compare their width

.... but is really the best solution? i don't think so


 

0 Likes

BestFriendCZ
Advocate
Advocate

Hi ActivistInvestor
you have right. This is definitely better solution. Thank you for your advice

...
0 Likes

BestFriendCZ
Advocate
Advocate

//input si CustomScale after use ZoomExtents
public static double FindNearestScale(double input)
{
//1:100, 1:200, 1:150 in order
double[] possibleScales = new double[] { 0.01,0.05,0.006666,};
try
{
return possibleScales.Aggregate((current, next) => Math.Abs(current - input) < Math.Abs(next - input) ? current : next);
}
catch { return 0.01; }
}

...
0 Likes