Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/05/2011 in Blog Entries

  1. Понадобилось реанимировать свое старое приложение для работы с полилиниями в nanoCAD. Публикую может кому пригодиться. Написано на C#/MultiCAD. Исходники на GitHub, поставляется "как есть". Работоспособность проверена под NC2021. Готовая к использованию .dll ка PLL_APP_v05.dll Для nanoCAD 22 - PLL_APP_nc22_v05.dll Вызов меню командой - "Pll_Work" Описание возможностей: По выбранной полилинии: создает таблицу с координатами вершин чертежа. Таблица в двух формах обычная и по "кадастровой форме". Плюс экспорт в CSV. Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y. Нумерация вершин. Поддерживается изменение высоты текста и нумерация вершин не с первой позиции. Есть ньюанс: на замкнутых "совмещеннных" вершинах, умерация прозводится дважды(пояснение). Перенумерация вершин(только для замкнутых полилиний). По факту создание новой полилинии, с измененным порядком вершин. Расстановка геометрии по вершинам полилинии. Поддерживаются: примитивы, тексты, блоки. Упрощение полилинии(без дуговых сегментов), с заданием максимальной длинны сегмента. По факту создается новая полилиния. Реверс(без дуговых сегментов). Удаление одинаковых вершин. Расстановка выносок по вершинам полилинии. Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y. Если кто будет пользоватья - пожелания/комментарии здесь или в личку.
    7 points
  2. В рамках самообучения VB.NET решил портировать VBA из Автозаполнялка. Часть 2 Естественно, я сильно не заморачивался, просто добавил нужные функции для себя, ну и прикрутил интерфейс для других)) Для чего это нужно можете прочитать выше по ссылке... Возможности утилиты: Работает с нанокад и автокад+СПДС Удаление всех пользовательских свойств документа DWG Добавляет пользовательские свойства в активный документ из таблиц nanoCad (именованные ячейки) прямым выбором таблиц на чертеже сохраненное имя таблицы из настроек режим ком строки (без интерфейса) ключи: без ключа-поведение определяется настройкой утилиты, возможны опции: Открыть настройки (интерфейс) Записать в свойства документа данные из имени таблицы сохраненной в настройках Выбрать таблицу для записи в свойства документа на чертеже 1-Записать в свойства документа данные из имени таблицы сохраненной в настройках 2-Выбрать таблицу для записи в свойства документа на чертеже любой другой ключ-Интерфейс, откроется окно настроек Обновление утилиты онлайн (в смысле при наличии интернета, сама проверит обновление и попросит обновиться) ===================== В принципе функционал можно наращивать до бесконечности (если кто-то проявит интерес)...собирал для себя, то что необходимо мне))) upd Накрутил там еще шашечек))) по мелочи и продолжаю пилить Как всегда конструктивная и не очень критика, а также замечания и пожелания только приветствуются Заполнялка Таблица в таблицы.dwg docProp
    7 points
  3. Добрый день! В видео продемонстрированы примеры работы с данными внутри чертежей. В первом видео: поля, комплект документации(подшивки), альбомы СПДС. Во втором видео использование таблиц nanoCAD для управления данными внутри чертежа. Ссылки на файлы из второго видео: Нумерация поля -Номер страницы-.dwg,Нумерация листов.dwg Эти файлы подготовил и предоставил пользователь форума MCAD. Если хотите поделиться собственными примерами, прикрепляйте их в комментариях к посту. Спасибо Ниже идут ссылки на видео, где вы подробнее можете узнать про: Функционал полей в nanoCAD Раздел отчетов в таблицах nanoCAD Альбомы СПДС Добавление пользовательских свойств в комплекте документации Редактор форм на примере маркера СПДС
    7 points
  4. Хочу написать гайд по отчётам таблиц, который будет понятен и нагляден. Делаю это в первую очередь для коллег с которыми работаю, но, надеюсь, пригодиться и кому-то ещё. 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-ти лет, и использую таблицы повсеместно - от подсчёта кладки на чертеже, до автоматического заполнения ТЭПов и спецификаций элементов.
    6 points
  5. Калибровка 3.mp4 По ссылке совет по включению объектных привязок контексте указания координат точек. По ссылке видео с демонстрацией выравнивания и масштаблирования растра методом поверхностных сплайнов.
    6 points
  6. <Каталог> <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 pltools_NC.lsp StripMtext_v5-0c1_NC.lsp
    6 points
  7. По мотивам видео уважаемого @MCAD Собрал заполнялку форматок СПДС на основе таблиц... Коротенько что умеет и зачем... 1. Заполняет реквизитную часть основных надписей Но в связи с тем, что в таблицах бага (несколько (много ) отчетов начинают глючить, а мне надо много) Эта таблица заполняет данными другие таблицы.. Собирает данные с форматов в чертеже (мне надо для статистики по разделам, листов и приведение к А1) UPD 19.05.2021 15:50 Заполняет данными блок с атрибутами (иначе как мне взять полем в текст или мтекст??) И берет с этого блока поля имени файла и путь файла ( заодно объехали еще одну багу с отцепляющимися полями в таблице при изменении в таблице количества строк и еще одну багу лишний пробел в начале строки) из за баги в нано (атрибуты из блоков в тексты не держатся, слетают и глючит) поэтому написал простенький VBA который значения именованных ячеек таблицы записывает в пользовательские свойства документа, а вот оттуда уже можно подтянуть полем в любой объект. Бонусом при вставке текста с полем в любой документ, если у документа есть такие пользовательские свойства все подтянется автоматически. Продолжение истории))/UPD ------------------- Маленькие таблицы: непосредственно заполняют основные надписи форматок нумеруют форматки (слева направо снизу вверх, можно перенастроить) В первом формате ставят количество форматов. В маленьких таблицах нужно только задать область в которой расположен раздел и имя раздела (то что в обозначении после точки... СО, КЖ, Д, Р) Кому интересно качайте шаблончик, включайте скрытые строки и разделы (их там есть), разбирайтесь как это работает и конечно адаптируйте под свои нужды (кто проектирует проект файл) Связи можно посмотреть-проверить по SPREFSHOW ------------------------ Критика только приветствуется)) ЗЫ возможно чего вспомню еще допишу, но проще раз увидеть ------------ upd перезалил шаблон, чегойто два файла прицепилось))) Автозаполнялка.dwg Форматы.mcdi Штампы.mcdi
    5 points
  8. Инструментальные_палитры.mp4 Примечание: добавленные в пользовательскую палитру инструментов блоки, линии и тд. будут копироваться из файла, в котором были созданы. Поэтому для составления своих палитр инструментов лучше использовать отдельные файлы, а не рабочие чертежи.
    5 points
  9. Благодаря @Lidia.Antipina BGTOOLS почти полностью заработал в nanoCAD Команд реально много, все не упомнишь, поэтому собрал на скорую руку менюшку (затолкал в нее все команды, некоторые работают не во всех нановерсиях) подробное описание команд можно посмотреть в конце файла bgtools 3.11a_Nc_22.lsp ( @Lidia.Antipina достаточно подробно все расписала) Собрал панельку из четырех команд (муторно им иконки подбирать))) Ну и заодно пристегнул свою утилиту по нормализации блоков (старые куски кода собрал в кучу, когда BGTOOLS еще в нано не работала) кое в чем повторяет функционал BGTOOLS из уникального: умеет топить маскировки в блоках умеет синхронизировать атрибуты блоков не меняя их положение ------------------ Как этим добром пользоваться: Распаковать архив в доступное место Добавить в автозагрузку файл BlockStandard.package Перезагрузить нанокад, появится меню и две новых панельки ========================== Естественно я все программы на всех возможных конфигурациях не тестировал, поэтому используем как есть, сохраняемся делаем копии, в общем обычная наноработа. Отзывы, пожелания, критику в комментарии BlockStandardNC_for_nanoCAD.zip
    4 points
  10. Сделал автозаполнялку , по результатам боевых стрельб внезапно выяснилось, что нана не умеет работать с полями нативных объектов. Зато умеет вставлять поля из свойств документа (хотя возможно в следующей версии пофиксят и все будет наоборот))) Возник вопрос, как запихнуть данные в свойства документа.... Руками прям не вдохновляет Второй вопрос откуда эти данные брать, решился просто, коль у нас на чертеже есть таблица, (автозаполнялка) в которую мы занесли все сведения... отчего бы данные не подтянуть из нее. Принцип в кратце: Хватаем конкретную таблицу на чертеже Пробегаем по значениям именованных ячеек Имя ячейки пишем как ключ в пользовательские свойства документа Значением-свойством ключа будет содержимое ячейки ------------------------ Некритичные проверки исключений я не делал, кому надо вполне может дописать, как надо Если изменить "комментарии" ячеек, то соответственно в свойства документа запишутся другие ключи Все ключи пишутся в пользовательские свойства документа, но при желании можно писать и в Под спойлером код, старался комментировал)) Сразу скажу из скрипта VBS внутри наны этот код работать не будет, хотя конечно заманчиво... (значения ключей и свойства должны быть String и никак иначе, а в скриптах типы данных я не умею ) Поэтому этот код запускается из Excel большой красной кнопкой. В принципе, как дальнейшее развитие, этот код можно причесать, откомпилировать и запускать, хоть из командной строки нано, из меню или кнопкой на панели. В аттаче шаблон чертежа и большая красная кнопка. PS кода без багов не бывает, поэтому по мере... буду улучшать Автозаполнялка через поля документа V2.dwg docProp.xlsm
    4 points
  11. Инструмент для создания условно "кадастрового отчета". По мотивам ветки форума- "создание таблицы nanoCAD" Команда вызова - LandPlotReport Код на GitHub #### Рабочие файлы: LandPlotReports_v1.0.0.zip ### Назначение: Создание табличного отчета для границы кадастровых участков(полилиния). #### Логика работы: 1. Пользователь указазывает границу/полилинию для обработки. 2. Для каждой вершины скрипт находит текст/описание точки (по совпадению координат). 3. Находятся все кадастровые участки(блоки) по определенному свойству. (жестко прописано в коде). 4. Для каждой точки границы, производится поиск совпадающих точек кадастровых участков. (по полилиниям внутри блока, по точному совпадению координат). 5. Строится отчет/таблица для пользователя. #### Важно: 1. Берется только первый текст/описание для каждой вершины. 2. Блоки кадастровых участков должны содержать свойство/описание поиска. Поставляется "как есть". #### Пример:
    4 points
  12. ### Назначение: Создание СПДС объектов в пространстве модели по таблице Excel. #### Логика работы: 1. Скрипт читает указанный файл Excel. 2. В файле должны быть указаны: * ID объектов (из базы СПДС) * координаты вставки * параметры объекта которые необходимо применить к объекту. 3. Одна строка файла равно один объект СПДС. 4. Объект по ID ищется в БД СПДС, к нему применяются параметры. 5. Объект вставляется по координатам. #### Рабочие файлы: SpdsObjByExcelParams_v1.0.0.zip Params.xlsm Исходники на GitHub #### Важно: 1. Структура таблицы должна быть как в приложенном файле. Кол-во параметров можно расширять вправо. 2. ID и параметры можно найти в "Мастер объектов" СПДС. 3. Чтение Excel реализовано через Open XML библиотеки. DocumentFormat.OpenXml.dll - должна находится в папке со основной dll. P.S. часть парметров объекта "вид" и "имплементация" жестко прописана в коде. Поставляется "как есть". #### Пример:
    4 points
  13. Инструмент для объединения nanocad(СПДС) таблиц. Написано на C#/MultiCAD. Работоспособность проверена под NC2022. Готова к использованию dll - NcadSpdsTable_APP.dll Команда для запуска - WorkWithSpdsTable GitHub - https://github.com/Ivanco21/NcadSpdsTable_APP Описание возможностей: объединение таблиц вертикально объединение таблиц горизонтально умеет образать шапку при объединении в случае если разное кол-во столбцов/строк - добавляет пустые, для корректного объединения. P.S. - На сложных таблицах не тестировал. - Порядок объединения, если кому то нужен(в порядке выбора, или по координатам) - нужно реализовывать - пишите. Вертикально: Горизонтально:
    4 points
  14. Форумчане, всем привет! Мы составили документ, в котором предоставлены ссылки на различные посты форума с решениями/советами. На наш взгляд, пользователям, которые только начинают ознакомляться с nanoCAD, и соответственно не сильно погружены в форумную деятельность, такой документ может помочь быстрее найти необходимые решения. Ссылка на документ. Будем рады конструктивной критике и предложениям по расширению перечня ссылок. Документ периодически дополняется.
    4 points
  15. Разбор COM по запросу данных с проекта.docx Готовый пример с автозаполнением.dwg Т.к. данная запись блога относится к анонсированным темам на прошедших вебинарах (1-ый и 2-ой вебинар), ниже материал по теме дополнительного форматирования результата обсчета функций в профиле спецификации.
    4 points
  16. В видео ниже поэтапно рассмотрен процесс создания 2х мерного параметрического объекта обозначения проема, который функционально аналогичен динамическим блокам AutoCAD и параметрическим объектам nanoCAD СПДС/Механика. DWG файл с объектом проема nanoCAD BIM Конструкции Проем.dwg Видео, в которых рассмотрена работа со спецификациями nanoCAD BIM Конструкции Базовые приемы работы Формирование пользовательской спецификации Функционал по работе со спецификацией весьма гибок и позволяет решать неочевидные задачи: Поиск дублей объектов Простановка нумерации объектов Ссылка(с таймкодом на 13:06) на видео, в котором рассмотрена работа с выносками. Отдельно замечу, что для 2х мерных параметрических объектов нужно использовать инструмент Выноска к УГО Полный плейлист обучающего курса nanoCAD BIM Конструкции Ссылка на руководство по созданию параметрического объекта проема в модуле nanoCAD СПДС Ссылка на видео с примером создания объекта проема в nanoCAD СПДС Ссылка на видео с примером создания объекта проема в nanoCAD Механика Продолжение...
    4 points
  17. Примечание: для работы панели CADLib Проект необходимо наличие 3D Модуля
    4 points
  18. Disclaimer сразу оговорюсь, способа узнать ID объекта в платформе пока не существует (по крайней мере мне неизвестно). Хотя разработчики могли бы добавить такую возможность, например в утилиту конфигурации. Но подставить костылики можно. Простой способ открыть в мастере объектов и посмотреть ID не рассматриваем (СПДС, Механик и прочие вертикалки работодатель не купил, а пробник выдохся)))) _________________________________________________________ Для чего нужен этот ID? Для того, что бы иметь возможность в вставлять таблицы с кнопок, палитры инструментов или посредством lisp из командной строки. Вот такое выражение для кнопок, менюшек и инструментов: ^C^C_stdselected <ID> для lisp (кстати лисп выражения прекрасно работают в менюшках и инструментах) (defun C:ИмяКоманды () (command "spStdSelected" "<ID>") (princ) ) Что такое этот ID? Уникальный идентификатор объекта в базе данных (БД), именно по нему программа узнает какой объект вставить на чертеж. Что мы знаем о таблицах и их ID? У каждой таблицы в БД есть свой ID: Если перемещать таблицу внутри базы по "каталогам", ID не изменяется; Если переименовать таблицу , ID не изменяется; Если утилитой конфигурации экспортировать таблицу, у экспортированной ID будет такой же; Если импортировать таблицу в базу, у импортированной будет тот же ID, но если в базе таблица с таким ID уже есть она будет перезаписана импортируемой (независимо от имени); Если в в каталоге базы есть таблица с другим ID, но таким же именем, то при импорте таблица перезаписана не будет ( в этом каталоге будут две одноименные таблицы); После вставки на чертеж ID у таблицы на чертеже нет; Если после редактирования на чертеже сохранить в "каталог" базы одноименную таблицу, ID таблицы которая была в базе не изменится. Что дает нам это знание? Можно сделать экспорт из БД интересующих объектов и попросить имеющих СПДС импортировать их к себе, посмотреть ID, вариант рабочий, но далеко не каждый имеет БД для тестов и поэтому вряд ли будет импортировать себе неизвестно, что с риском перезаписать свои объекты; Можно модифицировать и перезаписать стандартные таблицы из БД (их ID можно посмотреть в инструментах) как по мне так себе идея модифицировать стандартные объекты, при обновлении базы могут перезаписаться опять стандартными; Можно импортировать в свою БД таблицы с заранее известными ID и в дальнейшем работать с ними Суть идеи... Загружаем в свою базу таблицы отсюда в архиве *.mcd таблицы пустышки, имя таблицы, ее ID; Импортируем таблицы в свою БД в любое место; Запоминаем имена-ID таблиц либо сразу привязываем их на кнопки и в инструменты; В утилите конфигурации переименовываем таблицы, как требуется, там же в утилите можно переместить таблицы в нужные каталоги. Свои настроенные таблицы из БД вставляем на чертеж (либо настраиваем непосредственно на чертеже) Сохраняем таблицы с чертежа в БД !!!Важно в тот же каталог и под тем же именем, где лежит таблица пустышка (с заранее известным ID) Настроенная таблица перезапишет ту, что в базе, но ID не измениться; Профит, пользуемся и разработчикам, что бы они добавили возможность посмотреть ID в "голую" платформу --------------- PS Если вдруг кто не в курсе Никак не связаны и не обязательно должны совпадать,
    4 points
  19. Ждать пока nanoDev выгребет все баги мне некогда, работать надо сейчас, поэтому... Под свои потребности сделал сборочку, на основе кода Андрея Бушмана (с небольшими изменениями). взять сборочку можно тут: https://disk.yandex.ru/d/87lVPPumz3FPzA В архиве две сборки под Autocad 2018-2021 и nanoCad 21. Также в архиве простенький тестовый dwg пример. Для вызова доступны две команды: от Андрея Бушмана drz-MySynch что делает: синхронизирует атрибуты блоков с их описанием, но при этом не смещает, не вращает атрибут в положение по умолчанию. т.е. после синхронизации все существующие в описании атрибуты по идее остаются на своих местах; не изменяет состояние видимости вхождения блока; удаленные в описании блока атрибуты из вхождения удаляются, добавленные в описание блока добавляются во вхождения (если есть значение по умолчанию, то с этими значениями) 2. от Gilles Chanteau drz-MySynchHard что делает: то что должен был делать Attsync в nanoCad 21, только по нормальному (без удаления значений атрибутов и видит атрибуты в измененных дин блоках) !!!! Важно: drz-MySynch работает только в nanoCad 21, в nanoCad 20.х некоторые .NET методы не реализованы (либо я не разобрался, как(((); drz-MySynchHard в nanoCad 20 обрабатывает только статические блоки, в nanoCad 21 обрабатывает все; Тестировалось на nanoCad х64 (теоретически должно и на х86 работать, если надо пересоберу без проблем); На автокад не тестировалось, но по опыту предыдущих стрельб должно работать на АК2018-2021 Короче кому интересно скачивайте пробуйте.
    4 points
  20. Добавление удаление вставка строк в таблица СПДС.mp4
    4 points
  21. Две небольшие утилиты с простейшим алгоритмом выполнения позволят вам восстановить из примитивов чертежа полноценные объекты nanoCAD СПДС и комфортно продолжить работу. Разбитые на примитивы dwg таблицы – нередкое явление в чертежах. Работать с ними можно, но весьма неудобно. Добавить строки и столбцы в такие таблицы просто, а вот вставить новые – трудоемко. nanoCAD Plus с модулем СПДС позволяет «склеить» отрезки и текст (примитивы чертежа) в таблицы nanoCAD. Для этого разработана утилита Распознавание таблиц. Команду Распознавание таблиц (SPRECTABLE, RECTABLE) вы найдете в ленточном интерфейсе на вкладке СПДС, в подвале группы Форматы, таблицы Читать дальше т
    4 points
  22. Мы с вами уже настроили горячие клавиши, научились пользоваться пробелом и быстро выбирать то, что нам нужно. Но есть рутинные задачи, в которых нас не спасают ни быстрый выбор, ни быстрый ввод команды. Потому что приходится раз за разом выполнять одно и то же действие над разными объектами. Допустим, получили вы чертёж Фасада. Хорошо оформленный чертёж, 1 к 100, все отметки стоят, всё отлично. Только вот незадача, он на А1 не помещается. Надо бы изменить масштаб чертежа. А это надо все отметки в 2 раза увеличить, ведь они сделаны из линий и текста, увы. И поехали - выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2). И повторили. И так раз 100. Удручающая задача, которую надо сделать и особо никак не вывернешься. Тут приходят на помощь макросы. Самое понятное определения макроса - это последовательность команд, которые вы привязываете к кнопке. Тем самым вы можете сократить эти действия: Выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2) ->Выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2). До данных: Команда -> Выделили одну отметку -> Указали базовую точку -> Выделили одну отметку -> Указали базовую точку . Уйдёт ввод с клавиатуры "2", уйдёт повтор команды (потому что макрос будет зациклен) Да, по-прежнему придётся выделить все отметки по отдельности, но вместо условных 32 секунд на 10 отметок , у нас ушло 18. (32-18)х(100/10)=140 секунд, т.е. мы сократили время работы в идеальных условиях чуть более, чем на 2 минуты. В принципе, со знанием, как писать макросы, этого времени достаточно, чтобы написать такой макрос. Стоит ли игра свеч решать вам, по итогу все макросы, которые я писал для себя, мне понадобились не единожды Делюсь парочкой простых макросов, которыми пользовался в своё время Уменьшить в 2 раза = *^C^C_Scale;\\;\0.5 Увеличить в 2 раза = *^C^C_Scale;\\;\2 Подобие с удаление оригинала - *^C^C_offset;_e;_y; (из-за этой команды макрос обычного подобия переделал в - ^C^C_offset;_e;_n; ) Отражение с удаление оригинала - *^C^C_mirror;\\;\\_y; Очистка чертежа (от неиспользуемых блоков, слоёв и т.п.) - ^C^C_-Purge;_all;;_no; Масштаб с опорной линией - ^С^C_scale;\\;\_r;@;\\ Включить границы отображения раста - ^C^C_imageframe;1; Выключить границы отображения раста - ^C^C_imageframe;0; Включить границы отображения границ маскировки - ^C^C_wipeout;_f;_on; Выключить границы отображения границ маскировки - ^C^C_wipeout;_f;_off; Повернуть с базовым углом - ^C_rotate;\\;\_r;@;\\ Где прописывать макрос? Показываю на примере АК 2013 года (в моей версии наны нет макросов, в новых должно быть похоже) Как именно писать макросы и что обозначают все эти слеши и точки с запятыми я не буду, да и, к сожалению, давно не писал их (работаю в Нанокад СПДС 6.0, он, к сожалению моему великому, макросы не поддерживает), но в интернете прилично материала на эту тему, думаю, первая же ссылка в гугле по запросу "макросы в автокаде" вам сразу же поможет На мой взгляд, создание макроса, является самым простым "продвинутым" инструментом для освоения, который стоит изучить для максимально эффективного использования CAD программ. Значки для кнопок.zip
    4 points
  23. Чтобы не уходить далеко от темы горячих клавиш расскажу про пробел. Как вы, наверное, знаете, основная функция пробела аналогична нажатию клавиши Enter и служит для повтора последней команды и завершения текущей. Но есть ещё несколько функций, о которых знают не все. Все они выполняются, если выбрать базовую точку объекта и нажать на пробел определённое количество раз. Использование данной функции пробела было для меня первым звоночком к переходу к горячим клавишам. Стоит ещё дополнительно к функции переноса при однократном нажатие пробела добавить функцию копирования. Она не доступна в моей версии нанокада, не уверен насчёт более новых версий. Поэтому показываю на примере Автокада лт 2013 (знаю, что в 2011 АК тоже так можно) Выполняется это при однократном нажатие на пробел, после чего зажимаете ctrl и указываете место в прострастве. Если продолжите удерживать ctrl, получите массив Можете, конечно, спросить меня - зачем мне этот пробел, когда у меня есть горячие клавиши? Справедливо Но, допустим, попробуйте перенести штриховку за базовую точку с помощью горячей клавиши? Собственно хотя бы для этого
    4 points
  24. Автоматическая печать из nanoCAD (только форматы СПДС) Пока вроде все, по мере поступления вопросов и замечаний статью буду дополнять. Баги и пожелания эту тему. Вышло очередное обновление 0.2.8656 от 13.09.2023 что нового? Актуальная версия программы Домашняя страница программы
    3 points
  25. Видеоуроки по C# WPF, forms... от Дмитрия Загорулькина - https://www.youtube.com/@zagordmtr/videos Учебник по языкам программирования, для быстрого старта самое то, C# - https://metanit.com/sharp/tutorial/
    3 points
  26. В данном видео рассмотрен процесс параметризации графики объектов, подразумевающий изменение цвета объекта в зависимости от контролируемого параметра. В видео это продемонстрировано на примере отклонения металлических балок и колон от горизонтальности и вертикальности. А также продемонстрирован дополнительный прием контроля точности размещения балок и колон.
    3 points
  27. Данная запись является тематическим продолжением вебинара по разбору мастера функций. Далее в видео будут рассмотрены 2 кейса решения проектных задач, в частности использующих мастер функций. Авторасстановка зон обслуживания, путем формирования и агрегирования открытых данных BIM. Создание в атрибутах BIM объектов информации об отметке уровня. В этом видео описаны несколько алгоритмов создания в атрибутах BIM объектов информации об отметке уровня
    3 points
  28. Файл, на котором проводилась демонстрация из видео Расчетная схема.dwg
    3 points
  29. В видео рассмотрен процесс создания параметрического нащельника. Ручка положения такого нащельника позволяет динамически изменять его угол. Импортировать в nanoCAD BIM Конструкции уже готовый нащельник (нащельник с изменяемым углом.XPG) можно с помощью команды _pe_xml_import
    3 points
  30. Ссылка на статью с описанием настроек масштабов в nanoCAD. Настройки масштаба размера.mp4
    3 points
  31. Это тематическое продолжение записи блога по созданию 2D параметрического объекта nanoCAD BIM Конструкции(ссылка на 1-ую часть). В данном видео демонстрируются новые добавленные функциональные возможности объекта проема. А также разбираются некоторые приемы по работе с данным объектом. В руководстве пользователя Model Studio CS Строительные решения на стр. 661 рассмотрен функционал привязки формы к объектам. Имя команды URS_SET_FORM ModelStudioCS Строительные решения. Руководство пользователя.pdf Функциональное обозначение добавленных ручек проема Файл с обновленным проемом Проем 2.dwg UPD(04.02.2022). в сборке 6069 платформы nanoCAD починили Enabler Model Studio CS
    3 points
  32. На этом и других форумах периодически возникает вопрос, как сделать растровый PDF средствами CAD, при том, что nanoCAD выводит PDF вектором. Собственно эта фича произрастает из древней нанобаги или оно просто так работает... Если в любом месте листа вставить видовой экран (ВЭ), можно даже пустой, в область печати ему попадать совсем не обязательно, важно, что Для печати из пространства модели ставим аналогичный визуальный стиль, но там не торт((( все будет серенькое, при печати из листа эффект интереснее Выбираем принтер "Встроенный PDF принтер", печатаем и вуаля, получаем растровый PDF. Правда побочный эффект значительное увеличение размера файла. ----------------- Если вывести на "Печать в формате PDF" то получим удивительный эффект, наложение вектора на растр!!! Естественно размер файла будет еще больше. ---------------------- PS эксперименты проводил в nanoCAD22, но думаю в прошлых версиях все то же. PPS поправить не прошу, если б могли давно исправили. PDF растр.dwg
    3 points
  33. <Каталог> Статьи. 2013. Универсальный автотест, или Как мы автоматизировали ручные тесты API в nanoCAD. https://www.nanocad.ru/information/articles/3499908/ 2013-01-04 Работа с Database в AutoCAD: с использованием транзакций и без них http://bushman-andrey.blogspot.com/2013/01/database-autocad.html 2014. Автоматизация работы в nanoCAD с помощью Visual Basic for Applications. https://habr.com/ru/post/238867/ 2017. Создание кнопки LISP-приложения в nanoCAD. https://habr.com/ru/company/nanosoft/blog/324784/ Сообщения на форуме. 2020-07-03 Загрузка .NET DLL из сети - https://forum.nanocad.ru/index.php?/topic/10969-zagruzka-net-dll-iz-seti/ 2020-09-08 Разница между API NanoCAD и API AutoCAD - https://forum.nanocad.ru/index.php?/topic/11403-raznitsa-mezhdu-api-nanocad-i-api-autocad/ 2021-03-12 Запуск nanoCAD в фоновом режиме - https://forum.nanocad.ru/index.php?/topic/13197-zapusk-nanocad-v-fonovom-rezhime/ LISP. AutoLISP FAQ - https://www.helloworld.ru/texts/comp/lang/lisp/faq/autolisp.htm nanoCAD. LISP. Типы данных - https://forum.nanocad.ru/index.php?/blogs/entry/49-nanocad-lisp-tipy-dannyh/ Выполнение LISP по кнопке - https://forum.nanocad.ru/index.php?/topic/7268-vypolnenie-lisp-po-knopke-v-menyu/ Методики организации отладки в LISP без использования Visual LISP IDE. https://www.autodesk.com/autodesk-university/au-online?query=LISP+Debugging 2013 Going on a Bug Hunt: Debugging and Handling Errors in AutoLISP https://www.autodesk.com/autodesk-university/class/Going-Bug-Hunt-Debugging-and-Handling-Errors-AutoLISPR-2013 2016-2017 Managing What Your LISP Routines Manage https://www.autodesk.com/autodesk-university/class/Managing-What-Your-LISP-Routines-Manage-2016 https://www.autodesk.com/autodesk-university/class/Managing-What-Your-LISP-Routines-Manage-2017#downloads AutoLISP Debugging (AlfraLISP) https://www.afralisp.net/autolisp/tutorials/debugging.php Common LISP Cookbook https://lispcookbook.github.io/cl-cookbook/ Common LISP Language Reference https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node1.html Practical Common LISP book online http://gigamonkeys.com/book/ AutoCAD 2015. AutoLISP Developers Guide. http://help.autodesk.com/view/ACD/2015/RUS/?guid=GUID-265AADB3-FB89-4D34-AA9D-6ADF70FF7D4B AutoCAD 2015. AutoLISP Functions By Name and Feature Reference. http://help.autodesk.com/view/ACD/2015/RUS/?guid=GUID-4CEE5072-8817-4920-8A2D-7060F5E16547 Скрипты автоматизации работ. Синтаксический разбор вызовов LISP модулей (PowerShell). https://forum.nanocad.ru/index.php?/blogs/entry/82-skript-analiza-lisp-moduley/ Разное. Энциклопедия языков программирования - http://progopedia.ru https://hopl.info https://en.wikibooks.org/wiki/Computer_Programming/Hello_world#Visual_Basic
    3 points
  34. На днях колеги подогнали файл со схемами предприятия Ну а чо они так видят, им удобно и они в этом чертеже ориентируются вполне комфортно, в отличие от меня. Вблизи схемы как схемы Среди этой красоты мне нужно было найти определенную подстанцию ТП-8/7 и фидера откуда она питается Долог и неинформативен Благо коллеги в кадах не сильно искушены и все надписи были сделаны просто текстом И я подумал ведь есть служебная команда SPREFSHOW которая укажет мне путь))) Добавил таблицу на чертеж Добавил раздел отчета если кому надо искать в мтекстах или других объектах, то добавляется по аналогии... Для того что бы показывало объекты по SPREFSHOW, должно быть взято хотя бы одно свойство с объекта, ничего оригинальнее чем взять =Object.Text я придумать не смог Больше свойств брать не стоит, лишние связи будут мешать, загромождать... короче не надо Ну и для перфекционизму объединил первый столбец и поставил на него счетчик выходим из редактора таблиц выделяем нашу табличку и в ком строке вводим вожделенное SPREFSHOW линии связей укажут искомое))) --------------- ЗЫ мне реально лениво переключаться на инглиш раскладку, а потом еще и набирать такое длинное слово можно добавить через НПИ в команды, менюшки и панельки..... но тогда нано, все мои красиво расположенные функциональные и не очень панельки смешает в кучу.. я работаю в основном из ком строки.. поэтому добавил в подгружаемый lisp команду (defun C:спсс ();;Показать зависимости (command "SPREFSHOW" ) (princ) ) благо что lisp команды можно добавлять, изменять не перезагружая нану (достаточно перезагрузить лисп)))).. в отличие от добавления команд через интуитивно понятный и чертовски удобный НПИ(((который после рестарта нано нарушит гармонию панелек настроенных мной, на строгий порядок определенный суровым разработчиком)))
    3 points
  35. Иногда необходимо оптимизировать кол-во используемых лицензий программного продукта. Одним из затруднений при решении этой задачи является забывчивость пользователей. Например, пользователи забывают закрывать программу, когда уходят с рабочего места, и таким образом, лицензия простаивает впустую. Ниже приведена инструкция, которая позволяет решить данную проблему. Описанный далее метод является одним из возможных, в действительности эту задачу можно решить множеством способов. Например, если это допустимо, переводить компьютер в спящий режим, тогда лицензия будет возвращаться по тайм-ауту лицензии. Если же переводить компьютер в спящий режим не допустимо, то нужно завершать работу конкретного приложения, о том как это сделать читайте далее. Инструкции по созданию задачи в планировщике Windows для закрытия nanoCAD при бездействии пользователя. Общая последовательность действий такая: Создаем bat-файл, в котором пишем команду принудительного закрытия nanoCAD. В планировщике заданий Windows создаем задачу с триггером по бездействию. Задаем иные необходимые условия срабатывания триггера. В качестве действия для задачи выставляем запуск bat-файла. Создание bat-файла Необходимо создать bat-файл, в котором будет прописана команда закрытия nanoCAD. Во вложении пример bat-файла Нанокиллер.bat Открыть файл на редактирование можно с помощью блокнота windows. Содержание в файле примера следующее: «taskkill /im nCad.exe /f», Где nCad.exe - имя запущенного приложения(его можно посмотреть в диспетчере задач), /f – флаг принудительного завершения задачи. Обращаю внимание, что обязательно должен быть выставлен флаг /f, без этого флага nanoCAD будет закрываться с диалогом, в котором будет запрашиваться сохранение файлов чертежей. Работать с таким диалогом через командную строку не получится. Можно было бы написать скрипт автоматизации, допустим на JavaScript, чтобы обрабатывать этот диалог. Такую задачу мы также можем реализовать, по этому вопросу вы можете обратиться к нам по контактам указанным в описании блога. Недостаток того, что задача будет закрываться с флагом /f в том, что произведенные пользователем изменения не сохранятся в файле чертежа, они будут сохранены в отдельном файле автосохранений, из которого потом необходимо будет восстановить изменения при повторном открытии nanoCAD. При открытии nanoCAD автоматически появится окно восстановления изменений из файла автосохранения. При таком восстановлении будет создан новой файл не затрагивающий оригинальный файл. Чтобы сохранить изменения именно в оригинальном файле, необходимо сохранить восстановленную копию с заменой оригинального файла. Создание задачи в планировщике задач Windows Рядом с кнопкой "Пуск" обычно находится кнопка "Поиск". Жмем ее. В открывшемся окне, в поле поиска набираем "Планировщик заданий". Будет найдето: классическое приложение "Планировщик заданий" - жмем, запускаем. Создаем новую папку с собственными задачами В этой папке создаем задачу Переходим на вкладку «Триггеры» и нажимаем кнопку «Создать…» В появившемся окне в выпадающем списке выбираем «При простое». Ставим галку включено. Остальные галочки не ставим. Переходим на вкладку «Условия». Выставите галочки как на рисунке. В поле «Запускать задачу при простое компьютера:» установите время простоя, после которого должна отрабатывать задача. В поле «Ожидать простоя в течение», установите «Не ждать». Таким образом триггер будет срабатывать каждые первые 10 минут простоя компьютера. Обращаю ваше внимание, что под простоем компьютера подразумевается ряд условий. Считается, что компьютер находится в состоянии простоя при 0% использования процессора и 0% активности диска в течение 90% из последних 15 минут при отсутствии ввода команд с помощью клавиатуры или мыши. Перейдите на кладку «Действия» и нажмите кнопку «Создать…» В выпадающем меню выберете действие «Запуск программы» и укажите через «Обзор…» путь до ранее созданного bat-файла. На вкладке «Общие» настройте запуск задачи. Напишите имя задачи. Укажите учетную запись, от имени которой будет выполняться задача. Прав на этой учетной записи должно быть достаточно для выполнения задачи. Выберете для каких пользователей эта задача будет отрабатывать. А также укажите под какой операционной системной задача должна отрабатывать. Нажмите ОК. Настройка времени тайм-аута лицензии nanoCAD Также обращаю ваше внимание, что завершение работы nanoCAD вышеописанным образом будет считаться аварийным, поэтому необходимо также настроить время возвращения лицензии. Если программа вылетела, то она не отдала лицензию. Сервер по-прежнему считает, что лицензия закреплена за компьютером пользователя. Сама лицензия вернется на сервер в пределах 2 часов по таймауту. При этом можно создать файл опций, прописать его в файле лицензий, и лицензия будет возвращаться при неактивности (без отклика серверу) через другое время. Файл опций (текстовый файл): Как прописать в файле лицензий(перед любыми изменениями файле лицензий, делайте резервную копию): SERVER SERVER_NANOSOFT VENDOR NANOSOFT USE_SERVER OPTIONS=C:\ProgramData\Nanosoft\LicServSetup\Licenses/NANOSOFT.opt FEATURE NanoCAD_Plus NANOSOFT После этого остановить сервер и запустить заново. В логах сервера должна появиться надпись: 9:59:09 (NANOSOFT) FEATURE NanoCAD_Plus INACTIVITY TIMEOUT set to 600 seconds После этого неактивная лицензия (отключения компьютера от сети или аварийное прекращение работы) будет возвращаться на сервер в пределах 10 минут. Нанокиллер.bat
    3 points
  36. Видео подготовлено на основании обсуждения в данной ветке форума. Выноска с координатоми объектов.mp4
    3 points
  37. В этой небольшой статье рассмотрим как можно отредактировать стандартный параметрический объект, чтобы за базовую точку объекта можно было не переносить объект, а растягивать. Это удобно будет при работе со швеллерами, трубами и прочими объектами, которые приходится растягивать в обе стороны. Для примера будет использовать стандартный параметрический объект трубу по ГОСТ 167-69 (Несущие конструкции -> КМ -> Трубы) Нас интересует функция OnMoveGripPoint По умолчанию она выглядит так: function OnMoveGripPoint{ if(NMovingGrip == 1){ L = vecLen(pntGrip0 - pntGrip1); vecDirection = pntGrip1 - pntGrip0; LoadInCache( B, s ); SelectInCache( "kFirst", "B", "~", B, "s", "~", s); } else { pntOrigin = pntGrip0; }; }; Давайте для удобства приведём к более понятному виду и уйдём от конструкции else function OnMoveGripPoint { if(NMovingGrip == 0) { pntOrigin = pntGrip0; }; if(NMovingGrip == 1) { L = vecLen(pntGrip0 - pntGrip1); vecDirection = pntGrip1 - pntGrip0; LoadInCache( B, s ); SelectInCache( "kFirst", "B", "~", B, "s", "~", s); }; }; Предыдущая запись скрипта имеет права быть, т.к. в объекте всего 2 ручки, но будет неудобна при условии добавления новых ручек, да и в принципе наша запись сразу позволяет понять, к какой ручке мы обращаемся. Итак, чтобы заставить объект удлиняться за базовую точку, надо прописать изменение длины объекта при перемещение базовой точки. Получаем: if(NMovingGrip == 0) { pntOrigin = pntGrip0; L = vecLen(pntGrip1 - pntGrip0); }; Ура, наш объект растягивается!) Осталось дописать поведение вектора направления объекта: if(NMovingGrip == 0) { pntOrigin = pntGrip0; L = vecLen(pntGrip1 - pntGrip0); vecDirection = pntGrip1 - pntGrip0; }; И всё, теперь всё работает просто великолепно) Вот такими несложными манипуляциями мы упростили работу со стандартным параметрическим объектом, добавив возможность растягивать его в обе стороны =)
    3 points
  38. При подготовке задания на проектирование для смежных групп в проектной организации помимо словесной формулировки часто требуется приложить графическое изображение. Прикладывать файл с полным комплектом чертежей во многих случаях нецелесообразно. Разумно будет передать небольшой фрагмент графической информации. Для подобных задач в nanoCAD Plus с модулем СПДС есть утилита Экспортировать в файл (SPEXPORTTOFILE). Она позволяет сохранить в файл выбранные объекты чертежа и оформить для них формат и основную надпись (штамп). Читайте дальше
    3 points
  39. Для упорядоченного расположения копий объектов на чертеже в nanoCAD с модулем СПДС предложено несколько утилит: Создание массива (SPARRAY); Массив по области (SPARDARRAY); Раскладка плитки (SPPLTARRAY); Создание пользовательской штриховки (SPHPATTERN). Рассмотрим основные преимущества каждой из них. Читать дальше
    3 points
  40. Нередко возникают ситуации, когда в чертеже нужно найти и заменить то или иное слово. В nanoCAD с модулем СПДС для решения такой задачи предусмотрена утилита Найти и заменить (SPFIND, FIND, ПОИСК). Этот инструмент используется для поиска и замены строковых значений в объектах чертежа. В ленточном интерфейсе команду можно найти во вкладке СПДС → Утилиты → Найти и заменить (рис. 1). В классическом к ней ведет такой же путь. Рабочее сочетание клавиш для этой команды: Ctrl+F. Читать дальше
    3 points
  41. Дополнительные средства nanoCAD – это инструменты, подобные самым популярным и востребованным инструментам Express Tools, реализованным в составе зарубежного аналога. Отличительной особенностью этих утилит в nanoCAD является то, что они устанавливаются по умолчанию, тогда как пользователю зарубежного решения приходится контролировать их появление в интерфейсе программы при инсталляции. Набор дополнительных средств включает в себя 10 наиболее часто используемых утилит. Далее мы рассмотрим функционал каждой из них и приведем примеры работы. В классическом интерфейсе nanoCAD дополнительные средства расположены в меню Редактирование → Дополнительные средства (рис. 1). В ленточном они распределены по разным группам в зависимости от объектов, с которыми работает та или иная утилита. Узнать больше
    3 points
  42. <Каталог> Статьи. 2020-07-20 Дополнительные средства nanoCAD - https://habr.com/ru/company/nanosoft/blog/510968/?fbclid=IwAR1-U5DP_7pa8_Xce6otKOW7hft0LO7jWvsrzicvr6x7O8GWarIookZm41k Статьи на форуме. Полезные дополнения - https://forum.nanocad.ru/index.php?/forum/158-poleznye-dopolneniya/ 2020-07-20 Lisp.Автоматическая нумерация точек и экспорт координат в файл - https://forum.nanocad.ru/index.php?/topic/11078-lispavtomaticheskaya-numeratsiya-tochek-i-eksport-koordinat-v-fayl/ 2020-07-20 Lisp. Автоматическое создание слоев чертежей АД - https://forum.nanocad.ru/index.php?/topic/11079-lisp-avtomaticheskoe-sozdanie-sloev-chertezhey-ad/ 2020-07-21 Lisp. Автоматическая отрисовка откосов дороги- https://forum.nanocad.ru/index.php?/topic/11084-lisp-avtomaticheskaya-otrisovka-otkosov-dorogi/ 2020-07-21 Lisp.Вывод значений координат в мультивыноску - https://forum.nanocad.ru/index.php?/topic/11083-lispvyvod-znacheniy-koordinat-v-multivynosku/ 2020-07-21 Lisp.Ручная нумерация точек чертежа https://forum.nanocad.ru/index.php?/topic/11080-lispruchnaya-numeratsiya-tochek-chertezha/ MenuGEO. Набор команд для составления топографо-геодезических планов, схем, профилей и других графических материалов. Последняя версия рассчитана на работу под AutoCAD 2017. Возможно будет работать в более поздних версиях. https://geodesist.ru/resources/menjugeo.103/ https://dwg.ru/dnl/13203 Библиотеки ОАО "ВНИПИгаздобыча". https://geodesist.ru/threads/platnye-utility-po-geodezii-dlja-autocad.4731/page-2 3DService. Программное обеспечение для решения решение задач по оформлению материалов инженерных изысканий. Оформление выполняется в виде блоков AutoCAD. TriBuilder. Набор команд для построения и редактирования триангуляционных поверхностей. (Есть вариант установки под nanoCAD) SomeTools. Набор команд для работы с блоками и полилиниями. (Есть вариант установки под nanoCAD) Решение проблем с иконками в DLL файле. https://forum.nanocad.ru/index.php?/topic/10830-fayl-dll-s-ikonkami/&tab=comments#comment-67335 Конвертер DWG файлов. ZWSoft (на данный момент поддерживает конвертацию до AutoCAD 2018 включительно) https://www.zwsoft.ru/dwg-converter Topography СевКавТИСИЗ. https://sites.google.com/site/topographyacad/home http://www.sktisiz.ru http://www.sktisiz.ru/solutions/ctp/ Программное обеспечение для работы с топографическими планами. PLTOOLS. Первоисточник. https://dwg.ru/dnl/607 https://www.caduser.ru/forum/topic47618.html Обсуждение на форуме. https://forum.nanocad.ru/index.php?/topic/10136-nanocad-lisp/page/2/ Яндекс-диск. https://yadi.sk/d/r68Bd6Qn1Iyb4w
    3 points
  43. Сборка своей основной надписи (штамп) Привязка штампа к своему масштабируемому формату.
    2 points
  44. В данном видео рассмотрен пример автоматизации задачи пакетного пересохранения файлов dwg при помощи PRA системы Power Automate Еще один робот автоматической расстановки выносок по узлам полилинии. Для его использования потребуется включенная командная строка и панель свойств, предварительно выбранная полилиния, а также некоторая адаптация. Роботы синхронизируются с облачным хранилищем при входе в учетную запись. Чтобы делиться с другими пользователями, можно копировать через буфер текст скрипта. Ниже рекомендации по адаптации скрипта автоматической расстановки выносок. Видео со звуком. Ссылка на скрипт авторасстановки выносок Поток расстановки выносок.txt Ссылка на демонстрацию с примером использования RPA Uipath + nanoCAD.
    2 points
  45. Условия содержит не содержит в окне быстрого выбора.mp4
    2 points
  46. Утилита Общ длин.mp4 Измерение графических притивов с помощью таблиц.mp4
    2 points
  47. Хочу поделится несколькими способами быстро выбрать нужные вам объекты, по-мимо стандартного "Быстрого выбора" 1. Выбрать похожие объекты (SELECTSIMILAR) Эта команда позволит вам выбрать все объекты на чертеже со свойствами, соответствующим выбранным объектам. Какие свойства брать за основные выбирать вам, для этого после ввода команды выбираем "настройки" и выставляем требуемые параметры 2. Изолировать слой (LAYISO) Это команда позволит оставить на чертеже все объекты в том слое, в котором находятся указанные объекты. 3. Сохранить шаблон Данная функция доступна при быстром выборе объектов. Полезна, когда по большому количеству фильтров приходится выбирать объекты на чертеже по несколько раз. 4. ФИЛЬТР Данную функцию обнаружил в Автокад ЛТ 2011. Точно есть в 13 версии продукта. Думаю перекочевала и в новые версии. Есть ли в Нанокадах новых не знаю, в моей версии точно нет. Суть примерно та же, как и у быстрого выбора в Нанокаде. Тоже можно сохранять шаблоны. Последний настройки сохраняются. Хорошая альтернатива быстрому выбора в АК. Данную команду я вынес на кнопку, значок для неё рисовал сам. Возможно в более поздних версиях она есть на какой-то панели инструментов 5. Предыдущий выбор (SELECT13) Данную функцию как отдельную команду встретил впервые в своей версии нанокада. До этого в Брикскаде 13-го года и Автокаде 13 этой команды не находил. Для автокада пришлось писать макрос, который отдалённо воспроизводил эту функцию, но с рядом ограничений. Команда, собственно, повторяет последний выбор объектов
    2 points
  48. Кратко в общих чертах: Работайте в слоях! Если что-то можно выделить в отдельный слой - выделяйте! Называйте как хотите эти слои, вам работать с ними дальше, но лично я бы советовал называть все слои таким образом, будто кто-то другой будет работать с вашим чертежом, тогда и вам самим будет всегда понятно, что вы имели ввиду, называя слой данным образом. Меняйте толщины линии с "по слою" на любую другую величину только по острой необходимости. Работайте таким образом, чтобы в будущем сделанную вами работу вы смогли сами изменить в пару кликов. А теперь подробнее Я расскажу несколько моментов в работе со слоями, которые используют не все. Слои 2 Вытащите эту панельку себе, пускай всегда будет под рукой. Из полезных функций на ней, к которым я обращаюсь довольно часто, это: - Отключить слой - отключает слой в котором находится выбранный элемент - Заморозить слой - замораживает слой в котором находится выбранный элемент - Включить все слои - Разморозить все слои - Конфигурации (см. дальше) Чем отличается "отключение слоя" от "заморозки". Если я верно понял эти операции, то "отключение" просто скрывает объекты - они продолжают существовать на чертеже, просто мы их не видим. Заморозка же убирает элементы с чертежа. Как это? Отключите какой-то слой. Нажмите сочетание клавиш ctrl+A - вы выделите все объекты, даже те, которые находятся на отключённых слоях. Теперь попробуйте вместо отключения заморозить слой. При нажатие ctrl+A данный слой не выделится. Как это использовать решайте сами. Я в основном удаляю таким образом ненужные мне объекты с чертежа Ещё пример. Допустим вы создали блок, внутри которого три отрезка, каждый в своём слое. Сам же блок в каком-то четвёртом слое. При отключение одного из трёх первых слоёв мы будем наблюдать, что отрезки, находящиеся в этих слоя будут пропадать с чертежа. То же самое происходит и при заморозке. Но теперь давайте заморозим слой, в котором находится сам блок - все объекты, которые были внутри блока пропали с чертежа, но при этом слои, в которых находятся объекты внутри блока не отключены и не заморожены. Но это всё мелочи, подходим к сладкому. Почему-то я не знаю пока никого у себя в городе, кто бы этим пользовался. Может город маленький просто, а может я людей знаю мало Конфигурации слоёв Если вы работаете в модели, вы обязаны пользоваться этой функцией. Я работаю в модели. Я понимаю все преимущества использование листов по сравнению с оформлением чертежей в модели, но задержку в несколько секунд при переключение между листами считаю критичной. Поэтому ещё раз - конфигурации слоёв. Делаете кладочные и отделочные планы на одном и том же плане этажа? Вы просто обязаны иметь как минимум две конфигурации - Кладка и Отделка. Как настроить? Очень просто - настраиваете требуемое отображение слоёв - СЛОИ - Добавить конфигурацию. Всё, осталось лишь назвать конфигурацию должным образом. При этом в конфигурациях сохраняется не только включён или отключён ли слой, но его печатаемость, цвет, толщина и другие настройки Группы слоёв К сожалению эта функция в моей версии программы не работает должным образом, но в более поздних должна работать хорошо - позволяет выделить слои в группу и работать только с ними, т.е. выпадающий список слоёв сокращается до указанных вами. Полезно, когда имеется очень много слоёв (допустим, подложка на чертеже), а надо в данный момент работать только с 2-3 и постоянно между ними переключаться. Бонус. Свойства слоя "0". Хотел бы ещё рассказать вам про слой "0". У этого слоя есть особое свойство, отличающие его от других - если объект вычертить в нулевом слое и загнать его в блок, то он примет свойства слоя, в котором находится данный блок. Как это использовать - решайте сами
    2 points
×
×
  • Create New...