Jump to content

Search the Community

Showing results for tags 'таблицы'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Общие форумы
    • Принципы распространения продуктов Нанософт
    • Общие вопросы
    • Скачать полезное
    • Обсуждение любых САПР
  • Тематические форумы
    • nanoCAD как платформа
    • модуль СПДС
    • модуль Механика
    • модуль Топоплан
    • модуль 3D
    • модуль Растр
    • модуль Организация
    • nanoCAD Механика 3D
    • nanoCAD GeoniCS
    • nanoCAD BIM Конструкции
    • nanoCAD BIM Электро
    • nanoCAD BIM ОПС
    • nanoCAD BIM СКС
    • nanoCAD BIM ВК
    • nanoCAD BIM Вентиляция
    • nanoCAD BIM Отопление
    • nanoCAD СПДС Металлоконструкции
    • nanoCAD СПДС Стройплощадка
    • nanoCAD Конструкции (модуль КЖ)
    • Функциональные расширения nanoCAD
    • Поддержка ОС Linux
    • Портал Технической поддержки
    • nanoTDMS
  • Программы членов Клуба разработчиков
    • KDM-INFO
    • Проектное бюро "Фордевинд"
    • VetCAD++
  • Не о программах
    • Юмор
    • Вопросы и пожелания по работе форума
    • Вопросы и пожелания по работе сайта
    • Новостная лента сайта nanoCAD.ru

Blogs

  • Фишки и трюки nanoCAD
  • Делюсь опытом работы с Cad программами
  • Полезные ссылки и закладки
  • Блог MaxSoft о nanoCAD
  • Утилиты nanoCAD или как упростить работу в программе
  • Конкурсы nanoCAD
  • О разном
  • cad admin notes
  • Заземление и молниезащита в NanoCAD Электро.

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


ICQ


Skype


Город


Интересы

