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

Ivanco

Дилеры
  • Публикаций

    378
  • Зарегистрирован

  • Посещение

  • Победитель дней

    32

Весь контент Ivanco

  1. можно попробовать перерегистрировать COM модель nanoCAD-а, с командной строки Windows: ncad.exe /register. C:\Program Files\Nanosoft\nanoCAD x64 Plus 20.1>ncad.exe /register C:\Program Files\Nanosoft\nanoCAD x64 Plus 20.1>ncads.exe /register после этого, из Excel у меня заработало Set app = GetObject("", "nanoCADx64.Application") 'подключаемся к nanoCAD СПДС 20.1 x64
  2. Всем привет. собственно вопрос в теме. ПО nanoCAD СПДС 20. каждый дабл клик по dwg запускает новую сессию nanoCAD, а хочется чтобы открывалось в текущей. Пробовал: - явно ассоциировать Dwg и nanoCAD через "открыть с помощью" и указывал на .exe. - SDI (системная переменная) равно "0" еще идеи?
  3. Это конфигурация параметров печати получается. через интерфейс же меняется PSTYLEMODE если изменить в диспетчере печати. возможно стоит поковырять класс PlotSettings или что то смежное с ним , посмотреть есть ли программно доступ к этому свойству.
  4. язык разработки какой? Пример на .net по идее должен работать(не проверял, но в справке по API методы есть). // get the current value from a system variable int pltStyle = System.Convert.ToInt32(Application.GetSystemVariable("PSTYLEMODE")); // do something // set system var to new Application.SetSystemVariable("PSTYLEMODE", 0);
  5. да так скорее всего правильней. в моем коде объект db насколько понимаю просто уберется GC 'ом в конце. насколько понимаю этих IFC 10 штук разных еще, с IFC толком не ковырялся пока.
  6. насколько я понимаю использование using , Dispose() должен сам вызываться по умолчанию. или не? хотя во многих примерах кода по акад, Dispose() используется явно. Цитата с доков: Использование инструкции using обеспечивает вызов Dispose (или DisposeAsync), даже если в блоке using возникает исключение. https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/using-statement
  7. да спасибо за изначальную подсказку, в принципе скорость приемлимая. некая свалка из 500 dwg обрабатывалась 14 минут. мне примерно такое надо :
  8. перебор файлов через конкретный CAD связан с кучей накладных проблем (открытие, отрисовка графики, че то пошло не так и т.д. и т.п.) и блин долго. dxf как бэ - фиг знает что там пропало по пути из dwg. а вот библиотеки ODA (понятно что они платные и я их не куплю) они позволяют организовать некий без интерфейсный доступ к файлу на уровне прямых запросов к DWG как к БД? или все ж таки файл по факту будет прочитан весь(читай открыт) и на это уйдет основное время?
  9. Вопрос "за 1000") Как МАКСИМАЛЬНО БЫСТРО читать информацию с dwg? условно. есть 5000 чертежей dwg. надо прочитать кол-во блоков в каждом из них. какие подходы вообщем применимы для такой задачи? не обязательно в рамках nanoCAD а вообще. операции только на чтение. понятно что можно открывать в CAD и читать через API информацию - но это капец долго. также интересно для формата IFC.
  10. Exspress Tools нет. написать свой .lin и .shp в текстовом редакторе - это не сложно. гуглить что нибудь типа "lin format autocad"
  11. Ivanco

    CAD. DXF

    с этих километровых талмутов по DXF толку в некоторых ситуациях ноль. если надо сформировать DXF из внешних данных, можно вообще без CAD обойтись. вот либа на python лично юзал, мне хватило. https://ezdxf.mozman.at/docs/index.html
  12. про таблицы. "таблица DWG" - это та сущность которая соответствует спецификации dwg от ODA. на библиотеках от ODA основывается работа с DWG в nanoCAD (как впрочем и других САПР разработчиков, исключая Autodesk). библиотеки ODA это в свою очередь копия/реверс инжиниринг/собственная похожая разработка(называете как хотите) - dwg формата от Autodesk. возращаясь к таблицам: "таблица в DWG " в нанокад == таблица в AutoCAD. Ну или скорее всего равно, если быть точным. "таблица nanoCAD" - это таблицы которые изначально появились и использовались в СПДС Графикс. Они не основаны на спецификации
  13. - nanoCAD 5.1 это бесплатная версия которая не обновлялась лет этак 6. - nanoCAD 20 это современная платформа. чтобы сложилось впечатление о nanoCAD сегодняшнего дня надо смотреть ее. и да конечно она платная. все модули в т.ч. 3D моделирования опциональны и не обязательны к приобретению/использованию.
  14. есть некий проект "pusk". там форма с одной кнопкой, которая по клику создает экземпляр класса из другого проекта и вызывает его метод. в чем смысл такой архитектуры проекта? у метода Template1() есть атрибут, который определяет с помощью какой команды будет вызван метод. [CommandMethod("HelloHost_Example1")]
  15. проект тогда выложите что-ль, если не секретная разработка. что по скринам гадать. или соберите и отладьте проект сперва без Forms.
  16. VisualStudio-->Solution Explorer--->References--> AddReferences у импортированной .dll в свойствах ставим "CopyLocal" - False. и скорее всего это есть в сравке по nanoSDK.
  17. я сейчас подобные кейсы решаю на RPA. c окнами но скриптом. так тоже бывает. https://www.youtube.com/watch?v=wU16fhQdfNw либо разбирайтесь с .net/multicad api - оно самое развитое пожалуй. P.S. ну и конечно "ThisDrawing.SendCommand" - это стоит использовать только тогда , когда в API нет прямого вызова нужно функции.
  18. расстановка блоков по вершинам есть, нумерация в атрибут - такого нет. таблицу с координатами блоков , проще думаю сделать штатно отчетами. в чем именно заключается конфликт?
  19. а можете всю цепочку действий озвучить? и в чем смысл "нумерации" именно блоками с атрибутом, а не просто текстом? еще. по видео не совсем понятно. используется какой то скрипт который в каждую вершину вставляет блок с атрибутом (номер вершины)? что за скрипт? м.б. эту функциональность добавить в приложение? запилить вывод координат базовой точки блоков в принципе не сложно. нумерацию? приложение на C#, отдельно что выносить не вижу смысла, но можно сделать отдельную консольную команду для вызова "нумерации" без менюшки с формой, если в этом есть какая то необходи
  20. нумерация вершин в скрипте есть. нужно именно чтобы это были блоки с атрибутом? есть еще пожелания по использованию плагина?
  21. сделать можно через использование полей в nanoCAD. запихать значения в поля - можно либо из свойств чертежа либо из внешних источников БД,Excel или еще чего то. подобные готовые механизмы , есть в системах инженерного документооборота. (VitroCAD, Pilot-Ice и т.д.). Либо можно разработать свое приложение которое бы переписывало значения полей (или строк в форматках) в .dwg. возможно есть какие то скрипты, которые делают что то подобное, я не искал. В целом с помощью API проблема думаю решаема, но без программирования наврядли обойтись можно.
  22. ТС прислал файлы - выкладываю. но они в .cdw т.е. из Компаса. Задачу ТС также немного пояснил в переписке, но ..будет время (если вдруг), попробую сформулировать корректное описание.(пока с этим проблема). p.s. сконвертите в .dwg у кого если есть возможность. Файлы_от ТС.zip
×
×
  • Создать...