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

ISL

Клуб разработчиков
  • Публикаций

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

  • Посещение

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

    4

ISL стал победителем дня 7 мая 2012

ISL имел наиболее популярный контент!

Репутация

9 Обычный

Информация о ISL

  • Звание
    Клуб разработчиков

Контакты

  • Сайт
    http://developer.nanocad.ru
  • ICQ
    0

Информация

  • Пол
    Мужчина
  • Город
    Москва
  • Интересы
    Разработка САПР
  1. > Но, я наивно полагал, что при "удалении из пользовательского интерфейса" вот такие сообщения уже не могут появится. Видимо ошибался. Это мы недоглядели. Поправим в следующей версии.
  2. В базовую комплектацию Plus входит часть модуля "Облака точек", не требующая отдельной лицензии. Сравните содержимое меню/ленты с включённой и отключённой галочкой, оно отличается.
  3. В настоящее время Model Studio CS выпущен только на nanoCAD Plus 8.5, а там только ACIS. Внутренние сборки Model Studio CS на платформе nanoCAD 10.x работают на любом из ядер.
  4. Model Studio CS на платформе nanoCAD требует наличия модуля "3D Моделирование". Так что модуль нужно будет закупить.
  5. llist(); echo("-------------------------"); // A4 -> A(4), это переименование работает for_each(ThisDrawing.Layouts, function (layout) { res = layout.Name.match(/(A)([0-9]+)/); if (res != null) layout.Name = res[1] + "(" + res[2] + ")"; }); llist(); echo("-------------------------"); // A(4) -> A_4_, а это переименование вызывает рассинхронизацию словаря листов и итератора по листам // for_each(ThisDrawing.Layouts, function (layout) { res = layout.Name.replace(/[\(\)]/gim, '_'); if (res != layout.Name) layout.Name = res; }); // поэтому, сперва запоминаем что будем переименовывать, а потом переименовываем var reps = []; for_each(ThisDrawing.Layouts, function (layout) { res = layout.Name.replace(/[\(\)]/gim, '_'); if (res != layout.Name) reps[layout.Name] = res; }); for (var n in reps) ThisDrawing.Layouts(n).Name = reps[n]; llist(); function llist() { for_each(ThisDrawing.Layouts, function (l) { echo(l.Name); }); } function for_each(col, fn) { for (var enu = new Enumerator(col) ; !enu.atEnd() ; enu.moveNext()) fn(enu.item()); } function echo(msg) {ThisDrawing.Utility.Prompt(msg);}
  6. Просто проход по всем листам без переименования даёт все листы? Или тоже через один?
  7. Кто ж спорит, нет предела совершенству, а копипаст -- зло, даже копипаст работающего кода.
  8. nanoCAD возвращает Variant, в котором массив Variant-ов c vla-объектами. Вытащить vla-объекты можно при помощи следующего кода: (vl-load-com) (defun get_attr ( / e vle var arr i count lst) (setq e (car (entsel))) (setq vle (vlax-ename->vla-object e)) (setq var (vla-getattributes vle)) (setq arr (vlax-variant-value var)) (setq list_vars (vlax-safearray->list arr)) (setq i 0 count (length list_vars) lst nil ) (while (< i count) (setq lst (append (list (vlax-variant-value (nth i list_vars))) lst)) (setq i (1+ i)) ) lst )
  9. nanoCAD загружает автоматически только ncad.lsp, расположенный рядом с ncad.exe и только оттуда. Файлы *.lsp, расположенные рядом с документами или в стандартных папках, можно загрузить только вручную (или вручную же добавить в автозагрузку APPLOAD).
  10. Возможно, КриптоПРО ставит в системную директорию какую-нибудь .dll, совпадающую по имени с .dll из директории nanoCAD-а, и она подгружается вместо штатной. Такую .dll можно вписать в секцию [\PreLoadedModules] файла NCad.ini и она гарантированно будет подгружаться из директории nanoCAD-а.
  11. Создал в багтрекере Клуба разработчиков дефекты #305, про вызов события при загрузке, и #306, про вызов события при программной установке текущего значения.
  12. Модуль такой в дистрибутиве есть. Чтобы понять куда он делся при установке, почитайте лог инсталлятора, он в %TEMP%. Ошибка "Application server is unregistered" бывает в старых версиях при запуске из-под полного администратора или когда отключён UAC. Попробуйте то же самое с меньшими правами.
×
×
  • Создать...