-
Posts
454 -
Joined
-
Last visited
-
Days Won
37
Content Type
Profiles
Forums
Downloads
Blogs
Everything posted by Ivanco
-
Изначально вопрос чтения, ком.строки был озвучен в клубе разработчиков nanoCAD. Публикую свое решение здесь - может кому то пригодится. надеюсь что нет). Собственно проблема - в nanoCAD API отсутствует возможность чтения истории командной строки. Вообще взаимодействовать с ком.строкой конечно возможно. Отправка комманд/сообщений, в т.ч. с опциями и т.д. Но читать текст, который туда вывели, другие команды/приложения через API нельзя. Путь решения был предложен там же (не мной). и заключается в использовании WinAPI и дескрипторов окон (HWND). древне/костыльный подход, но интересно же. т.е. можно попробывать использовать вызовы WinAPI в C# на практике, плюс научиться с помощью Spy++ (утлита в составе Visual Studio), смотреть как UI nanoCAD видит операционная система. как результат - приложен код решения, который выводит текст из ком.строки nanoCAD в консоль. CmdNanocadToConsole.cs
-
Добрый день. загрузка в чертеж растров *.bmp по координатам описанным *.tab - интресует этот функционал для nanoCAD Plus 2023 (БЕЗ других "нано" модулей!). в интернетах видел как минимум "Растр.NET" (непонятно есть ли плагин на 2023 написал им) , NeoPlan (описание не понятное , написал им), и некий кто чем пользуется? может есть еще плагины для решения этой задачи?
-
в Release что стоит в target platform? поставьте Any или x64 должно работать. p.s. код и его организация - требуют переработки..
- 26 comments
-
- c#
- multicad.net
-
(and 1 more)
Tagged with:
-
@Svetlana пробовали использовать скрипт? напишите обратную связь какую то..
-
а впрочем ладно, уже "закопался" в задачку. допустив допущения - реализовал скрипт "как вижу".
-
Инструмент для создания условно "кадастрового отчета". По мотивам ветки форума- "создание таблицы nanoCAD" Команда вызова - LandPlotReport Код на GitHub #### Рабочие файлы: LandPlotReports_v1.0.0.zip ### Назначение: Создание табличного отчета для границы кадастровых участков(полилиния). #### Логика работы: 1. Пользователь указазывает границу/полилинию для обработки. 2. Для каждой вершины скрипт находит текст/описание точки (по совпадению координат). 3. Находятся все кадастровые участки(блоки) по определенному свойству. (жестко прописано в коде). 4. Для каждой точки границы, производится поиск совпадающих точек кадастровых участков. (по полилиниям внутри блока, по точному совпадению координат). 5. Строится отчет/таблица для пользователя. #### Важно: 1. Берется только первый текст/описание для каждой вершины. 2. Блоки кадастровых участков должны содержать свойство/описание поиска. Поставляется "как есть". #### Пример:
-
- 4
-
-
-
- кадастр землеустройство
- таблица
-
(and 1 more)
Tagged with:
-
@Svetlana вот эта задача/работа по составлению таблицы. с какой периодичность и сколько занимает составление таблиц? или это разовая задача?
-
если это "точки вставки текстов стоят точно по вершинам полилиний" допущение принять, какая еще "но" ? скорость работы если перебор "в лоб" ?
-
такое действительно только скриптами. единственно текст возле точки полилинии надо как то искать. а так выглядит реализуемо.
-
1. для указанной полилинии. -- для каждой точки полилинии находим ближайший текст - это "номер точки". (не совпадает с фактической нумерацией точек в полинии). -- создаем соответствие номер точки(фактический) - номер точки из текста. 2. берем все блоки из чертежа с атрибутом "кадастровый номер" -- с каждого блока вытаскиваем все полинии - и координаты точек их составляющих. -- сопоставляем каждую точку(координаты) исходной (выбранной пользователем полилинии) -- если соответствие найдено (может быть несколько совпадений) (п.3), нет пропускаем. 3. заносим строку в таблицу вида : номер точки(исходной) - атрибут(ы) блока в котором нашлось совпадение точек. итоговая таблица должна быть отсортирована от большего к меньшему по "номер точки". такая логика?
-
а откуда это соответствие берется (в терминах dwg) ? приложите dwg. указав как выглядит исходные данные и там же сделайте итоговую таблицу. пример должен быть минимально необходимый .
-
Создание СПДС объектов в пространстве модели по таблице Excel.
Ivanco commented on Ivanco's blog entry in cad admin notes
взять. переиначить. знание C#, и nanoCAD API. ну и nanoСПДС, исходя из задачи. написано да, частью на Multicad. -
Создание СПДС объектов в пространстве модели по таблице Excel.
Ivanco commented on Ivanco's blog entry in cad admin notes
данные в этой задаче (координаты) появлялись извне - поэтому Excel. заказчик так задачу ставил. можно из таблицы брать. -
Однократная вставка объекта из базы
Ivanco replied to doctorraz's topic in Технические вопросы и обсуждение функционала
на MultiCAD/C# вроде изи. тут есть про вставку объектов. -
если СПДС как модуль то пишет "Платформа nanoCAD" ? ТС надо, устроит ли ее предложенное выше.
-
все проще. можно просто получить название главного окна приложения. (vl-load-com) (vla-get-caption (vlax-get-acad-object)) результаты вывода: ""Платформа nanoCAD x64 23 - не для коммерческого использования Без имени0*" "СПДС 23 - не для коммерческого использования Без имени0*" "Механика 23 - не для коммерческого использования Без имени0*"
-
а на имя процесса в OC нельзя оперется ? незнаю как на LISP на C# наверняка можно определить, откуда пытается выполнится код. вроде некоторые процессы нано имеют разное имя. по крайней мере у себя вижу такое. попробовал катануть код отсюда (последнее сообщение) в акаде, сработало. в нано нет. судя по коду (с LISP я плохо) , там процесс по имени вытаскивается и удаляется. т.е. программно список процессов на LISP получить можно (по крайней мере в Acad). осталось найти LISP определеляющий имя текущего процесса из которого пытаемся запуститься или его PID. это при условии что "если запущено несколько нано процессов, определить из которого выполняемся". а если нано процесс по умолчанию один(но может быть не верный), надо код выше адаптировать.
-
ваш код или моя dll? даже если ваш, пришлите пример в dwg (можно в личку или сюда). катану свой скрипт на ваших данных(которые долго отрабатывают), отпишу результат. нет. API как и nanoCAD развивается. шо там было в Ncad 5 доподлинно не известно. возможно сейчас это уже есть.
-
Инструмент для объединения nanocad(СПДС) таблиц. Написано на C#/MultiCAD. Работоспособность проверена под NC2022. Готова к использованию dll - NcadSpdsTable_APP.dll Команда для запуска - WorkWithSpdsTable GitHub - https://github.com/Ivanco21/NcadSpdsTable_APP Описание возможностей: объединение таблиц вертикально объединение таблиц горизонтально умеет образать шапку при объединении в случае если разное кол-во столбцов/строк - добавляет пустые, для корректного объединения. P.S. - На сложных таблицах не тестировал. - Порядок объединения, если кому то нужен(в порядке выбора, или по координатам) - нужно реализовывать - пишите. Вертикально: Горизонтально:
- 6 comments
-
- 4
-
-
-
- спдс
- multicad.net
-
(and 1 more)
Tagged with:
-
нет. очень старая версия. оно там и работать вероятно не будет, т.к. используются multicad библиотеки. работать будет только с СПДС модулем. технически - вероятно "да". но там multicad библиотеки, да и зачем. практически - если кому то это нужно, он может взять мой код и переписать. (ссылка ниже). сейчас написано на C#. если вопрос в этой утилите , "копать" надо в сторону в этого репозитория на Github. если вы все еще про ncad 5 - по этой версии, тут помощь врядли найдется. если есть вопросы к работе APP по объединению таблиц - пишите в чем проблема, с примерами в dwg.
-
этим господам из РГИС СПб, по хорошему бы самим озаботится совместимостью с nano.. ну или как минимум ТС нужно поинтересоваться у них, как собственно генерить их формат(верно я понимаю?) средствами nano. судя по видео на том же сайте выше ↑ приложение там не маленькое. и "хопа и всем форумом подпилили по быстрому" может не случиться.
-
Создание СПДС объектов в пространстве модели по таблице Excel.
Ivanco posted a blog entry in cad admin notes
### Назначение: Создание СПДС объектов в пространстве модели по таблице 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. часть парметров объекта "вид" и "имплементация" жестко прописана в коде. Поставляется "как есть". #### Пример: -
Список вершин полилинии в таблицу(программно).
Ivanco replied to Ivanco's topic in Полезные дополнения
скорректировал. изначальная длинна полки все равно жестко задана, но сейчас она масштабируется. попробуйте вообщем, отпишитесь удобно ли. новую версию прикрепил. PLL_APP.dll -
Список вершин полилинии в таблицу(программно).
Ivanco replied to Ivanco's topic in Полезные дополнения
банально не сделано. инструмент делался под одного человека(и это не я) - что ему нужно было , то и реализовано. если есть код(C#) под рукой - скинте пожалуйста. впилю, как нибудь.