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

Поиск сообщества

Показаны результаты для тегов 'VBA'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие форумы
    • Принципы распространения продуктов Нанософт
    • Общие вопросы
    • Скачать полезное
    • Обсуждение любых САПР
  • Тематические форумы
    • nanoCAD как платформа
    • nanoCAD СПДС
    • nanoCAD Электро
    • nanoCAD ОПС
    • nanoCAD СПДС Железобетон
    • nanoCAD СПДС Металлоконструкции
    • nanoCAD СПДС Стройплощадка
    • nanoCAD СКС
    • nanoCAD Механика
    • nanoCAD Геоника
    • nanoCAD ВК
    • nanoCAD Отопление
    • nanoCAD Конструкторский BIM
    • nanoCAD Конструкции (модуль КЖ)
    • nanoTDMS
    • nanoCAD Схемы
    • nanoCAD ЛЭП
    • NormaCS
    • Функциональные расширения nanoCAD
    • Портал Технической поддержки
    • Обработка данных лазерного сканирования
  • Программы членов Клуба разработчиков
    • KDM-INFO
    • Проектное бюро "Фордевинд"
    • VetCAD++
  • Не о программах
    • Юмор
    • Вопросы и пожелания по работе форума
    • Вопросы и пожелания по работе сайта
    • Новостная лента сайта nanoCAD.ru

Блоги

Без результатов


Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Сайт


ICQ


Skype


Город


Интересы

