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

Ivanco

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

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

  • Посещение

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

    32

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

  1. Понадобилось реанимировать свое старое приложение для работы с полилиниями в nanoCAD. Публикую может кому пригодиться. Написано на C#/MultiCAD. Исходники на GitHub, поставляется "как есть". Работоспособность проверена под NC2021. Готовая к использованию .dll ка PLL_APP_v05.dll Описание возможностей: По выбранной полилинии: создает таблицу с координатами вершин чертежа. Таблица в двух формах обычная и по "кадастровой форме". Плюс экспорт в CSV. Учитывается точность координат, есть возможность учитывать/не учитывать UCS и менять местами X/Y. Нумерация ве
  2. посмотрел код. Диагноз - "...все переделать". переписать надо по хорошему.. и сходу не понял "сохранить все листы в отдельные файлы" как это работает и что значит. в исходной ссылке из на CADUSER говориться о том, что автор пытается "пересохранить этот файл в отдельные файлы с одним Листом в каждом файле", т.е. подразумевается то должен быть код, который меняет кол-во листов как минимум. при этом в коде, как то не видно чтобы вообще что делали с листами в принципе. вообщем, по моему скромному мнению, это не тот который следует "адаптировать", если он вообще работал.
  3. а отладчик чего говорит? Всякие дела с путями, если писать по хорошему, так как ниже колхозить не нужно. dwgNewFullPath = dwgPath + "\\" + dwgNameWoExt + "_[" + acLayout.LayoutName + "]_.dwg"; db.SaveAs(dwgNewFullPath.Replace("\\", "\\\\"), DwgVersion.AC1021); используйте System.IO.Path и статические методы Combine и IsPathFullyQualified
  4. Mleader - это Teiga. забыл что так тоже можно) - т.е. это условно "автокадовская" выноска. гуглить "autocad get block attributes С#" если справка по нанокаду не понятна. просто копипастим код с форумов по акаду для Teigа коду будет почти аналогичный.
  5. не понимать. насколько помню в платформе и не было реализации "своих" выносок. все виды выносок изначально от СПДС прикручены. есть какие то "платформенные" выноски? про таблицы - изначально все таблицы в платформе от СПДС. года 3 назад появились таблицы "а-ля платформы". доступ из MultiCAD к СПДС ным таблицам есть очень давно. я какие то приложения, ну лет 5 назад с таблицами Multicad писал точно. а вот и статья. от Нанософт. вообще кроме McNote класса в MultiCAD есть еще классы для работы с выносками, например: Гребенчатая выноска- McNoteComb.
  6. объект СПДС который есть в "голой" платформе. в MultiCAD API (С#) есть класс McNote - умеет все дела с выносками. скорее всего и на VB.NET можно
  7. Всем доброго времени. Возможно ли работать с объектами СПДС программно на (.NET)? Суть задачи примерно следующая: необходимо скриптом рулить размерами СПДС объектов. т.е. условно есть квадратик в виде объектам СПДС с параметрами "а" и "d" (длинна,ширина). Сами параметры прилетают со стороны(excel) и надо сделать n копий объекта и в каждый индивиуально впихать значения параметров. p.s. если кто такое делал, отдельное спасибо за минимальный пример кода.
  8. честно -нет. перечитал переписку в т.ч. в почте. формализация задачи пока нулевая как я понял. если хотите решение: 1. формализуйте задачу сами, тех терминами, без эмоций о проверяющих органах (или заплатите человеку чтобы он сделал ТЗ на разработку). 2. найдите разработчика за деньги (фриланс, чаты в телеге, площадок много, может тут кто возьмется). если задача формализуема и имеет так сказать машинную логику, скорее всего она решаема тем или иным способом.
  9. затея мягко сказать сомнительная на мой взгляд. палитры они на то и палитры чтобы пользователь на них нажимал, а вызывалась нужная команда/набор/скрипт и т.д. т.е. это просто удобная компоновка ИМЕЮЩИХСЯ инструментов. если не работает какой то lisp, не понятно чем тут может помочь клик по палитре. Варианты решения скорее такие: понять почему lisp не работает и попробовать найти обходной путь. также можно создать заявку в клубе разработчиков на доработку Lisp Api использовать Lisp-command (как указали выше) пробовать SCR сценарии (пакетное выполнение команд) и
  10. почему именно "с палитры"? по факту ведь в самой палитре не хранится то что нужно ,а только ссылка на блок/скрипт/инструмент.
  11. ранее тоже что то подобное делал, скрипты и обсуждение тут
  12. можно попробовать перерегистрировать 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
  13. Всем привет. собственно вопрос в теме. ПО nanoCAD СПДС 20. каждый дабл клик по dwg запускает новую сессию nanoCAD, а хочется чтобы открывалось в текущей. Пробовал: - явно ассоциировать Dwg и nanoCAD через "открыть с помощью" и указывал на .exe. - SDI (системная переменная) равно "0" еще идеи?
  14. Это конфигурация параметров печати получается. через интерфейс же меняется PSTYLEMODE если изменить в диспетчере печати. возможно стоит поковырять класс PlotSettings или что то смежное с ним , посмотреть есть ли программно доступ к этому свойству.
  15. язык разработки какой? Пример на .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);
  16. да так скорее всего правильней. в моем коде объект db насколько понимаю просто уберется GC 'ом в конце. насколько понимаю этих IFC 10 штук разных еще, с IFC толком не ковырялся пока.
  17. насколько я понимаю использование using , Dispose() должен сам вызываться по умолчанию. или не? хотя во многих примерах кода по акад, Dispose() используется явно. Цитата с доков: Использование инструкции using обеспечивает вызов Dispose (или DisposeAsync), даже если в блоке using возникает исключение. https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/using-statement
  18. да спасибо за изначальную подсказку, в принципе скорость приемлимая. некая свалка из 500 dwg обрабатывалась 14 минут. мне примерно такое надо :
  19. перебор файлов через конкретный CAD связан с кучей накладных проблем (открытие, отрисовка графики, че то пошло не так и т.д. и т.п.) и блин долго. dxf как бэ - фиг знает что там пропало по пути из dwg. а вот библиотеки ODA (понятно что они платные и я их не куплю) они позволяют организовать некий без интерфейсный доступ к файлу на уровне прямых запросов к DWG как к БД? или все ж таки файл по факту будет прочитан весь(читай открыт) и на это уйдет основное время?
  20. Вопрос "за 1000") Как МАКСИМАЛЬНО БЫСТРО читать информацию с dwg? условно. есть 5000 чертежей dwg. надо прочитать кол-во блоков в каждом из них. какие подходы вообщем применимы для такой задачи? не обязательно в рамках nanoCAD а вообще. операции только на чтение. понятно что можно открывать в CAD и читать через API информацию - но это капец долго. также интересно для формата IFC.
  21. Exspress Tools нет. написать свой .lin и .shp в текстовом редакторе - это не сложно. гуглить что нибудь типа "lin format autocad"
  22. Ivanco

    CAD. DXF

    с этих километровых талмутов по DXF толку в некоторых ситуациях ноль. если надо сформировать DXF из внешних данных, можно вообще без CAD обойтись. вот либа на python лично юзал, мне хватило. https://ezdxf.mozman.at/docs/index.html
×
×
  • Создать...