Перейти к содержанию

Блоги

Популярные записи

  • dows

    Как из ARCHICAD сохранить BIM-модель в формате IFC, чтобы в nanoCAD Инженерный BIM пришли помещения?

    От dows

    Часто возникает вопрос со стороны пользователей: Почему из ARCHICAD не приходят помещения? И чаще всего архитекторы забывают отображать помещения в 3D модели при сохранении IFC. Ниже укрупненные шаги, как все-таки подготовить корректные IFC из ARCHICAD. Хотя в общем виде схема универсальна для любых других архитектурных BIM-систем. Итак...   Со стороны ARCHICAD процесс достаточно простой: 1. Замоделировать модель с проработкой помещений (помещения = Зоны, какие параметры задаются
    • 0 комментариев
    • 1 039 просмотров

Блоги нашего сообщества

  1. <Каталог>

    <nanoCAD. Программирование и автоматизация>

     

    Подготовил на Powershell скрипт синтаксического разбора LISP модулей с последующей генерацией диаграммы связности функций при помощи GraphViz.

     

    Актуальная версия скрипта будет пока лежат здесь.
    Сейчас скрипт в первом приближении.

     

    Я запускаю скрипт из под ISE, но, в принципе, работает и из командной строки.

     

    Скрипт опробован на трех модулях:

    bgtools_3.11a_Nc_21.lsp,
    pltools_NC.lsp,

    StripMtext_v5-0c1_NC.lsp

     

    При запуске скрипта предлагается выбрать LISP файл для анализа и отметить списки, которые необходимо по окончании работы экспортировать в Excel.
    Результатом работы является текстовый файл в каталоге \dot.

     

    Для обработки текстового файла необходим комплект утилит GraphViz. Я экспериментировал с утилитами Dot, Circo и Twopi.

    В каталоге \dot лежат командные файлы заточенные под мои каталоги. Их необходимо отредактировать.

     

    Кроме этого, можно экспериментировать с:
    опциями заполнения окончательного изображения диаграмм (строка опции в текстовом DOT файле)
    ratio=fill|expand
    с размером генерируемых изображений в дюймах (строка опции в текстовом DOT файле)
    size=24|36|48
    c опцией разрешения изображения для растров (опция в командном файле)
    -Gdpi=0|100|200|300

    ... с другими параметрами

     

    Важно!
    При обработке утилитами GraphViz почему то в режиме имен файлов по умолчанию "-O" нормально воспринимаются любые имена файлов, а при указании конкретных имен  "-o" только имена файлов без пробелов.

     

    В результате получаем схему взаимосвязей вызовов функций вида:

    bgtools_3.11a_Nc_21.lsp

    Спойлер

    bgtools_3.11a_Nc_21-2_circo.thumb.jpg.ee8d024afa7c3ec570bc7311fcb06c2a.jpg

     

     

    pltools_NC.lsp

    Спойлер

    pltools_NC_dot.thumb.jpg.8de235f6c69e1ec4c73ce1cfd539580e.jpg

     

     

    StripMtext_v5-0c1_NC.lsp

    Спойлер

    StripMtext_v5-0c1_NC_twopi.thumb.jpg.a1fcee54b1387b40d7fe26c39b29020f.jpg

     

     

     

     

     

  2. Disclaimer сразу оговорюсь, способа узнать ID объекта в платформе пока не существует (по крайней мере мне неизвестно).
    Хотя разработчики могли бы добавить такую возможность, например в утилиту конфигурации. 
     
    Но подставить костылики можно.

    Простой способ открыть в мастере объектов и посмотреть ID не рассматриваем (СПДС, Механик и прочие вертикалки работодатель не купил, а пробник выдохся))))

    _________________________________________________________

     

    Для чего нужен этот ID?

    Для того, что бы иметь возможность в вставлять таблицы с кнопок, палитры инструментов или посредством lisp из командной строки. 

    Вот такое выражение для кнопок, менюшек и инструментов:

    ^C^C_stdselected <ID>

     

    для lisp (кстати лисп выражения прекрасно работают в менюшках и инструментах)

    (defun C:ИмяКоманды ()
      (command "spStdSelected" "<ID>")
      (princ)
    ) 

    Что такое этот ID?

    Уникальный идентификатор объекта в базе данных (БД), именно по нему программа узнает какой объект вставить на чертеж.

    Что мы знаем о таблицах и их ID?

    У каждой таблицы в БД есть свой ID:

    1. Если перемещать таблицу внутри базы по "каталогам", ID не изменяется;
    2. Если переименовать таблицу , ID не изменяется;
    3. Если утилитой конфигурации экспортировать таблицу, у экспортированной ID будет такой же;
    4. Если импортировать таблицу в базу, у импортированной будет тот же ID, но
      если в базе таблица с таким ID уже есть она будет перезаписана импортируемой (независимо от имени);
    5. Если в в каталоге базы есть таблица с другим ID, но таким же именем, то при импорте таблица перезаписана не будет ( в этом каталоге будут две одноименные таблицы);
    6. После вставки на чертеж ID у таблицы на чертеже нет;
    7. Если после редактирования на чертеже сохранить в "каталог" базы одноименную таблицу,  ID таблицы которая была в базе не изменится.

    Что дает нам это знание?

    1. Можно сделать экспорт из БД интересующих объектов и попросить имеющих СПДС импортировать их к себе, посмотреть ID,
      вариант рабочий, но далеко не каждый имеет БД для тестов и поэтому вряд ли будет импортировать себе неизвестно, что с риском перезаписать свои объекты;
    2. Можно модифицировать и перезаписать стандартные таблицы из БД (их ID можно посмотреть в инструментах)
      как по мне так себе идея  модифицировать стандартные объекты, при обновлении базы могут перезаписаться опять стандартными;
    3. Можно импортировать в свою БД таблицы с заранее известными ID и в дальнейшем работать с ними

    Суть идеи...

    1. Загружаем в свою базу таблицы отсюда  
      в архиве *.mcd таблицы пустышки, имя таблицы, ее ID;
    2. Импортируем таблицы в свою БД в любое место;
    3. Запоминаем имена-ID таблиц либо сразу привязываем их на кнопки и в инструменты;
    4. В утилите конфигурации переименовываем таблицы, как требуется, там же в утилите можно переместить таблицы в нужные каталоги.
    5. Свои настроенные таблицы из БД вставляем на чертеж (либо настраиваем непосредственно на чертеже)
    6. Сохраняем таблицы с чертежа в БД 
      !!!Важно в тот же каталог и под тем же именем, где лежит таблица пустышка (с заранее известным ID)
      Настроенная таблица перезапишет ту, что в базе, но ID не измениться;
    7. Профит, пользуемся и :prey: разработчикам, что бы они добавили возможность посмотреть ID  в "голую" платформу

    ---------------

    PS Если вдруг кто не в курсе

    Спойлер

    image.png.5210dcae15fde4d1c66586939616e71b.png

     

    Спойлер

    image.thumb.png.29242fbe4d57a5a3d35aa6df63d384fa.png

    Спойлер

    image.png.f228d66e60294bade5e679745996febd.png

    Никак не связаны и не обязательно должны совпадать, 

    • 1
      запись
    • 5
      комментариев
    • 304
      просмотра

    Последние записи

    Понадобилось реанимировать свое старое приложение для работы с полилиниями в nanoCAD.
    Публикую может кому пригодиться.
    Написано на C#/MultiCAD.
    Исходники на GitHub, поставляется "как есть".
    Работоспособность проверена под NC2021.
    Готовая к использованию .dll ка PLL_APP_v05.dll


    Описание возможностей:

    1. По выбранной полилинии: создает таблицу с координатами вершин чертежа.
      Таблица в двух формах обычная и по "кадастровой форме". Плюс экспорт в CSV.
      Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y.

      pll_app_tables.thumb.gif.a452d9447cf62db616a9cae5500657bd.gif

       
    2. Нумерация вершин. Поддерживается изменение высоты текста и нумерация вершин не с первой позиции.
      Есть ньюанс: на замкнутых "совмещеннных" вершинах, умерация прозводится дважды(пояснение).pll_app_numerate.thumb.gif.f1afc0b8e6cc8d27565f490f1d1a67bb.gif
       
    3. Перенумерация вершин(только для замкнутых полилиний).
      По факту создание новой полилинии, с измененным порядком вершин.
       
    4. Расстановка геометрии по вершинам полилинии.
      Поддерживаются: примитивы, тексты, блоки.
      pll_app_obj_arrange.thumb.gif.e5435e46e8b1021d028b79aab868d8cb.gif
       
    5. Упрощение полилинии(без дуговых сегментов), с заданием максимальной длинны сегмента.
      По факту создается новая полилиния.
      Реверс(без дуговых сегментов).
      Удаление одинаковых вершин.
       

    Расстановка выносок по вершинам полилинии.
    Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y.pll_app_notes.thumb.gif.c2248570ab207e613b9697bc924512de.gif


     

    Если кто будет пользоватья - пожелания/комментарии здесь или в личку.

  3. Хочу написать гайд по отчётам таблиц, который будет понятен и нагляден.
    Делаю это в первую очередь для коллег с которыми работаю, но, надеюсь, пригодиться и кому-то ещё.

     

    0. Оговорка

    Работаю в Нанокад СПДС 6.0

     

    1. Задача

    Поставим очень простую, но часто встречающуюся задачу - сложить длину объектов - в нашем случае надо будет узнать общую длину всех отрезков  в указанной области в определённом слое.

     

    2. Начало работы.

    Для удобства прикладываю файл, с которым буду работать

    Отчёт по объектам.dwg

     

    Первым делом вызовем таблицу (команды TABLE, ТАБЛИЦА image.png.dd6e4d10af46ccff736e841a691b2880.png) 

    Теперь надо выбрать поле "Отчёт по выборке объектов"

    image.png.0b416829357853fa1b42820a74840677.png

    и нажать кнопку "Выбрать".

    Появляется меню быстрого выбора. Тут немного остановимся.

    image.png.9d3301404413f7ab2b0252eaaa695b6f.png

    Давайте разберёмся как им правильно пользоваться в текущей ситуации.
    Разбираемся в значках image.png.2b2ba5c0950f11a8ee478889e6e03731.png

    image.png.1630faedaf340ae27bd846c7b6e40924.png - Поиск объектов во всём документе (Модель и листы)

    image.png.962a144c4c1b801abeb3b0d37c84b5fc.png - Поиск объектов в текущем листе (либо модели)

    image.png.2f8174bbc6a75ee378d16149420f7e84.png - Поиск в прямоугольнике

    image.png.97fcdc10ab058b99589495f757366e52.png - Поиск в текущем наборе

    image.png.c50b1996b19bad88b2a30c5c1bff850f.png - Указать на чертеже (сейчас серым)

    image.png.03c846f7ea907f1795de1b49621027db.png - Загрузка шаблона

    image.png.6a17aa14baa1b05dc177ce70fa8d74ed.png - Очистить список условий.

    Первые два значка (image.png.1630faedaf340ae27bd846c7b6e40924.png и image.png.962a144c4c1b801abeb3b0d37c84b5fc.png ) в принципе вопросов не должны вызывать - при выборе параметров из меню ниже, поиск объектов будет производится во всём объектов (image.png.1630faedaf340ae27bd846c7b6e40924.png) либо в текущем листе/модели (image.png.962a144c4c1b801abeb3b0d37c84b5fc.png)


    Что такое "Поиск в прямоугольнике" (image.png.2f8174bbc6a75ee378d16149420f7e84.png )? 

    При выборе этой опции, будет производится поиск элементов только в указанной области. Область можно задать только одну при этом. При нажатии на кнопку у нас появится возможность задать прямоугольный участок в котором будут выбраны все объекты. Вроде бы удобно, но для первоначального создания отчёта по выборке объектов не рекомендую.
    А не рекомендую вот почему - выбираем нашу область с отрезками и полилиниями и получаем следующую картину:

    image.png.24c5053c650f7eed98da13b45e2f002f.png

    Выбрались все наши элементы. А нам нужны только отрезки. Но вроде не велика беда, можно выбрать не нужные нам элементы (в данном случае полилинии) и, нажав на "+" убрать их из выборки выбрав строку "(Нет объекта)"

    image.png.432e5431ef6d22da381dfe28e5d3261a.png

     А теперь предположим что мы работаем с реальным чертежом. Задача та же, только в этой же области присутствуют и блоки и размеры и много других элементов которые нам не нужны.
    Нам придётся выбрать каждый из них и удалить подобным образом. Не очень-то и удобно, согласитесь.

    Конечно, мы можем просто нажать image.png.6a17aa14baa1b05dc177ce70fa8d74ed.png  и тем самым удалить все объекты из выбора, а после руками выбрать нужный, но это несколько лишних кликов и затраченное время на поиск нужных параметров из списка.

    Поэтому для первоначального выбора объектов советую использовать image.png.97fcdc10ab058b99589495f757366e52.png - поиск в текущем наборе.

    Эта опция позволяет выбрать конкретные объекты на чертеже.

    Теперь, чтобы всё сработало корректно, выходим из создания отчёта (жмём esc), повторяем предыдущие шаги, только вместо выбора объекта с помощью image.png.2f8174bbc6a75ee378d16149420f7e84.png, выбираем image.png.97fcdc10ab058b99589495f757366e52.png .  Вас перекинет на чертёж с возможностью выбрать объекты.
    Выбираем отрезок, но не любой, а сразу тот, который находится в слое "Надо сложить" (жёлтый). И вот почему:

    image.png.0475d98735bf35d54e5db62b461c4839.png

    Сейчас мы будем настраивать наш поиск. Мы сразу выбрали тип элемента который нам нужен, и поэтому сможем легко настроить наш поиск так, чтобы случайно не захватить другие элементы.

    Первое - мы выбираем только отрезок - уже есть.

    Второе - наш отрезок должен быть в определённом слое - добавляем условие - щёлкаем в столбце "Значение" напротив "Слой" и выбираем слой "Надо сложить":

    image.png.12f52e42c59e416c1c4b54bd3e2234cd.png

    В столбце "Условие" выбрался автоматически знак "равно" - само за себя говорящие условие)

    В значение же выбора слоя из предложенных было всего одно - "Надо сложить" - это благодаря тому, что мы выбрали всего 1 объект. Если бы выбрали несколько объектов в разных слоях, то таких бы вариантов было бы несколько.

     

    Фильтр настроили.
    Теперь важный момент - после первоначальной настройки фильтра повторный выбор объектов с помощью  image.png.2f8174bbc6a75ee378d16149420f7e84.png иimage.png.97fcdc10ab058b99589495f757366e52.png уже не будет менять фильтр. 

    Так же активируется команда image.png.c50b1996b19bad88b2a30c5c1bff850f.png - Указать на чертеже. 

    Попробуем её нажать. 

    Нас возвращает к модели и появляется возможность выбрать объекты. Выберем все элементы на нашем чертеже. Подтвердим выбор.

    Получаем следующее окно:
    image.png.66b9e9bf1ad231591287be332c922d15.png

     

    Что произошло?

    Мы выбрали все элементы на чертеже, но из-за настроек нашего фильтра в выборку попало лишь 5 отрезков - причём наш фильтр учтиво сообщает нам, то отрезков выбрали мы всего 7, но лишь 5 из них соответствуют нашему условию.

     

    Теперь ещё интересней. Нажмём на image.png.2f8174bbc6a75ee378d16149420f7e84.png - Поиск в прямоугольнике. Выбираем так же все элементы на чертеже, только уже с помощью прямоугольника.

    Видим ту же самую картину:

    image.png.35f1328cd0c2927c8707b76085e76485.png

     

    И теперь  при нажатие на image.png.c50b1996b19bad88b2a30c5c1bff850f.png у нас появляется возможность повторно выбрать область на чертеже.

    Делаем вывод, что image.png.c50b1996b19bad88b2a30c5c1bff850f.png отвечает за повторный выбор элементов ранее указанным способом.

    Но в чём же отличие между  image.png.2f8174bbc6a75ee378d16149420f7e84.png иimage.png.97fcdc10ab058b99589495f757366e52.png?

    С помощью  image.png.2f8174bbc6a75ee378d16149420f7e84.png - мы выбираем не объекты, а область чертежа, в котором будем искать объекты.

    С помощью image.png.97fcdc10ab058b99589495f757366e52.png - мы выбираем конкретные объекты, среди которых будем искать удовлетворяющие нашему фильтру объекты (простите за тавтологию :)) .

    Когда удобнее что из этого использовать, узнаем дальше.

    А теперь наконец-то жмём кнопку "ОК".

    Получаем следующую картину:
    image.png.91d3a717619be31141ac63a70f73c2e0.png
    Меню с галочками - это свойства объекта, которые будут доступны в отчёте.

    Вначале ставим галочку "Изменять свойства объектов из отчёт"

    image.png.3cae82ba2abca8d5f2d60c5326cfbb9f.png

    Далее жмём "Ни одного", чтобы снять выбор со всех свойств и выставляем галочку на свойстве "Длина (Length)", так как мы собираемся узнавать длину =)
    Жмём "ОК" и вставляем полученную таблицу на чертёж. И сразу по двойному клику заходим в неё

     

    3. Работа с отчётом.

    Наш отчёт:
     nCad_x5AHHYk8qU.thumb.png.0cf5a1d67648a25ad3a1a5f3a9273a32.png

    Строка "Шаблон отчёта" позволяет вводить формулы, которые будут применяться ко всем элементам отчёта.

    Сейчас там у нас строка "=Object.Length", которую можно прочесть так - мы выводим свойства объекта "Object", которое называется "Length"

    Т.е. для всех наших 5-ти отрезков мы получили по строчке от каждого, содержащего его длину.

     

    Спойлер

    Возвращаясь назад к галочке напротив "Изменять свойства объектов из отчёт".

    Если бы мы ей не поставили, то получили в ячейках выражение следующего вида:

    =Iff(Exist(Object.Length);Object.Length;"")

    Кто знаком с формулами, сразу поймёт суть этого выражения. Это выражение читается как "Если в нашем объекте существует параметр Length, то вывести его, иначе пустая строка".

    Зачем нанокад создаёт такую сложную строку, вместо обычной =Object.Length? Как раз-таки чтобы мы не могли из таблицы изменить параметр "Length".

    Дело вот в чём - некоторые параметры объектов, если в шаблоне они просто выведены не в формуле, можно изменять прямо из таблицы. Я в конце статьи ещё об этом скажу подробнее.

     

    Если хотите узнать какому отрезку принадлежит то или иное значение, то отведите окно таблицы чуть в сторону, чтобы было видно наш чертёж и тыкните в интересующую вас ячейку:

    image.thumb.png.1710d5f5a06aa58acd64c1d313991f0e.png

    Видим, что зелёным подсветился отрезок, которому соответствует выбранная ячейка отчёта

    Если тыкнуть в зелёное поле шаблона отчёта, то подсветятся все элементы, которые участвуют в отчёте.

    Хорошо, у нас есть отчёт, что с ним делать?
    Нам надо узнать сумму всех отрезков. Самый простой способ - взять калькулятор и сложить то, что мы видим на экране.
    А если отрезков много?
    Жмём на надпись "Шаблон отчёта" ЛЕВОЙ кнопкой мыши и выбираем "Итог отчёта"
    image.png.c1224d63741c5814f48924b35f442d27.png

    Появляется соответствующая строка в конце нашего отчёта.

    Правой кнопкой мыши жмём по ней и выбираем "Сумма"

    image.png.ebc5b67d0c8656d6bf36521712699ab7.png

    Вуаля. Наши длины просуммировались.

     

    4. Наглядная разница в выборах image.png.2f8174bbc6a75ee378d16149420f7e84.png иimage.png.97fcdc10ab058b99589495f757366e52.png

    Нажмём на кнопку image.png.02a0b94891ea530872cbf3b05ab6742a.png - выбрать исходные объекты. Откроется нам уже знакомый фильтр объектов.

    Увидим вверху, что у нас сейчас выбран image.png.2f8174bbc6a75ee378d16149420f7e84.png  - Поиск в прямоугольнике

    Повторим наш выбор кнопкой image.png.c50b1996b19bad88b2a30c5c1bff850f.png  и выберем область аккурат по замкнутой полилинии в слое 0 на чертеже:

    image.png.ad289f85c649a4fa9b585b9d87bc2b00.png

     Жмём "ОК", закрываем таблицу

    Теперь давайте скопируем один из отрезкой внутри нашей выбранной области

    3eBFunDJm4.thumb.gif.98b9d95e4fa28e9c3bf76f88dd59d292.gif

     

    Теперь  зайдём в нашу таблицу. В моей версии отчёт придётся обновить нажав на кнопку обновить вверху окошка, либо нажав на жёлтую лампочкуimage.thumb.png.449a4665e3f9154142fa8dafce5bcf24.png

    Увидим, что у в отчёте появился дополнительных объект - это копия нашего отрезка

    Жмём image.png.02a0b94891ea530872cbf3b05ab6742a.png и теперь выбираем все объекты на чертеже с помощью image.png.97fcdc10ab058b99589495f757366e52.png - Поиск в текущем наборе

    tUjGFkrCxL.thumb.gif.3e0c6989b6dbc1a7e21b620a6b4edf4b.gif

     

    Закрываем таблицу, копируем отрезок ещё раз:

    yYEA0oehJH.thumb.gif.f0962279807ca96ceb125e8d8b280818.gif

     

    При обновлении таблицы видим, что новых объектов не появилось

    Возвращаемся к тому, что говорилось ранее:

    С помощью  image.png.2f8174bbc6a75ee378d16149420f7e84.png - мы выбираем не объекты, а область чертежа, в котором будем искать объекты.

    С помощью image.png.97fcdc10ab058b99589495f757366e52.png - мы выбираем конкретные объекты, среди которых будем искать удовлетворяющие нашему фильтру объекты (опять же, извините за тавтологию :)) .

     

    Т.е. в первом случае мы выбрали область и работали с объектами в этой области - поэтому при копирование отрезка внутри указанной нами области он добавился в отчёт.
    Во втором случае мы работали с заранее выбранными объектами, поэтому при добавление нового отрезка на чертёж он никак не учитывался, потому что не входил в изначальный набор
    Плюсы и минусы обоих способов:
    1.image.png.2f8174bbc6a75ee378d16149420f7e84.png Плюс - при добавление объектов в указанную область отчёт обновляется
    Минус - при копирование таблицы с помощью команды COPY, область не перемещается за таблицей, а остаётся на том же месте (хотя в каких-то случаях это и плюс):

    2.image.png.97fcdc10ab058b99589495f757366e52.pngПлюс - при копирование таблицы вместе с объектом отчёта, отчёт будет привязан к скопированному объекту:

    Минус - при добавление новых объектов на чертёж они ни как не учитываются в нашем отчёте.

     

    5. Работа с формулами.

    Уже не плохой результат, верно?
    Можно, казалось бы на этом и остановиться, но.
    Предположим ситуацию, что нам надо сложить длины отрезков разных слоёв по-отдельности. Для каждого типа делать новую таблицу? Как вариант. Но, предположим, что таких типов будет 30?
    Тут приходят на помощь формулы и группировка строк.

    Удалим фильтр наших объектов по слоям.

    Жмём image.png.02a0b94891ea530872cbf3b05ab6742a.png и в строке "Слой" в значение выбираем "Сброс"

    mlBnveaJeJ.thumb.gif.9a70ec14094097fd45824c0d6158aa1a.gif

     

    Теперь в наш отчёт включены все отрезки, не важно в каком они слое.
    Добавим столбец (ПКМ по заглавию столбца А -> "Добавить столбец")

    qUBTgt3QgL.thumb.gif.0f3144c02c81691249761ead1e618169.gif

     

    Теперь в полученном столбце B жмём ПКМ в 1 строке (строка шаблона отчёта) и выбираем из предложенных вариантов Object.Layer(Слой)

    XRyogxjCyu.thumb.gif.49c9e5fa3c28471fc579aaba2466feae.gif

     

    Получаем информацию для каждого нашего отрезка по-мимо его длины ещё и слой в котором он находится.
    Теперь заходим в "группировку и объединение" image.png.5edb2fd0756972d088091865d387c0bd.png   

    Добавляем правило "Группировать" и закидываем сюда из окошка справа столбец B

    YLA786e5Sy.thumb.gif.a1df4d6894500fa087646c34d7209e21.gif

     

    Видим, что наш отчёт преобразился.
    Что произошло?
    Наш отчёт сгруппировался по значениям в столбце B - это значит, что сгруппированные ячейки теперь в себе несут сразу все элементы по тому критерию, по которому мы их сгруппировали.
    Проверим это, тыкнув на любую из ячеек, чтобы подсветить элементы на чертеже:

    Спойлер

    Сейчас для тех, кто ни разу не пользовался группировкой и объединением советую поиграться с этим функционалом и попробовать самостоятельно (и при помощи справки на f1, конечно) разобраться, как им пользоваться

     

    А теперь магия.
    Жмём ПКМ по строке шаблона отчёта в столбце А и выбираем "Выражение"
    XYja18n3fP.thumb.gif.cc0b33a628a944bc7be114edbad7dc05.gif

     

    Нас перебрасывает в специальное окно, предназначенное для написания формул.
    Что мы тут видим
    1. Наше записанное выражение
    2. Подсказки по существующим формулам и выражениям
    3. Результат нашего выражения
    image.png.5ccb17127e20cb6e6f84f4ee27a57562.png

     

    Результат записан несколькими значениями, потому что у наших элементов (отрезков) показатели длины разные. 

    Теперь самое сложное.
    Вспомним, что мы сгруппировали строки по значениям в столбце B.
    Т.е. по факту напротив столбца B в столбце А у нас не одно значение, а множество значений элементов, свойства слоя которых соответствуют значению в столбце B.

     

    Спойлер

    Нанокад же нам показывает только одно значение в столбце А - это нормально, так устроена программа. В дальнейшем, при работе с объектами, чьи значения можно изменять через отчёт (атрибуты блоков, параметры маркеров и параметрических объектов и т.п.), при редактирование этого одного значения, заменяющего множество, мы тем самым редактируем данное значения для каждого объекта, скрытого в этой ячейке


    Простыми словами на нашем примере - напротив значение слоя "Надо сложить" в столбце А у нас не одна длина отрезка, которую мы видим, а несколько.

    image.png.0258cbb38f330845dad68720be292126.png

     

    Поэтому, если мы запишем нашу формулу не просто как:

    =Object.Length

    а как:

    =sum(Object.Length)

    В ячейка напротив слоя мы получим значение сумм всех отрезком в данном слое

     

    Как итог "итог отчёта" нам уже и не нужен.
    Теперь просто наведём красоту и переведём единицы измерения отрезков в метры - разделив на 1000 и округлим до 2-го знака после запятой.
    Для этого нашу формулу преобразуем в:

    =round(sum(Object.Length)/1000;2)

     

    Для того, чтобы подробнее узнать как правильно писать ту или иную формулу и что они делают, открываем "Выражение" и смотрим подсказки:

     

    6. Важное дополнение

    С помощью отчётов и группировок в этих отчётов можно массово изменять свойства объектов
    В моей версии продукта это не работает с отрезками, но не исключаю, что в новой уже можно.

    Это, к сожалению, не работает с примитивами платформы (отрезки, полилинии и т.п.) и нативными свойствами объектов (слой, цвет и т.п.).
    Я в основном использую для изменения свойств параметрических объектов, а так же атрибутов блоков
    К примеру - изменения номеров штампов по положения в прострастве чертежа:

    Так же  знаю, что в новых версиях продукта были добавлены функции, которые позволяют автоматически изменять параметры объектов - одно из применений этих функций - это автоматическое обновления позиций объектов, при добавление новых элементов

     

    Советую так же, после того, как овладеете отчётами, познакомиться с командами 

    SPTBLPREP - если ввести эту команду и выбрать таблицу, позволит повторно выбрать для этой таблицы объекты отчёта (не надо заходить в редактор таблицы)

    SPREFSHOW - при выборе таблицы, простроит линии связей между строками отчёта и элементами

    spDataExtraction  - позволяет делать отчёт по элементам находящимся на другом чертеже.

    А функции 

    SPTBLPLUSFRAME - привязать таблицу к формату 

    SPTBLMINUSFRAME - отвязать таблицу от формата

    будут в принципе полезны при работе с таблицами. Угол привязки таблицы к формату указываются через свойство таблицы "Угол вставки".

     

    На этом всё. Надеюсь смог познакомить вас с отчётами в таблицах. Таблицы нананокад, а особенно эти самые отчёты, -  очень мощный инструмент, и при правильном пользование могут сэкономить вам кучу времени. На данный момент, я работаю с нанокадам в течение уже 6-ти лет, и использую таблицы повсеместно - от подсчёта кладки на чертеже, до автоматического заполнения ТЭПов и спецификаций элементов.

     

     

     

     

     

  4. У вас уже есть готовый проект, выполненный в nanoCAD Механика? Или вы готовы спроектировать 3D-модель или написать отзыв/обзор на программу? Мы ждем ваших конкурсных работ, ведь призы действительно серьезные. В конкурсе нет ограничений: участвовать могут как опытные специалисты, так и студенты.

     

    Что вы можете выиграть?

    Apple Watch, Apple AirPods, Яндекс.Станция мини, фирменные толстовки и футболки nanoCAD.*

     

    Занявшие 1-е место в каждой номинации получат локальную годовую лицензию nanoCAD Plus с модулями nanoCAD Механика и «3D-моделирование и зависимости». Если победитель выступает от лица компании, то такой компании будут предоставлены специальные условия на приобретение лицензии на платформу nanoCAD Plus и указанные модули.

     

    Как принять участие?

    *C полными условиями конкурса можно ознакомиться на сайте nanocad.ru.

     

    Когда подведем итоги? КОНКУРС ПРОДЛЕН
    Конкурсные работы принимаются до 1 февраля 2021.
    Победители во всех номинациях будут объявлены после 1 марта 2021.

     

    pngkit_gears-png_129737.png

     

     

  5. При подготовке задания на проектирование для смежных групп в проектной организации помимо словесной формулировки часто требуется приложить графическое изображение. Прикладывать файл с полным комплектом чертежей во многих случаях нецелесообразно. Разумно будет передать небольшой фрагмент графической информации.


    Для подобных задач в nanoCAD Plus с модулем СПДС есть утилита Экспортировать в файл (SPEXPORTTOFILE). Она позволяет сохранить в файл выбранные объекты чертежа и оформить для них формат и основную надпись (штамп). Читайте дальше

  6. Часто возникает вопрос со стороны пользователей: Почему из ARCHICAD не приходят помещения? И чаще всего архитекторы забывают отображать помещения в 3D модели при сохранении IFC. Ниже укрупненные шаги, как все-таки подготовить корректные IFC из ARCHICAD. Хотя в общем виде схема универсальна для любых других архитектурных BIM-систем. Итак...

     

    Со стороны ARCHICAD процесс достаточно простой:

    1. Замоделировать модель с проработкой помещений (помещения = Зоны, какие параметры задаются для помещений, такие и сохранятся потом в IFC).

    2. Перейти в 3D пространство с отображением зон. Можно отображать поэтажно, можно всю модель - тут как удобнее вам. Если архитектор не знает как в 3D отобразить зоны, то это документация. Либо вот скриншот:

    image.png

     

    3. Сохранить как IFC из 3D окна. В простейшем случае сделать просто Файл\Сохранить как..., выбрать формат IFC и настроить два параметра - Сохранять то, что отображается в 3D + Сохранять через транслятор "Точный экспорт геометрии":

    image.png

     

    В более сложных случаях там можно десятки параметров настроить: полноту передачи информационных данных, формат IFC, папка сохранения. В идеале можно настроить так, что из ARCHICAD будет сохранять в один клик не только один IFC, а куча данных - DWG, Excel таблицы, PDF, IFC по этажам, BIMx модель и т.д. - функция называется Публикатор. Но тут точно надо читать документацию и думать, что хочешь получить - в рамках краткого ответа на форуме тут не описать все возможности.

×
×
  • Создать...