Узнать размеры Листов активного чертежа

Olga94
отредактировано 27 Mar Раздел: API

Здравствуйте Уважаемые специалисты NanoCAD!

Подскажите пожалуйста, как узнать размеры (*заданной уже бумаги) для Листов активного чертежа (*из настроек печати)?

В результате хочу сравнить, например, заданный размер бумаги для Листа со стандартным размером *у принтера, и если не сходится, то выдать сообщение, например, что такой-то Лист в активном чертеже имеет размеры бумаги такие-то.

Заранее спасибо!

Тэги темы:

Комментарии

  • Вот так ?

  • На каком языке идет разработка? На каком месте "спотык"?

  • Olga94
    отредактировано 31 Mar

    Пытаюсь осуществить пока на vba excel.

    Вроде так:

    For i = 0 To ThisDrawing.layouts.Count - 1
    If UCase(ThisDrawing.layouts.item(i).Name) <> "MODEL" Then
    If ThisDrawing.layouts.item(i).ConfigName <> "Встроенный PDF-принтер" Then


    'Получаем размеры листа в миллиметрах
    ThisDrawing.layouts.item(i).GetPaperSize PaperWidth, PaperHeight …

  • Подскажите как получить размеры листа (*длина, высота) с помощью "ThisDrawing.layouts.item(i).GetPaperSize PaperWidth, PaperHeight", НО в NanoCAD API c#?

  • public static double[] LayoutPaperSize(string layout_name)
    {
    var nApp = GetNcApplication();

    if (nApp == null)
    	return new double[2];
    
    var doc = nApp.ActiveDocument;
    var layouts = doc.Layouts;
    
    var layout = layouts.Item(layout_name);
    
    double w; double h; layout.GetPaperSize(out w, out h);
    
    if (layout.PlotRotation == OdaX.AcPlotRotation.ac270degrees)
    	return new double[2] {h, w};
    
    return new double[2] {w, h};			
    }