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

ISL

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

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

  • Посещение

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

    4

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

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

Репутация

9 Обычный

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

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

Контакты

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

Информация

  • Пол
    Мужчина
  • Город
    Москва
  • Интересы
    Разработка САПР
  1. Не смотрели nanoCAD Plus 20? Если раз за разом возвращаться к версии 5, то и результат будет тем же.
  2. Скрипты из OutScripts не предназначены для запуска из редактора скриптов, а также командами JS и VBS. Они получают объект приложения через внешний nanoCAD.Application. Попробуйте, эксперимента ради, зарегистрировать nanoCAD.Application на какую-либо другую версию nanoCAD-а при помощи ncad.exe /register. Скрипт будет запущен в исходном nanoCAD-е, но запустится второй и запросы к пользователю будут там и звезда будет создана там же. Внешние скрипты всё же лучше использовать штатно, запускать при помощи cscript.exe. А ThisDrawing во внешних скриптах в примерах SDK поправим, спасибо, действительно, весьма неочевидный момент.
  3. > Но, я наивно полагал, что при "удалении из пользовательского интерфейса" вот такие сообщения уже не могут появится. Видимо ошибался. Это мы недоглядели. Поправим в следующей версии.
  4. В базовую комплектацию Plus входит часть модуля "Облака точек", не требующая отдельной лицензии. Сравните содержимое меню/ленты с включённой и отключённой галочкой, оно отличается.
  5. В настоящее время Model Studio CS выпущен только на nanoCAD Plus 8.5, а там только ACIS. Внутренние сборки Model Studio CS на платформе nanoCAD 10.x работают на любом из ядер.
  6. Model Studio CS на платформе nanoCAD требует наличия модуля "3D Моделирование". Так что модуль нужно будет закупить.
  7. 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);}
  8. Просто проход по всем листам без переименования даёт все листы? Или тоже через один?
  9. Кто ж спорит, нет предела совершенству, а копипаст -- зло, даже копипаст работающего кода.
  10. 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 )
  11. nanoCAD загружает автоматически только ncad.lsp, расположенный рядом с ncad.exe и только оттуда. Файлы *.lsp, расположенные рядом с документами или в стандартных папках, можно загрузить только вручную (или вручную же добавить в автозагрузку APPLOAD).
  12. Возможно, КриптоПРО ставит в системную директорию какую-нибудь .dll, совпадающую по имени с .dll из директории nanoCAD-а, и она подгружается вместо штатной. Такую .dll можно вписать в секцию [\PreLoadedModules] файла NCad.ini и она гарантированно будет подгружаться из директории nanoCAD-а.
×
×
  • Создать...