Jump to content

Leaderboard

Popular Content

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

  1. Добрый день! В видео продемонстрированы примеры работы с данными внутри чертежей. В первом видео: поля, комплект документации(подшивки), альбомы СПДС. Во втором видео использование таблиц nanoCAD для управления данными внутри чертежа. Ссылки на файлы из второго видео: Нумерация поля -Номер страницы-.dwg,Нумерация листов.dwg Эти файлы подготовил и предоставил пользователь форума MCAD. Если хотите поделиться собственными примерами, прикрепляйте их в комментариях к посту. Спасибо Ниже идут ссылки на видео, где вы подробнее можете узнать про: Функционал полей в nanoCAD Раздел отчетов в таблицах nanoCAD Альбомы СПДС Добавление пользовательских свойств в комплекте документации Редактор форм на примере маркера СПДС
    7 points
  2. Калибровка 3.mp4 По ссылке совет по включению объектных привязок контексте указания координат точек. По ссылке видео с демонстрацией выравнивания и масштаблирования растра методом поверхностных сплайнов.
    6 points
  3. В рамках самообучения VB.NET решил портировать VBA из Автозаполнялка. Часть 2 Естественно, я сильно не заморачивался, просто добавил нужные функции для себя, ну и прикрутил интерфейс для других)) Для чего это нужно можете прочитать выше по ссылке... Возможности утилиты: Работает с нанокад и автокад+СПДС Удаление всех пользовательских свойств документа DWG Добавляет пользовательские свойства в активный документ из таблиц nanoCad (именованные ячейки) прямым выбором таблиц на чертеже сохраненное имя таблицы из настроек режим ком строки (без интерфейса) ключи: без ключа-поведение определяется настройкой утилиты, возможны опции: Открыть настройки (интерфейс) Записать в свойства документа данные из имени таблицы сохраненной в настройках Выбрать таблицу для записи в свойства документа на чертеже 1-Записать в свойства документа данные из имени таблицы сохраненной в настройках 2-Выбрать таблицу для записи в свойства документа на чертеже любой другой ключ-Интерфейс, откроется окно настроек Обновление утилиты онлайн (в смысле при наличии интернета, сама проверит обновление и попросит обновиться) ===================== В принципе функционал можно наращивать до бесконечности (если кто-то проявит интерес)...собирал для себя, то что необходимо мне))) upd Накрутил там еще шашечек))) по мелочи и продолжаю пилить Как всегда конструктивная и не очень критика, а также замечания и пожелания только приветствуются Заполнялка Таблица в таблицы.dwg docProp.exe
    6 points
  4. <Каталог> <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
  5. Понадобилось реанимировать свое старое приложение для работы с полилиниями в 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. Если кто будет пользоватья - пожелания/комментарии здесь или в личку.
    5 points
  6. Хочу написать гайд по отчётам таблиц, который будет понятен и нагляден. Делаю это в первую очередь для коллег с которыми работаю, но, надеюсь, пригодиться и кому-то ещё. 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-ти лет, и использую таблицы повсеместно - от подсчёта кладки на чертеже, до автоматического заполнения ТЭПов и спецификаций элементов.
    5 points
  7. Инструментальные_палитры.mp4 Примечание: добавленные в пользовательскую палитру инструментов блоки, линии и тд. будут копироваться из файла, в котором были созданы. Поэтому для составления своих палитр инструментов лучше использовать отдельные файлы, а не рабочие чертежи.
    5 points
  8. Инструмент для объединения nanocad(СПДС) таблиц. Написано на C#/MultiCAD. Работоспособность проверена под NC2022. Готова к использованию dll - NcadSpdsTable_APP.dll Команда для запуска - WorkWithSpdsTable Описание возможностей: объединение таблиц вертикально объединение таблиц горизонтально умеет образать шапку при объединении в случае если разное кол-во столбцов/строк - добавляет пустые, для корректного объединения. P.S. - На сложных таблицах не тестировал. - Порядок объединения, если кому то нужен(в порядке выбора, или по координатам) - нужно реализовывать - пишите. Вертикально: Горизонтально:
    4 points
  9. Форумчане, всем привет! Мы составили документ, в котором предоставлены ссылки на различные посты форума с решениями/советами. На наш взгляд, пользователям, которые только начинают ознакомляться с nanoCAD, и соответственно не сильно погружены в форумную деятельность, такой документ может помочь быстрее найти необходимые решения. Ссылка на документ. Будем рады конструктивной критике и предложениям по расширению перечня ссылок. Документ периодически дополняется.
    4 points
  10. Разбор COM по запросу данных с проекта.docx Готовый пример с автозаполнением.dwg Т.к. данная запись блога относится к анонсированным темам на прошедших вебинарах (1-ый и 2-ой вебинар), ниже материал по теме дополнительного форматирования результата обсчета функций в профиле спецификации.
    4 points
  11. В видео ниже поэтапно рассмотрен процесс создания 2х мерного параметрического объекта обозначения проема, который функционально аналогичен динамическим блокам AutoCAD и параметрическим объектам nanoCAD СПДС/Механика. DWG файл с объектом проема nanoCAD BIM Конструкции Проем.dwg Видео, в которых рассмотрена работа со спецификациями nanoCAD BIM Конструкции Базовые приемы работы Формирование пользовательской спецификации Функционал по работе со спецификацией весьма гибок и позволяет решать неочевидные задачи: Поиск дублей объектов Простановка нумерации объектов Ссылка(с таймкодом на 13:06) на видео, в котором рассмотрена работа с выносками. Отдельно замечу, что для 2х мерных параметрических объектов нужно использовать инструмент Выноска к УГО Полный плейлист обучающего курса nanoCAD BIM Конструкции Ссылка на руководство по созданию параметрического объекта проема в модуле nanoCAD СПДС Ссылка на видео с примером создания объекта проема в nanoCAD СПДС Ссылка на видео с примером создания объекта проема в nanoCAD Механика Продолжение...
    4 points
  12. Примечание: для работы панели CADLib Проект необходимо наличие 3D Модуля
    4 points
  13. 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
  14. Ждать пока 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
  15. Сделал автозаполнялку , по результатам боевых стрельб внезапно выяснилось, что нана не умеет работать с полями нативных объектов. Зато умеет вставлять поля из свойств документа (хотя возможно в следующей версии пофиксят и все будет наоборот))) Возник вопрос, как запихнуть данные в свойства документа.... Руками прям не вдохновляет Второй вопрос откуда эти данные брать, решился просто, коль у нас на чертеже есть таблица, (автозаполнялка) в которую мы занесли все сведения... отчего бы данные не подтянуть из нее. Принцип в кратце: Хватаем конкретную таблицу на чертеже Пробегаем по значениям именованных ячеек Имя ячейки пишем как ключ в пользовательские свойства документа Значением-свойством ключа будет содержимое ячейки ------------------------ Некритичные проверки исключений я не делал, кому надо вполне может дописать, как надо Если изменить "комментарии" ячеек, то соответственно в свойства документа запишутся другие ключи Все ключи пишутся в пользовательские свойства документа, но при желании можно писать и в Под спойлером код, старался комментировал)) Сразу скажу из скрипта VBS внутри наны этот код работать не будет, хотя конечно заманчиво... (значения ключей и свойства должны быть String и никак иначе, а в скриптах типы данных я не умею ) Поэтому этот код запускается из Excel большой красной кнопкой. В принципе, как дальнейшее развитие, этот код можно причесать, откомпилировать и запускать, хоть из командной строки нано, из меню или кнопкой на панели. В аттаче шаблон чертежа и большая красная кнопка. PS кода без багов не бывает, поэтому по мере... буду улучшать Автозаполнялка через поля документа V2.dwg docProp.xlsm
    4 points
  16. По мотивам видео уважаемого @MCAD Собрал заполнялку форматок СПДС на основе таблиц... Коротенько что умеет и зачем... 1. Заполняет реквизитную часть основных надписей Но в связи с тем, что в таблицах бага (несколько (много ) отчетов начинают глючить, а мне надо много) Эта таблица заполняет данными другие таблицы.. Собирает данные с форматов в чертеже (мне надо для статистики по разделам, листов и приведение к А1) UPD 19.05.2021 15:50 Заполняет данными блок с атрибутами (иначе как мне взять полем в текст или мтекст??) И берет с этого блока поля имени файла и путь файла ( заодно объехали еще одну багу с отцепляющимися полями в таблице при изменении в таблице количества строк и еще одну багу лишний пробел в начале строки) из за баги в нано (атрибуты из блоков в тексты не держатся, слетают и глючит) поэтому написал простенький VBA который значения именованных ячеек таблицы записывает в пользовательские свойства документа, а вот оттуда уже можно подтянуть полем в любой объект. Бонусом при вставке текста с полем в любой документ, если у документа есть такие пользовательские свойства все подтянется автоматически. Продолжение истории))/UPD ------------------- Маленькие таблицы: непосредственно заполняют основные надписи форматок нумеруют форматки (слева направо снизу вверх, можно перенастроить) В первом формате ставят количество форматов. В маленьких таблицах нужно только задать область в которой расположен раздел и имя раздела (то что в обозначении после точки... СО, КЖ, Д, Р) Кому интересно качайте шаблончик, включайте скрытые строки и разделы (их там есть), разбирайтесь как это работает и конечно адаптируйте под свои нужды (кто проектирует проект файл) Связи можно посмотреть-проверить по SPREFSHOW ------------------------ Критика только приветствуется)) ЗЫ возможно чего вспомню еще допишу, но проще раз увидеть ------------ upd перезалил шаблон, чегойто два файла прицепилось))) Автозаполнялка.dwg
    4 points
  17. Добавление удаление вставка строк в таблица СПДС.mp4
    4 points
  18. Две небольшие утилиты с простейшим алгоритмом выполнения позволят вам восстановить из примитивов чертежа полноценные объекты nanoCAD СПДС и комфортно продолжить работу. Разбитые на примитивы dwg таблицы – нередкое явление в чертежах. Работать с ними можно, но весьма неудобно. Добавить строки и столбцы в такие таблицы просто, а вот вставить новые – трудоемко. nanoCAD Plus с модулем СПДС позволяет «склеить» отрезки и текст (примитивы чертежа) в таблицы nanoCAD. Для этого разработана утилита Распознавание таблиц. Команду Распознавание таблиц (SPRECTABLE, RECTABLE) вы найдете в ленточном интерфейсе на вкладке СПДС, в подвале группы Форматы, таблицы Читать дальше т
    4 points
  19. Мы с вами уже настроили горячие клавиши, научились пользоваться пробелом и быстро выбирать то, что нам нужно. Но есть рутинные задачи, в которых нас не спасают ни быстрый выбор, ни быстрый ввод команды. Потому что приходится раз за разом выполнять одно и то же действие над разными объектами. Допустим, получили вы чертёж Фасада. Хорошо оформленный чертёж, 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
  20. Чтобы не уходить далеко от темы горячих клавиш расскажу про пробел. Как вы, наверное, знаете, основная функция пробела аналогична нажатию клавиши Enter и служит для повтора последней команды и завершения текущей. Но есть ещё несколько функций, о которых знают не все. Все они выполняются, если выбрать базовую точку объекта и нажать на пробел определённое количество раз. Использование данной функции пробела было для меня первым звоночком к переходу к горячим клавишам. Стоит ещё дополнительно к функции переноса при однократном нажатие пробела добавить функцию копирования. Она не доступна в моей версии нанокада, не уверен насчёт более новых версий. Поэтому показываю на примере Автокада лт 2013 (знаю, что в 2011 АК тоже так можно) Выполняется это при однократном нажатие на пробел, после чего зажимаете ctrl и указываете место в прострастве. Если продолжите удерживать ctrl, получите массив Можете, конечно, спросить меня - зачем мне этот пробел, когда у меня есть горячие клавиши? Справедливо Но, допустим, попробуйте перенести штриховку за базовую точку с помощью горячей клавиши? Собственно хотя бы для этого
    4 points
  21. Ссылка на статью с описанием настроек масштабов в nanoCAD. Настройки масштаба размера.mp4
    3 points
  22. Это тематическое продолжение записи блога по созданию 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
  23. На этом и других форумах периодически возникает вопрос, как сделать растровый PDF средствами CAD, при том, что nanoCAD выводит PDF вектором. Собственно эта фича произрастает из древней нанобаги или оно просто так работает... Если в любом месте листа вставить видовой экран (ВЭ), можно даже пустой, в область печати ему попадать совсем не обязательно, важно, что Для печати из пространства модели ставим аналогичный визуальный стиль, но там не торт((( все будет серенькое, при печати из листа эффект интереснее Выбираем принтер "Встроенный PDF принтер", печатаем и вуаля, получаем растровый PDF. Правда побочный эффект значительное увеличение размера файла. ----------------- Если вывести на "Печать в формате PDF" то получим удивительный эффект, наложение вектора на растр!!! Естественно размер файла будет еще больше. ---------------------- PS эксперименты проводил в nanoCAD22, но думаю в прошлых версиях все то же. PPS поправить не прошу, если б могли давно исправили. PDF растр.dwg
    3 points
  24. <Каталог> Статьи. 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
  25. На днях колеги подогнали файл со схемами предприятия Ну а чо они так видят, им удобно и они в этом чертеже ориентируются вполне комфортно, в отличие от меня. Вблизи схемы как схемы Среди этой красоты мне нужно было найти определенную подстанцию ТП-8/7 и фидера откуда она питается Долог и неинформативен Благо коллеги в кадах не сильно искушены и все надписи были сделаны просто текстом И я подумал ведь есть служебная команда SPREFSHOW которая укажет мне путь))) Добавил таблицу на чертеж Добавил раздел отчета если кому надо искать в мтекстах или других объектах, то добавляется по аналогии... Для того что бы показывало объекты по SPREFSHOW, должно быть взято хотя бы одно свойство с объекта, ничего оригинальнее чем взять =Object.Text я придумать не смог Больше свойств брать не стоит, лишние связи будут мешать, загромождать... короче не надо Ну и для перфекционизму объединил первый столбец и поставил на него счетчик выходим из редактора таблиц выделяем нашу табличку и в ком строке вводим вожделенное SPREFSHOW линии связей укажут искомое))) --------------- ЗЫ мне реально лениво переключаться на инглиш раскладку, а потом еще и набирать такое длинное слово можно добавить через НПИ в команды, менюшки и панельки..... но тогда нано, все мои красиво расположенные функциональные и не очень панельки смешает в кучу.. я работаю в основном из ком строки.. поэтому добавил в подгружаемый lisp команду (defun C:спсс ();;Показать зависимости (command "SPREFSHOW" ) (princ) ) благо что lisp команды можно добавлять, изменять не перезагружая нану (достаточно перезагрузить лисп)))).. в отличие от добавления команд через интуитивно понятный и чертовски удобный НПИ(((который после рестарта нано нарушит гармонию панелек настроенных мной, на строгий порядок определенный суровым разработчиком)))
    3 points
  26. Видео подготовлено на основании обсуждения в данной ветке форума. Выноска с координатоми объектов.mp4
    3 points
  27. В этой небольшой статье рассмотрим как можно отредактировать стандартный параметрический объект, чтобы за базовую точку объекта можно было не переносить объект, а растягивать. Это удобно будет при работе со швеллерами, трубами и прочими объектами, которые приходится растягивать в обе стороны. Для примера будет использовать стандартный параметрический объект трубу по ГОСТ 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
  28. При подготовке задания на проектирование для смежных групп в проектной организации помимо словесной формулировки часто требуется приложить графическое изображение. Прикладывать файл с полным комплектом чертежей во многих случаях нецелесообразно. Разумно будет передать небольшой фрагмент графической информации. Для подобных задач в nanoCAD Plus с модулем СПДС есть утилита Экспортировать в файл (SPEXPORTTOFILE). Она позволяет сохранить в файл выбранные объекты чертежа и оформить для них формат и основную надпись (штамп). Читайте дальше
    3 points
  29. Для упорядоченного расположения копий объектов на чертеже в nanoCAD с модулем СПДС предложено несколько утилит: Создание массива (SPARRAY); Массив по области (SPARDARRAY); Раскладка плитки (SPPLTARRAY); Создание пользовательской штриховки (SPHPATTERN). Рассмотрим основные преимущества каждой из них. Читать дальше
    3 points
  30. Нередко возникают ситуации, когда в чертеже нужно найти и заменить то или иное слово. В nanoCAD с модулем СПДС для решения такой задачи предусмотрена утилита Найти и заменить (SPFIND, FIND, ПОИСК). Этот инструмент используется для поиска и замены строковых значений в объектах чертежа. В ленточном интерфейсе команду можно найти во вкладке СПДС → Утилиты → Найти и заменить (рис. 1). В классическом к ней ведет такой же путь. Рабочее сочетание клавиш для этой команды: Ctrl+F. Читать дальше
    3 points
  31. Дополнительные средства nanoCAD – это инструменты, подобные самым популярным и востребованным инструментам Express Tools, реализованным в составе зарубежного аналога. Отличительной особенностью этих утилит в nanoCAD является то, что они устанавливаются по умолчанию, тогда как пользователю зарубежного решения приходится контролировать их появление в интерфейсе программы при инсталляции. Набор дополнительных средств включает в себя 10 наиболее часто используемых утилит. Далее мы рассмотрим функционал каждой из них и приведем примеры работы. В классическом интерфейсе nanoCAD дополнительные средства расположены в меню Редактирование → Дополнительные средства (рис. 1). В ленточном они распределены по разным группам в зависимости от объектов, с которыми работает та или иная утилита. Узнать больше
    3 points
  32. <Каталог> Статьи. 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
  33. В данном видео рассмотрен пример автоматизации задачи пакетного пересохранения файлов dwg при помощи PRA системы Power Automate Еще один робот автоматической расстановки выносок по узлам полилинии. Для его использования потребуется включенная командная строка и панель свойств, предварительно выбранная полилиния, а также некоторая адаптация. Роботы синхронизируются с облачным хранилищем при входе в учетную запись. Чтобы делиться с другими пользователями, можно копировать через буфер текст скрипта. Ниже рекомендации по адаптации скрипта автоматической расстановки выносок. Видео со звуком. Ссылка на скрипт авторасстановки выносок Поток расстановки выносок.txt Ссылка на демонстрацию с примером использования RPA Uipath + nanoCAD.
    2 points
  34. Смотрю тут как народ пытается поясниловки в нанокаде писать, опросники и прочее текстовое... Имха все от того, что нужен один общий PDF для текста и графики.. простых решений навскидку вроде нет? есть PDFUnisci здесь https://github.com/Clouz/PDFUnisci/releases собранная утилита тут исходники https://github.com/Clouz/PDFUnisci алгоритм прост... собрать/разобрать PDF на листы или собрать PDF из JPG Установить утилиту Собрать Разбить Уважаемый Clouz (Claudio Mola) в readme все подробно описал, но если кто не понял или не получилось.. спрашивайте
    2 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
    2 points
  36. Условия содержит не содержит в окне быстрого выбора.mp4
    2 points
  37. Удаление слоя с перемещением объектов нв другой слой.mp4
    2 points
  38. Отключение префикса в названии слоев.mp4
    2 points
  39. <Каталог> <nanoCAD. Программирование и автоматизация> (Перевод стаей о типах LISP из Справки к AutoCAD 2015 и дополнительная информация специфичная для nanoCAD) Integer AutoCAD 2015. LISP. About Integers Integer - это целые числа, которые не содержат десятичной точки. Для хранения целых чисел используется 32 бита. 31 бит используется для хранения числа а один бит для хранения знака числа. Диапазон целых чисел в целом находится в пределах +/- 2^31 или (от - 2 147 483 648 до 2 147 483 647). Как утверждается в Справке к AutoLISP AutoCAD 2015, в некоторых функциях значения Integer интерпретируются как 16-битные чиста в пределах от - 32 678 до 32 677. Однако, практика показывает, что на данный момент не всё так однозначно. Например, если в nanoCAD выполнить присвоение переменной числа 2 147 483 647, то вместо ожидаемого максимально возможного целого числа, получим действительное число (REAL). А, при последующем добавлении к нему единицы значение данного действительного числа будет увеличиваться в положительную сторону. При этом, если мы инициируем переменную значением 2 147 483 646, то получим правильную верхнюю границу INT в 2 147 483 647 и переход к отрицательным значениям при последующем прибавлении 1 (единицы). Но, если мы инициируем переменную не числом 2 147 483 647, а выражением (setq xInt (- (expt 2 31) 1)), что, казалось бы, должно привести к аналогичному результату, результат получим совершенно другой. Более того, оказывается, что в AutoCAD 2015 и в nanoCAD 20.1 "граница" между INT и REAL в случае выполнения вышеупомянутых арифметических операций и оценке типа переменной при помощи функции type выглядит несколько по разному. AutoCAD: nanoCAD: Предполагается, что, в случае превышения результата арифметических операций над INT, результат автоматически приводится к REAL. Однако, практика показывает, что это не всегда верно. Рассмотрим две операции сложения и умножения вида: 1) 384 758 647 * 12 = 4 617 103 764 2) 384 758 647 + 4 232 345 117 = 4 617 103 764 Предполагается, что операции будут эквивалентными, но в действительности получаем: Резюме. Для корректной работы с целыми числами необходимо быть полностью уверенным, что их значения не выйдут за границы целочисленных значений LISP. Если есть сомнения, то лучше использовать действительные (REAL) числа, осознано преобразовывая их обратно к целочисленным значениям, в случае использования функций, работающих только с INT. Да, это трудоёмко и не всегда удобно, однако, позволит избежать непредсказуемых ошибок преобразования типов, как описанных выше, так и не описанных. Real AutoCAD 2015. LISP. About Reals REAL - это действительные числа с десятичной точкой. Числа в диапазоне от -1 до 1 могут содержать 0 (ноль) слева от десятичной точки. Значения REAL занимают 64 бита и соответствуют типу double в Си. Границы допустимых значений типа REAL примерно от 4.94 x 10-324 до 1.79 x 10308. При выходе за эти границы, будет получено значение "Infinity" (бесконечность) или 0.0 (ноль). Поскольку представленные десятичные числа имеют одинарную точность, то Машинный эпсилон (наименьшее положительное число) ε, при котором не распознаются два числа a и b: 1 < a/b < 1+ε, ε ≈ 5,96 x 10-8. Похоже, что Мантисса действительного числа состоит из 7 знаков, включая десятичную точку. И не просто состоит, но записывается в память именно с такой точностью. Поскольку в AutoLISP как AutoCAD, так и nanoCAD отсутствуют функции округления из Common LISP, типа round или trancate, прикладываю файл с функциями от Lee Mac. http://www.lee-mac.com/round.html LM_round.lsp Что нужно знать про арифметику с плавающей запятой List AutoCAD 2015. LISP. About Lists AutoCAD 2015. LISP. About Point Lists AutoCAD 2015. LISP. About Dotted Pairs List - это базовый тип LISP, представляющий собой Списки атомарных элементов и других списков. Функции, используемые для получения доступа к элементам списков: Для получения доступа к координатам 2D и 3D точек в точечных списках рекомендуется обращаться не через функцию nth, а через функции: car - для доступа к первой координате, cadr - для доступа ко второй координате и caddr - для доступа к третьей координате. Функции car и cdr могут последовательно комбинироваться и обеспечивать доступ к атомарным элементам и вложенным спискам иерархического списочного дерева до 4-го уровня вложенности. car, cdr .... cddddr About Entity Context and Coordinate Transform Data Обсуждение на форуме. 2020-10-14 LISP в nanoCAD 20.1 https://forum.nanocad.ru/index.php?/topic/11617-lisp-v-nanocad-201/&tab=comments#comment-74317
    2 points
  40. Также обновлять поля можно при помощи кнопки регенерации в правом нижем углу окна nanoCAD. Пользовательские свойства в комплекте документации.mp4
    2 points
  41. Утилита Общ длин.mp4 Измерение графических притивов с помощью таблиц.mp4
    2 points
  42. Пакетная печать, списки листов для пакетной печати.mp4
    2 points
  43. Калькулятор и масштабирование.mp4
    2 points
  44. Ниже блок-схема, в которой описан пример алгоритма анализа между стройкой и моделью (за правильность блок-схемы не ручаюсь ), а далее по 1-ому пункту видео с демонстрацией работы облака точек. Сравнение облако точек.mp4
    2 points
  45. <Каталог> Bentley. Bentley Product Documentation - https://docs.bentley.com/LiveContent/index.html MDE Database. Connecting to MS Access Database from MicroStation Connect - https://communities.bentley.com/products/microstation/w/microstation__wiki/46186/connecting-to-ms-access-database-from-microstation-connect Microsoft Access WiKi - https://en.wikipedia.org/wiki/Microsoft_Access Import Access 2.0 and Access 95 databases into current versions - https://support.microsoft.com/en-us/office/import-access-2-0-and-access-95-databases-into-current-versions-2e9d8851-101d-4407-a881-65d06bb12aa7 Converting a Microsoft Access Database to an MDE File - http://www.databasedev.co.uk/microsoft-access-mde.html -------------------------------------------------- TerraSolid. Статьи: https://lidar.asia/tag/terrascan/ 2016-03-14 Terrasolid TerraScan. Часть первая. Версии. - https://lidar.asia/laserscanning/terrasolid-terrascan-chast-pervaya/ Spatix User Guide, ver 17.04.2020 - http://www.terrasolid.com/guides/spatix/index.html 2016-06-24 Which file formats are recommended for processing point clouds in TerraScan? - https://support.geocue.com/file-formats-recommended-processing-point-clouds-terrascan/ 2016-11-09 TerraScan Trajectories - https://support.geocue.com/terrascan-trajectories/ 2019-02-20 TerraScan Supported Point File Formats - https://support.geocue.com/terrascan-supported-point-file-formats/ -------------------------------------------------- ГИСвер Интегро. - https://gisw.ru/ru/spatix Программные продукты компании TerraSolid - https://gisw.ru/ru/distribution/Terrasolid -------------------------------------------------- Статьи: 2016-09-08 Программирование. Этот заковыристый TIN. - https://lidar.asia/laserscanning/programmirovanie-etot-zakovyristyj-tin/ 2017 Программы для обработки данных лазерного сканирования местности + перечень используемой литературы САПР и ГИС автомобильных дорог, 2017 № 2(9) - http://www.cadgis.ru/2017/9/02 2018-01-17 Microstation VBA и TarraScan - https://lidar.asia/laserscanning/microstation-vba-i-terrascan/ Visual Studio и Microstation Development - http://www.la-solutions.co.uk/content/CONNECT/MicroStationAPI/VizStudio.htm Видео: YouDays - https://www.youtube.com/channel/UC2bTDCZ3k_qH1dgknP3Ms9A Юля инженер - https://www.youtube.com/channel/UC-znzl77pjQ0imwTDqu0Fxg Sample LAS Data: www.esna.edu - https://www.usna.edu/Users/oceano/pguth/md_help/rabat_courses/geology_lidar_sampler_lab.html
    2 points
  46. <Каталог> Планета Excel. Готовые решения - https://www.planetaexcel.ru https://www.youtube.com/user/planetaexcel/videos Архив публикаций Андрея Колесова и Ольги Павловой по теме "Программирование в среде Microsoft Visual Basic — это вполне доступно" (1996-2002 гг.) - https://www.basic.visual2000.ru/develop/ms-vb/index.htm
    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...