Found 12 results

  1. Хочу написать гайд по отчётам таблиц, который будет понятен и нагляден. Делаю это в первую очередь для коллег с которыми работаю, но, надеюсь, пригодиться и кому-то ещё. 0. Оговорка Работаю в Нанокад СПДС 6.0 1. Задача Поставим очень простую, но часто встречающуюся задачу - сложить длину объектов - в нашем случае надо будет узнать общую длину всех отрезков в указанной области в определённом слое. 2. Начало работы. Для удобства прикладываю файл, с которым буду работать Отчёт по объектам.dwg Первым делом вызовем таблицу (команды TABLE, ТАБЛИЦА ) Теперь надо выбрать поле "Отчёт по выборке объектов" и нажать кнопку "Выбрать". Появляется меню быстрого выбора. Тут немного остановимся. Давайте разберёмся как им правильно пользоваться в текущей ситуации. Разбираемся в значках - Поиск объектов во всём документе (Модель и листы) - Поиск объектов в текущем листе (либо модели) - Поиск в прямоугольнике - Поиск в текущем наборе - Указать на чертеже (сейчас серым) - Загрузка шаблона - Очистить список условий. Первые два значка ( и ) в принципе вопросов не должны вызывать - при выборе параметров из меню ниже, поиск объектов будет производится во всём объектов () либо в текущем листе/модели () Что такое "Поиск в прямоугольнике" ( )? При выборе этой опции, будет производится поиск элементов только в указанной области. Область можно задать только одну при этом. При нажатии на кнопку у нас появится возможность задать прямоугольный участок в котором будут выбраны все объекты. Вроде бы удобно, но для первоначального создания отчёта по выборке объектов не рекомендую. А не рекомендую вот почему - выбираем нашу область с отрезками и полилиниями и получаем следующую картину: Выбрались все наши элементы. А нам нужны только отрезки. Но вроде не велика беда, можно выбрать не нужные нам элементы (в данном случае полилинии) и, нажав на "+" убрать их из выборки выбрав строку "(Нет объекта)" А теперь предположим что мы работаем с реальным чертежом. Задача та же, только в этой же области присутствуют и блоки и размеры и много других элементов которые нам не нужны. Нам придётся выбрать каждый из них и удалить подобным образом. Не очень-то и удобно, согласитесь. Конечно, мы можем просто нажать и тем самым удалить все объекты из выбора, а после руками выбрать нужный, но это несколько лишних кликов и затраченное время на поиск нужных параметров из списка. Поэтому для первоначального выбора объектов советую использовать - поиск в текущем наборе. Эта опция позволяет выбрать конкретные объекты на чертеже. Теперь, чтобы всё сработало корректно, выходим из создания отчёта (жмём esc), повторяем предыдущие шаги, только вместо выбора объекта с помощью , выбираем . Вас перекинет на чертёж с возможностью выбрать объекты. Выбираем отрезок, но не любой, а сразу тот, который находится в слое "Надо сложить" (жёлтый). И вот почему: Сейчас мы будем настраивать наш поиск. Мы сразу выбрали тип элемента который нам нужен, и поэтому сможем легко настроить наш поиск так, чтобы случайно не захватить другие элементы. Первое - мы выбираем только отрезок - уже есть. Второе - наш отрезок должен быть в определённом слое - добавляем условие - щёлкаем в столбце "Значение" напротив "Слой" и выбираем слой "Надо сложить": В столбце "Условие" выбрался автоматически знак "равно" - само за себя говорящие условие) В значение же выбора слоя из предложенных было всего одно - "Надо сложить" - это благодаря тому, что мы выбрали всего 1 объект. Если бы выбрали несколько объектов в разных слоях, то таких бы вариантов было бы несколько. Фильтр настроили. Теперь важный момент - после первоначальной настройки фильтра повторный выбор объектов с помощью и уже не будет менять фильтр. Так же активируется команда - Указать на чертеже. Попробуем её нажать. Нас возвращает к модели и появляется возможность выбрать объекты. Выберем все элементы на нашем чертеже. Подтвердим выбор. Получаем следующее окно: Что произошло? Мы выбрали все элементы на чертеже, но из-за настроек нашего фильтра в выборку попало лишь 5 отрезков - причём наш фильтр учтиво сообщает нам, то отрезков выбрали мы всего 7, но лишь 5 из них соответствуют нашему условию. Теперь ещё интересней. Нажмём на - Поиск в прямоугольнике. Выбираем так же все элементы на чертеже, только уже с помощью прямоугольника. Видим ту же самую картину: И теперь при нажатие на у нас появляется возможность повторно выбрать область на чертеже. Делаем вывод, что отвечает за повторный выбор элементов ранее указанным способом. Но в чём же отличие между и? С помощью - мы выбираем не объекты, а область чертежа, в котором будем искать объекты. С помощью - мы выбираем конкретные объекты, среди которых будем искать удовлетворяющие нашему фильтру объекты (простите за тавтологию :)) . Когда удобнее что из этого использовать, узнаем дальше. А теперь наконец-то жмём кнопку "ОК". Получаем следующую картину: Меню с галочками - это свойства объекта, которые будут доступны в отчёте. Вначале ставим галочку "Изменять свойства объектов из отчёт" Далее жмём "Ни одного", чтобы снять выбор со всех свойств и выставляем галочку на свойстве "Длина (Length)", так как мы собираемся узнавать длину =) Жмём "ОК" и вставляем полученную таблицу на чертёж. И сразу по двойному клику заходим в неё 3. Работа с отчётом. Наш отчёт: Строка "Шаблон отчёта" позволяет вводить формулы, которые будут применяться ко всем элементам отчёта. Сейчас там у нас строка "=Object.Length", которую можно прочесть так - мы выводим свойства объекта "Object", которое называется "Length" Т.е. для всех наших 5-ти отрезков мы получили по строчке от каждого, содержащего его длину. Если хотите узнать какому отрезку принадлежит то или иное значение, то отведите окно таблицы чуть в сторону, чтобы было видно наш чертёж и тыкните в интересующую вас ячейку: Видим, что зелёным подсветился отрезок, которому соответствует выбранная ячейка отчёта Если тыкнуть в зелёное поле шаблона отчёта, то подсветятся все элементы, которые участвуют в отчёте. Хорошо, у нас есть отчёт, что с ним делать? Нам надо узнать сумму всех отрезков. Самый простой способ - взять калькулятор и сложить то, что мы видим на экране. А если отрезков много? Жмём на надпись "Шаблон отчёта" ЛЕВОЙ кнопкой мыши и выбираем "Итог отчёта" Появляется соответствующая строка в конце нашего отчёта. Правой кнопкой мыши жмём по ней и выбираем "Сумма" Вуаля. Наши длины просуммировались. 4. Наглядная разница в выборах и Нажмём на кнопку - выбрать исходные объекты. Откроется нам уже знакомый фильтр объектов. Увидим вверху, что у нас сейчас выбран - Поиск в прямоугольнике Повторим наш выбор кнопкой и выберем область аккурат по замкнутой полилинии в слое 0 на чертеже: Жмём "ОК", закрываем таблицу Теперь давайте скопируем один из отрезкой внутри нашей выбранной области Теперь зайдём в нашу таблицу. В моей версии отчёт придётся обновить нажав на кнопку обновить вверху окошка, либо нажав на жёлтую лампочку Увидим, что у в отчёте появился дополнительных объект - это копия нашего отрезка Жмём и теперь выбираем все объекты на чертеже с помощью - Поиск в текущем наборе Закрываем таблицу, копируем отрезок ещё раз: При обновлении таблицы видим, что новых объектов не появилось Возвращаемся к тому, что говорилось ранее: С помощью - мы выбираем не объекты, а область чертежа, в котором будем искать объекты. С помощью - мы выбираем конкретные объекты, среди которых будем искать удовлетворяющие нашему фильтру объекты (опять же, извините за тавтологию :)) . Т.е. в первом случае мы выбрали область и работали с объектами в этой области - поэтому при копирование отрезка внутри указанной нами области он добавился в отчёт. Во втором случае мы работали с заранее выбранными объектами, поэтому при добавление нового отрезка на чертёж он никак не учитывался, потому что не входил в изначальный набор Плюсы и минусы обоих способов: 1. Плюс - при добавление объектов в указанную область отчёт обновляется Минус - при копирование таблицы с помощью команды COPY, область не перемещается за таблицей, а остаётся на том же месте (хотя в каких-то случаях это и плюс): BPqBHVrlji.mp4 2.Плюс - при копирование таблицы вместе с объектом отчёта, отчёт будет привязан к скопированному объекту: s1tCO2FDsd.mp4 Минус - при добавление новых объектов на чертёж они ни как не учитываются в нашем отчёте. 5. Работа с формулами. Уже не плохой результат, верно? Можно, казалось бы на этом и остановиться, но. Предположим ситуацию, что нам надо сложить длины отрезков разных слоёв по-отдельности. Для каждого типа делать новую таблицу? Как вариант. Но, предположим, что таких типов будет 30? Тут приходят на помощь формулы и группировка строк. Удалим фильтр наших объектов по слоям. Жмём и в строке "Слой" в значение выбираем "Сброс" Теперь в наш отчёт включены все отрезки, не важно в каком они слое. Добавим столбец (ПКМ по заглавию столбца А -> "Добавить столбец") Теперь в полученном столбце B жмём ПКМ в 1 строке (строка шаблона отчёта) и выбираем из предложенных вариантов Object.Layer(Слой) Получаем информацию для каждого нашего отрезка по-мимо его длины ещё и слой в котором он находится. Теперь заходим в "группировку и объединение" Добавляем правило "Группировать" и закидываем сюда из окошка справа столбец B Видим, что наш отчёт преобразился. Что произошло? Наш отчёт сгруппировался по значениям в столбце B - это значит, что сгруппированные ячейки теперь в себе несут сразу все элементы по тому критерию, по которому мы их сгруппировали. Проверим это, тыкнув на любую из ячеек, чтобы подсветить элементы на чертеже: AdP6b4I4gT.mp4 А теперь магия. Жмём ПКМ по строке шаблона отчёта в столбце А и выбираем "Выражение" Нас перебрасывает в специальное окно, предназначенное для написания формул. Что мы тут видим 1. Наше записанное выражение 2. Подсказки по существующим формулам и выражениям 3. Результат нашего выражения Результат записан несколькими значениями, потому что у наших элементов (отрезков) показатели длины разные. Теперь самое сложное. Вспомним, что мы сгруппировали строки по значениям в столбце B. Т.е. по факту напротив столбца B в столбце А у нас не одно значение, а множество значений элементов, свойства слоя которых соответствуют значению в столбце B. Простыми словами на нашем примере - напротив значение слоя "Надо сложить" в столбце А у нас не одна длина отрезка, которую мы видим, а несколько. Поэтому, если мы запишем нашу формулу не просто как: =Object.Length а как: =sum(Object.Length) В ячейка напротив слоя мы получим значение сумм всех отрезком в данном слое P9YdPrt6Xn.mp4 Как итог "итог отчёта" нам уже и не нужен. Теперь просто наведём красоту и переведём единицы измерения отрезков в метры - разделив на 1000 и округлим до 2-го знака после запятой. Для этого нашу формулу преобразуем в: =round(sum(Object.Length)/1000;2) httVcaAbMw.mp4 Для того, чтобы подробнее узнать как правильно писать ту или иную формулу и что они делают, открываем "Выражение" и смотрим подсказки: urvv7fKfWr.mp4 6. Важное дополнение С помощью отчётов и группировок в этих отчётов можно массово изменять свойства объектов В моей версии продукта это не работает с отрезками, но не исключаю, что в новой уже можно. Это, к сожалению, не работает с примитивами платформы (отрезки, полилинии и т.п.) и нативными свойствами объектов (слой, цвет и т.п.). Я в основном использую для изменения свойств параметрических объектов, а так же атрибутов блоков К примеру - изменения номеров штампов по положения в прострастве чертежа: rSrSnaFeAn.mp4 Так же знаю, что в новых версиях продукта были добавлены функции, которые позволяют автоматически изменять параметры объектов - одно из применений этих функций - это автоматическое обновления позиций объектов, при добавление новых элементов Советую так же, после того, как овладеете отчётами, познакомиться с командами SPTBLPREP - если ввести эту команду и выбрать таблицу, позволит повторно выбрать для этой таблицы объекты отчёта (не надо заходить в редактор таблицы) SPREFSHOW - при выборе таблицы, простроит линии связей между строками отчёта и элементами spDataExtraction - позволяет делать отчёт по элементам находящимся на другом чертеже. А функции SPTBLPLUSFRAME - привязать таблицу к формату SPTBLMINUSFRAME - отвязать таблицу от формата будут в принципе полезны при работе с таблицами. Угол привязки таблицы к формату указываются через свойство таблицы "Угол вставки". На этом всё. Надеюсь смог познакомить вас с отчётами в таблицах. Таблицы нананокад, а особенно эти самые отчёты, - очень мощный инструмент, и при правильном пользование могут сэкономить вам кучу времени. На данный момент, я работаю с нанокадам в течение уже 6-ти лет, и использую таблицы повсеместно - от подсчёта кладки на чертеже, до автоматического заполнения ТЭПов и спецификаций элементов.
  2. Бодрого дня. По разному вставляться таблица из одного файла .xls на разных ПК На трех ПК одинаковая ширина таблицы, а на одном таблица получается немного шире. На черном фоне нормально вставлена, на белом таблица вставляется шире (пометил оранжевым). Подскажите где поковырять.
  3. http://habrahabr.ru/company/nanosoft/blog/197794/ Как известно, практически ни один чертеж не обходится без табличного оформления: таблицы применяются для создания объектов, содержащих количественную информацию о конструкции, ведомостей элементов, спецификаций и др. Типичной задачей, с которой сталкиваются проектировщики, является формирование табличного отчета по выбранным объектам чертежа. Автоматизация этой задачи позволит избавить пользователя от рутинной работы, тем самым сократив затраченное время и количество ошибок. В качестве примера в статье рассматривается формирование итоговой ведомости электроприборов по плану расположения оборудования (или, проще говоря, по чертежу, иллюстрирующему распределение электрических розеток по помещениям).
  4. Сделал автозаполнялку , по результатам боевых стрельб внезапно выяснилось, что нана не умеет работать с полями нативных объектов. Зато умеет вставлять поля из свойств документа (хотя возможно в следующей версии пофиксят и все будет наоборот))) Возник вопрос, как запихнуть данные в свойства документа.... Руками прям не вдохновляет Второй вопрос откуда эти данные брать, решился просто, коль у нас на чертеже есть таблица, (автозаполнялка) в которую мы занесли все сведения... отчего бы данные не подтянуть из нее. Принцип в кратце: Хватаем конкретную таблицу на чертеже Пробегаем по значениям именованных ячеек Имя ячейки пишем как ключ в пользовательские свойства документа Значением-свойством ключа будет содержимое ячейки ------------------------ Некритичные проверки исключений я не делал, кому надо вполне может дописать, как надо Если изменить "комментарии" ячеек, то соответственно в свойства документа запишутся другие ключи Все ключи пишутся в пользовательские свойства документа, но при желании можно писать и в Под спойлером код, старался комментировал)) Сразу скажу из скрипта VBS внутри наны этот код работать не будет, хотя конечно заманчиво... (значения ключей и свойства должны быть String и никак иначе, а в скриптах типы данных я не умею ) Поэтому этот код запускается из Excel большой красной кнопкой. В принципе, как дальнейшее развитие, этот код можно причесать, откомпилировать и запускать, хоть из командной строки нано, из меню или кнопкой на панели. В аттаче шаблон чертежа и большая красная кнопка. PS кода без багов не бывает, поэтому по мере... буду улучшать Автозаполнялка через поля документа V2.dwg docProp.xlsm
  5. По мотивам видео уважаемого @MCAD Собрал заполнялку форматок СПДС на основе таблиц... Коротенько что умеет и зачем... 1. Заполняет реквизитную часть основных надписей Но в связи с тем, что в таблицах бага (несколько (много ) отчетов начинают глючить, а мне надо много) Эта таблица заполняет данными другие таблицы.. Собирает данные с форматов в чертеже (мне надо для статистики по разделам, листов и приведение к А1) UPD 19.05.2021 15:50 Заполняет данными блок с атрибутами (иначе как мне взять полем в текст или мтекст??) И берет с этого блока поля имени файла и путь файла ( заодно объехали еще одну багу с отцепляющимися полями в таблице при изменении в таблице количества строк и еще одну багу лишний пробел в начале строки) из за баги в нано (атрибуты из блоков в тексты не держатся, слетают и глючит) поэтому написал простенький VBA который значения именованных ячеек таблицы записывает в пользовательские свойства документа, а вот оттуда уже можно подтянуть полем в любой объект. Бонусом при вставке текста с полем в любой документ, если у документа есть такие пользовательские свойства все подтянется автоматически. Продолжение истории))/UPD ------------------- Маленькие таблицы: непосредственно заполняют основные надписи форматок нумеруют форматки (слева направо снизу вверх, можно перенастроить) В первом формате ставят количество форматов. В маленьких таблицах нужно только задать область в которой расположен раздел и имя раздела (то что в обозначении после точки... СО, КЖ, Д, Р) Кому интересно качайте шаблончик, включайте скрытые строки и разделы (их там есть), разбирайтесь как это работает и конечно адаптируйте под свои нужды (кто проектирует проект файл) Связи можно посмотреть-проверить по SPREFSHOW ------------------------ Критика только приветствуется)) ЗЫ возможно чего вспомню еще допишу, но проще раз увидеть ------------ upd перезалил шаблон, чегойто два файла прицепилось))) Автозаполнялка.dwg
  6. Добрый день! Можно ли сохранить в базу таблицу со вставленными в нее блоками? Создал таблицу, сохранил ее в базу, но при вставке из базы, или при копировании блоки из таблицы пропадают.
  7. http://habrahabr.ru/company/nanosoft/blog/198788/ В предыдущих статьях о таблицах в MultiCAD.NET речь шла о программном создании и форматировании таблиц в чертеже, использовании различных типов данных в качестве содержимого, а также о применении шаблонов таблиц. Эта статья продолжает рассказывать об использовании шаблонов и более подробно рассматривает API, позволяющий сохранить таблицу во внешний файл в качестве шаблона и загрузить его в чертеж для формирования типовых таблиц. Во второй половине статьи рассматривается процесс обмена данными с Microsoft Excel.
  8. Здравствуйте! Подскажите, пожалуйста. Хочу в ячейке таблицы вставить формулу и сослаться на значение из другой таблицы внутри одного файла. Как это сделать?
  9. Есть таблица экспликация помещений. Значения подставляются из чертежа естественно. Я копирую таблицу через буфер обмена в другой файл, и получаю в место таблицы "Видимых строк нет". Я так понимаю это потому что объектов, на которые ссылается таблица, в этом новом файле нет. Как мне преобразовать эту таблицу чтобы разорвались связи с объектами чертежа, но при этом таблица осталась таблицей и сохранились значения ячеек? Взрывать не хочу, потому что это не правильно.
  10. http://habrahabr.ru/company/nanosoft/blog/198774/ Предыдущая статья знакомила вас с примером использования табличного функционала MultiCAD.NET API для автоматического создания отчета по выбранным объектам. Эта публикация рассказывает об основах работы с таблицами: создание и форматирование простейшей таблицы, наполнение таблицы данными в текстовом и числовом формате, использование формул. Также описывается добавление блоков и подтаблиц в качестве содержимого ячеек и использование свойств объектов чертежа в качестве динамически изменяемых данных таблицы.
  11. Поддерживает ли nanocad вставку таблицы из libreoffice? Если нет, то когда такая поддержка появится?
×
×
  • Create New...