Найдено: 5 результатов

  1. Есть XML одно из вертикалок Нано. Нужно вытащить данные в Эксель. Дынный код point.ChildNodes(1).ChildNodes(1).ChildNodes(1).ChildNodes(1).ChildNodes(1).ChildNodes(3).Text вытаскивает следующую строку Pр (Pном), кВт 11,5 А мне нужны только цифры (11,5) , подскажите что нужно сделать? Часть исходного кода -<Child TypeName="DocRecordFieldItem"> -<Properties> <ColumnName>Pр (Pном), кВт</ColumnName> <Value>11,5</Value> </Properties> </Child> РП3.xml
  2. Собственно код ниже. Не получается получить элемент коллекции Layouts (Листов) по имени элемента. попытка приводит к зависанию и вылету Нано 10.1 Что интересно аналогичный код но с Layers (Слоями) работает. Посмотрите, кто понимает.. я недогоняю или ушу ActiveX Нано недостаточно хорош Sub Test() Set objApp = GetObject(, "NanoCAD.Application") Set ThisDraw = objApp.ActiveDocument Set Layouts = ThisDraw.Layouts ReDim arOld(Layouts.Count - 2, 1) For Each Layout In Layouts strTmpName = Layout.Name If strTmpName = "Model" Then GoTo SKIP ' Skip modelspace arOld(n, 0) = strTmpName strTmpOrder = Layout.taborder arOld(n, 1) = strTmpOrder n = n + 1 SKIP: Next Stop sLname = arOld(1, 0) Set tempLayout = Layouts(sLname) 'тут зависание и вылет нано End Sub
  3. К сожалению после прочтения справки по McCOM2 остались вопросы : 1. как видно в Locals отладчика VBA : универсальный маркер имеет : ClassName : "Универсальный маркер" : String на такой запрос: Set МаркерСпец = spdsApplication.Query("Универсальный маркер") в МаркерСпец возвращается некоторое количество объектов но вот если добавить еще условие выбора по полю маркера Set МаркерСпец = spdsApplication.Query("Универсальный маркер", "flag=""1""") то МаркерСпец Nothing в то же время если сделать выборку по всем объектам чертежа: Set МаркерСпец = spdsApplication.Query("Object", "flag=""1""") то запрос возвращает объекты с данным свойством, но согласитесь, это не совсем верно и удобно. Собственно вопрос к гуру, как правильно выбрать объект по имени класса если класс представлен таким образом? 2. Таблицы и поиск СПДС могут делать выборку по всему документу. Вопрос возможно ли через Query собрать объекты со всего документа за один проход (без перебора листов, модели)? 3. В справке очень лаконично описан объект BOM, однако заинтересовало, что если его получить и заполнить данными, то возможно производить в нем сортировку и пр. Вопрос: Как? Возможно у кого то из уважаемых All есть рабочий боевой пример и их не затруднит любезно поделиться.
  4. Дмитрий Руденко, главный инженер проекта проектного бюро «Фордевинд» http://fordewind.org/. http://habrahabr.ru/post/238867/ В статье рассмотрен один из вариантов автоматизации работы проектировщиков в САПР nanoCAD, позволяющий в значительной степени использовать параметризацию построений и сокращать сроки выполнения различных задач. Многие проектировщики используют MS Excel для выполнения математических вычислений в табличной форме. Однако, функционал программы этим не ограничивается. С помощью встроенного в продукты Microsoft Office языка программирования Visual Basic for Applications (VBA) можно взаимодействовать с объектной моделью nanoCAD (и другими продуктами на её платформе). В данной статье мы на простом и универсальном примере продемонстрируем такую возможность — создадим и настроим слои, начертим прямоугольник, проставим к нему размеры и добавим текст, содержащий значение площади фигуры.
  5. Уважаемое сообщество! Собственно написал скрипт, который рисует циклоиды: Dim oLine Dim oCircle Dim A(2, 2000) Dim NumberPoints Dim phi Dim alpha Dim pi Dim Count Dim Rb Dim Rm Dim k Count = 0 pi = 3.1415926 alpha = 0 Rb = 10 Rm = 2 NumberPoints = 360 k = Rb/Rm for phi = 0 to 2*pi step pi/180 Count = Count + 1 A(1, Count) = Rm*(k - 1)*(cos(phi) + cos((k - 1)*phi)/(k - 1)) A(2, Count) = Rm*(k - 1)*(sin(phi) - sin((k - 1)*phi)/(k - 1)) next for phi = 0 to 2*pi step pi/180 Count = Count + 1 A(1, Count) = (Rb + Rm)*cos(phi) - Rm*cos(alpha + ((Rb+Rm)/Rm)*phi) A(2, Count) = (Rb + Rm)*sin(phi) - Rm*sin(alpha + ((Rb+Rm)/Rm)*phi) next Set oCircle = ThisDrawing.ModelSpace.AddCircle(CStr(0)+","+CStr(0)+","+CStr(0), Rb) Set oCircle = ThisDrawing.ModelSpace.AddCircle(CStr(Rb + Rm)+","+CStr(0)+","+CStr(0), Rm) Set oCircle = ThisDrawing.ModelSpace.AddCircle(CStr(Rb - Rm)+","+CStr(0)+","+CStr(0), Rm) for i = 1 to Count - 1 Set oLine = ThisDrawing.ModelSpace.AddLine(CStr(A(1, i))+","+CStr(A(2, i))+","+CStr(0), CStr(A(1, i + 1))+","+CStr(A(2, i + 1))+","+CStr(0)) 'Set oLine = ThisDrawing.ModelSpace.AddLine(CStr(0)+","+CStr(0)+","+CStr(0), CStr(A(1, i))+","+CStr(A(2, i))+","+CStr(0)) 'Set oCircle = ThisDrawing.ModelSpace.AddCircle(CStr(A(1, i))+","+CStr(A(2, i))+","+CStr(0), 0.01) next Пытаюсь отрисовать их с помощью полилинии. Для проверки работоспособности пытался нарисовать полилинию: Dim varVertList(8) Dim objPLine varVertList(0) = 0 varVertList(1) = 0 varVertList(2) = 0 varVertList(3) = 10 varVertList(4) = 10 varVertList(5) = 0 varVertList(6) = 10 varVertList(7) = 50 varVertList(8) = 0 Set objPLine = ThisDrawing.ModelSpace.AddPolyline(varVertList) В результате получаю: err: "TeighaX" raised an exception "Параметр задан неверно." at line 17 pos 0 Set objPLine = ThisDrawing.ModelSpace.AddPolyline(varVertList) ^ В каком виде должны быть координаты вершин в массиве varVertList для отрисовки полилинии? Пробовал строкой как для отрезка ("x,y,z") - тоже не вышло. Заранее благодарю за ответ! К стати, в первом листинге не корректно отображается подсветка синтаксиса строки: 'Set oCircle = ThisDrawing.ModelSpace.AddCircle(CStr(A(1, i))+","+CStr(A(2, i))+","+CStr(0), 0.01) Строка начинается с " ' ", но не отображается зеленым.
×
×
  • Создать...