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

Ivanco

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

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

  • Посещение

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

    32

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

  1. добрый день. подскажите как в ОПС сделать чтобы можно было вставлять форматку A3 в книжном виде? это вообще возможно? сейчас такой форматки нет по дефолту. Вероятно надо начинать остюда ? C:\ProgramData\Nanosoft\nanoCAD ОПС x64 10.0\Frames
  2. Это разные API, хотя много в чем пересекаются. MultiCAD более высокоуроневое API как я понимаю. на нем быстрее писать , некоторые задачи. MultiCAD: - mapimgd.dll, - mapibasetypes.dll Teiga: - hostmgd.dll - hostdbmgd.dll может это будет полезным комментарием. _https://habr.com/ru/company/nanosoft/blog/184482/#comment_6468390 P.S. Кто бы написал статью про API , чего там откуда наследуюется и чего под капотом и какие API есть в nanoCAD и чем они отличаются. сходу действительно не очень то понятно.
  3. Направления такие, практически не пробовал. 1. .getAttribute("value").Text 2. XPATH 3. VBA шный Split строки , с пробелом в качестве разделителя.
  4. градиентные заливки есть ? скорее всего в них проблема. незнаю починили ли это в 11 версии.
  5. я поддержу вопрос. ксати.вместо кнопки "полезные утилиты" которая ведет на сюда на форум, сделали бы какой нибудь"Express Tools" от разных разработчиков, кто свои небольшие утилиты пишет, с какими нибудь едиными правилами оформления (да все уже придумано у других вендоров, а-ля магазины дополнений). я бы пару инструментов выложил.
  6. диалог с самим собой), в "клуб разработчиков" впрочем тоже не отвечают конечно. Еще пара вопросов: 1. нормально ли использовать чистый .NET API и MultiCAD.NET ? в том плане , что это вообще нормальная практика "смешивать" разные API в разработке. 2. ну ладно я нашел Explode() в "чистом" .NET nanoCAD API и оно работает). но мне нужно кой чего из Multicad. как приводить объекты с одних типов к другим в данном случае? К примеру из : Teigha.DatabaseServices.Dbline ------->> Multicad.DatabaseServices.StandardObjects.DbLine; или обратно.
  7. вообщем решено было сперва пойти по простому пути и делать Explode() штриховки. штриховка создается добавляется в чертеж. теперь мне надо ее разбить и получить набор линий. но я что то неправильно делаю.. в чем ошибка? или вообще такое на MultiCAD не работает? в Teigha.NET API у Hatch вроде есть метод EXPLODE.. Hatch hatch = new Hatch(pl.Polyline, angle, spacing, false); DbGeometry dbhatch = new DbGeometry(); dbhatch.Geometry = new EntityGeometry(hatch);// это ерунда? не совсем понимаю что тут происходит. dbhatch.DbEntity.AddToCurrentDocument(); List<EntityGeometry> lns = new List<EntityGeometry>(); lns = dbhatch.DbEntity.Explode();// почему тут не работает? foreach (EntityGeometry ln in lns) { DbGeometry lnDb = new DbGeometry(); lnDb.Geometry = ln; lnDb.DbEntity.AddToCurrentDocument(); }
  8. вот это я и не могу геометрически/алгоритмически собразить)
  9. вообщем если штриховкой делать, нужны возможности: - выставить базовую точку внутри основного контура программно - программно задать расстояния между штрихами (я так понямаю это в .PAT где то прописано и множиться на масштаб ? как это считать с .pat? или использовать свой .pat?) - угол задать программно (начальный опять же вероятно в .pat записан, его надо считать или как..) - потом штриховку разбить (это вроде не проблема) - получить в итоге набор отрезков , программно в виде массива. Вроде задача выглядит решаемой , если все что выше можно сделать в API на .NET
  10. Результат приложил. Поллиния обязательно закрытая - это проверяется на входе в скрипт. Штриховка не подходит (вроде как), т.к. я не могу задать отступ начальный от некого "края"(к примеру самой "левого").
  11. Всем привет. Задача такая: есть плоская полилиния произвольной сложности. Ее нужно "заштриховать" отрезками с указанным юзером интервалом и углом от XY. Чето я алгоритмически не могу сообразить, как это сделать?) Вероятно, для простоты надо "заштриховать" некий limiting box вокруг полилинии, а потом как то обрезать не нужное?
  12. работает. Команда: 3DPOLY НО. надо в Notepad сделать объединение строк. Т.е. логика такая: -Ctrl+A (Notepad) -Правка -> Объединить строки (Ctrl+J)(Notepad) - Ctrl+A(Notepad) -Команда: 3DPOLY(nanoCAD) - Ctrl+V(nanoCAD) - Enter(nanoCAD) -Enter(nanoCAD) С Вашего файла отработало
  13. это ладно. а можно использовать наследование от DbPolyline (точно не помню класс, чтобы объект работал как полилиния) и навешать своей логики (свойства, чтобы их видно было) на C#, или все же однозначно это реализуемо только на C++ API (если вообще реализуемо)?
  14. эм...не понял что имеется ввиду под "ось Z".объекты MultiCAD по Z не работают?
  15. А как разработчики СПДС объектов свои свойства показывают? это на C++ написано или можно такие объекты на MultiCAD сделать? см. скрины. на скрине "lenght" использовалось .ARX приложение (но это не на примитив "навешано" , но тоже нужно) , в nanoCAD API так можно сделать?
  16. Добрый день. Необходимо, на полилинии навешать свойств, а именно: - это участок? :true/false. - длинна полилинии: long - номер полилинии: int Вопросы(я знаю что это вероятно есть в гугле и справке, но все же): 1. Куда это лучше "пихать" ? XDATA? (минимальный код на C#/multiCAD). 2. Возможно ли эти свойства отображать в панели свойств nanoCAD и чтобы юзер их мог менять? Если ДА то круто было бы увидеть пример. и бонус вопрос. Как реализовывается глобальный счетчик чего либо в .DWG . Логика такая. я навешиваю скриптом свойства на примитив и где то (в этом и вопрос) есть глобальный счетчик , который знает сколько уже таких объектов в .DWG и добавляет +1. Как это правильно реализовывается, и где хранить информацию в .DWG?
  17. Базы УГО можно вероятно "выковырять" с ОПС и добавить в виде объектов СПДС. навешать свойства. незнаю как это с точки зрения "лицензионности" брать готовые элементы и использовать в другом ПО. Самое важное что Вам , как мне кажется, нужно понять - чего Вы хотите добиться? СПДС не будет работать как ОПС если Вы туда что то "запихаете".
  18. я знаю только сурово/хардкорные способы: - сброс настроек - переустановить нано - найти (вероятно где то реестре) кэш размеров и положения окон..)
  19. в соотношении Ваша зарплата/время которое Вы потратили(и сколько могли сделать нужного которое умеете делать хорошо)/стоимость ПО указанного выше , какая то сомнительная экономия. культура аутсорсить узкопрофильные задачи к сожалению развита не везде. у вообще хорошо что сделали задачу ), в VBA маленько прокачались.
  20. здесь как бы форум совсем не про форум. литературы по общесистемному программированию, огромное кол-во в т.ч. в свободном доступе. так что чем могу, полезная ссылка ниже) _http://g.zeos.in/?q=Windows%20CE%20programming%20books
  21. чтобы ИЗМЕНИТЬ поведение команды, нужно действитльно знать исходный код. Т.е. это для ПО не возможно. однако, существует API, а в нем существует возможность , на определеные события/команды (например SAVE) "вешать" реакторы, т.е. набор действий происходящих при определенной команде. т.е. это не модификация команды (она отработает как есть) , а скорее ее дополнение , как в примере на LISP. что именно поставили рядом на виртуалке и ковыряйте хоть что. жестко что то сломать, это надо явно удалить какие нибудь файлы ПО или часть реестра, что в принципе решаемо переустановкой.Смелее вообщем))
  22. Если Вы таки активировали ПО то: 1. установить драйвер._https://www.wibu.com/ru/podderzhka/polzovatel/po-polzovatelja.html (см. раздел WibuKey Runtime for Windows). После установки драйвера перезагрузите ПК 2. проверить что все ОК и ключ определился. В Мастре регигистрации внизу будет видно галочку" привязаться ключу" 3. написать на support@nanocad.ru заявление на перенос лицензии. Если ПО не активировалось(т.е. не привязалалось к машине) - то надо сделать первые два пункта. А в целом , как обычно, нужно либо самому вникать в техпроцесс (активации лицензии в данном случае) и читать инструкцию, либо просить это делать людей которые понимают что происходит.
×
×
  • Создать...