Перейти к содержимому


nanocad 5.1


Сообщений в теме: 71

#21 yum

    Активист

  • Пользователи
  • PipPipPipPip
  • 659 сообщений
  • Пол:Женщина

Отправлено 01 Февраль 2017 - 15:15

В описании Нанокад-конструкции на сайте читаю "Комплекс базируется на новой версии платформы – nanoCAD 5.0."

#22 Forfeit

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 20 Февраль 2017 - 13:16

Поделитесь файлом *.pgp.
Заодно подскажите где он лежит в версии 5.1
В справке на эту тему совсем мало информации.

#23 oVal

    Опытный пользователь

  • Модераторы
  • PipPipPipPip
  • 1 456 сообщений
  • Пол:Мужчина

Отправлено 21 Февраль 2017 - 07:28

c:\Program Files (x86)\Nanosoft\nanoCAD 5.1\

#24 Forfeit

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 21 Февраль 2017 - 12:00

А имя у него будет nCad.pgp или nanoCad.pgp?
Aliases прописывать в виде <сокращение> = s <КОММАНДА>?
По типу: f=sCOPY

#25 Forfeit

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 21 Февраль 2017 - 12:07

И еще можно ли *.pgp файл как параметр в запуске нанокада прописать?
Чтоб каждый юзверь на одной машине со своими сокращениями мог работать.

#26 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 980 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 21 Февраль 2017 - 15:31

Там уже лежит файл "nCad.pgp" - именно он вам и нужен. Если его открыть, то там и написан синтаксис.


Цитата

И еще можно ли *.pgp файл как параметр в запуске нанокада прописать?
Чтоб каждый юзверь на одной машине со своими сокращениями мог работать.
файл должен лежать в папке nanoCAD. У каждого свой.
С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru

#27 Дмитрий*

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 22 Февраль 2017 - 16:26

Здравствуйте!
Подскажите пожалуйста как отрисовать полилинию в версии 5.1 nanocad через VBA Excel?

#28 Forfeit

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 26 Февраль 2017 - 13:53

Просмотр сообщенияdows (21 Февраль 2017 - 15:31) писал:

Там уже лежит файл "nCad.pgp" - именно он вам и нужен. Если его открыть, то там и написан синтаксис.


Цитата

И еще можно ли *.pgp файл как параметр в запуске нанокада прописать?
Чтоб каждый юзверь на одной машине со своими сокращениями мог работать.
файл должен лежать в папке nanoCAD. У каждого свой.
Если на одном компе работает два человека, то файл придется перезаписывать. Другого варианта нет?

#29 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 980 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 28 Февраль 2017 - 10:31

А какой еще вариант должен быть? другого варианта нет....
С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru

#30 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 731 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 28 Февраль 2017 - 10:50

Просмотр сообщенияForfeit (26 Февраль 2017 - 13:53) писал:

Если на одном компе работает два человека, то файл придется перезаписывать. Другого варианта нет?
Если учётки две, то прописать при входе пользователя замену файла любым скриптом, в т.ч. батником. Если один - то сделать два ярлыка запуска, каждый из которых будет заменять этот файл на соответствующий.
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 10.1.4493.2427; MultiCAD.NET

#31 Дмитрий*

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 01 Март 2017 - 00:28

Sub Acad3DPolyline()
Set app = GetObject("", "nanoCAD.Application") '
app.Visible = True
Set ThisDrawing = app.ActiveDocument
Dim robj As Object
Set robj = ThisDrawing.PaperSpace
'Variant (array of doubles); input-only
'An array of 3D WCS coordinates. The polyline will be created according to the order of the coordinates in the array. The number of elements in the array must be a multiple of three. (Three elements define a single coordinate.)
'массив трёхмерный с внесением записей координат в память. Полилиния должна быть создана из элементов в определённом порядке равными по рангу в массиве. Число элементов в теле массива должно состоять из структуры координат с тремя значениями (x,y,z)(Три элемента определяют одно место положение).
' Variant (array of doubles); input-only (вариант(массив двойной точности); простой ввод)
Dim point(0 To 9) As Double
point(1) = 0#: point(2) = 0#: point(3) = 0#
point(4) = 10#: point(5) = 10#: point(6) = 0#
point(7) = 23#: point(8) = 22#: point(9) = 0#
robj = Object.ThisDrawing.PaperSpace.Acad3DPolyline(point)
End Sub

Подскажите пожалуйста где ошибка по отрисовке полилинии в VBA Excel версия nanoCAD 5/1

#32 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 731 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 01 Март 2017 - 01:35

Просмотр сообщенияДмитрий* (01 Март 2017 - 00:28) писал:

Подскажите пожалуйста где ошибка по отрисовке полилинии в VBA Excel версия nanoCAD 5/1
Я уже 100 лет в VBA не работаю. Коллеги, простите и поправьте, если чего не то скажу. Но вот, что увидел:
Set robj = ThisDrawing.PaperSpace
...
robj = Object.ThisDrawing.PaperSpace.Acad3DPolyline(point)
Логично использовать robj, которому присвоен объект пространства листа:
Set robj = ThisDrawing.PaperSpace
...
robj.Acad3DPolyline(point)
Второе - массив. Изучите правила его объявления, размерность. Указано 0 to 9, а используется от 1 до 9. Объявить нужно до 8, т.к. нумерация с 0 идёт в VBA, насколько я помню. Соответственно, обращения к элементам тоже от 0 до 8. И объявляется массив так:
Dim point(9) As Double
Не уверен, что нужно указывать тип данных ,т.к. в комментарии пишут о типе Variant. Если с Double не заработает, уберите As Double.
Зачем указывать тип числа, если массив уже Double? Не уверен, используется ли в VBA указание в виде #. Почитайте или попробуйте убрать.
Далее. Acad3DPolyline - это, вроде, класс, то есть тип данных, но никак не функция. Функция, насколько я помню, AddPolyline(). Но у Вас 3D полилиния. Не знаю, какая функция её добавления, но сокрее всего, тоже начинается с Add. Читайте SDK, там есть команды.
Резюмируя:
Скрытый текст

В NC8.1+ работает такой скрипт VBS:
Скрытый текст

Читайте основы VBA и объектной модели nanoCAD.
https://habrahabr.ru...oft/blog/86970/
https://habrahabr.ru/company/nanosoft/
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 10.1.4493.2427; MultiCAD.NET

#33 grgv

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 02 Март 2017 - 05:06

Вопрос. Для Компас существует библиотека Компас-макро, позволяющая записывать действия в программе и составлять макросы на питоне. Существует ли что то подобное для нанокад (автокад) или планируется?
Посоветуйте книги, учебные материалы, методички конкретно о программировании скриптов и макросов к сапр платформам и к нанокад в частности.
Статьи на хабре читал, но это всетаки частный пример. Хотелось бы что то побольше и с примерами.

#34 grgv

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 02 Март 2017 - 05:13

И еще интересен опрос : что вы автоматизируете или могли бы автоматизировать в своей работе, проектировании и расчетах. Какие "однотипные" задачи встречаются у пользователей сапр.

#35 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 980 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 02 Март 2017 - 11:02

Просмотр сообщенияgrgv (02 Март 2017 - 05:06) писал:

Вопрос. Для Компас существует библиотека Компас-макро, позволяющая записывать действия в программе и составлять макросы на питоне. Существует ли что то подобное для нанокад (автокад) или планируется?
Посоветуйте книги, учебные материалы, методички конкретно о программировании скриптов и макросов к сапр платформам и к нанокад в частности.
Статьи на хабре читал, но это всетаки частный пример. Хотелось бы что то побольше и с примерами.
Да, есть - называется API (интерфейс программирования) и он открытый. Это значит, что на developer.nanocad.ru лежит документация и примеры для работы. Плюс лицензии для разработчиков. Берите-изучайте-создавайте. На разных языках: .NET, C++, JavaScript, VB-Script, LISP...
С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru

#36 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 731 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 02 Март 2017 - 11:05

Просмотр сообщенияdows (02 Март 2017 - 11:02) писал:

На разных языках: .NET, C++, JavaScript, VB-Script, LISP...
C#!
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 10.1.4493.2427; MultiCAD.NET

#37 Дмитрий*

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 03 Март 2017 - 10:49

Здравствуйте.
Cпасибо за отклики.
У меня другая тематика немножко.
Мне для учёбы необходимо выполнить сложные научные инженерные расчёты в Excel с отображением полученных результатов в nanoCAD или в AutoCAD или .......... Я выбрал nanoCAD т.к у меня на версию 5.1 есть лицензия и для дальнейшей работы это тоже пригодится.
И я написал небольшую программку для отображения балки в аксонометрии, но код этой маленькой программки получился длинный т.к балка отрисована обычными линиями. И для того чтобы в дальнейшем код не был громоздким необходимо отображать ломаную линию т.е полилинию , но из редактора VBA Excel отрисовка ломаной у меня не получается ни в nanoCAD, ни в AutoCAD хотя из автокадовского VBA ломаная с таким же кодом отрисовывается.
Так что вот такие дела. А для учёбы приминим только Excel и приложение его VBA.

Код для отрисовки балок :
Sub Кнопка1_Нижполка()
Set app = GetObject("", "nanoCAD.Application")
app.Visible = True
Set ThisDrawing = app.ActiveDocument
Dim layer As AcadLayer
Set layer = ThisDrawing.Layers.Add("Металлическая балка")
layer.Color = 30
layer.Lineweight = acLnWt060 'толщина линии 0.60 мм
ThisDrawing.ActiveLayer = layer
Dim M1(2) As Double, M2(2) As Double
Dim M3(2) As Double, M4(2) As Double, M5(2) As Double, M6(2) As Double, M7(2) As Double, M8(2) As Double, M9(2) As Double, M10(2) As Double, M11(2) As Double, M12(2) As Double
Dim A, H, H1, B, C, N, V, O As Range
Dim X1 As Double, X2 As Double, Y1 As Double, Y2 As Double
Dim X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, Y3, Y4, Y5, Y6, Y7, Y8, Y9, Y10, Y11, Y12, Z1
Dim insert_point() As Double
insert_point = ThisDrawing.Utility.GetPoint("0,0,0", "Укажите точку вставки объекта")
Set A = Range("c4") 'начение диапазона присвоить переменной
Set H = Range("E4"): Set B = Range("D4")
Set H1 = Range("G4"): Set C = Range("F4")
Set N = Range("C6"): Set O = Range("C8")
V = A + O: Z1 = B: X1 = insert_point(0) 'координата по Х левой грани
X2 = X1 + A 'координата по Х правой грани
X3 = X1: X4 = X3 + A / 2 - C / 2: X5 = X3 + A / 2 + C / 2: X6 = X2: X7 = X1: X8 = X4
X9 = X5: X10 = X2: X11 = X1: X12 = X2: Y1 = insert_point(1)
Y2 = Y1: Y3 = Y1 - H
Y4 = Y3: Y5 = Y2 - H: Y6 = Y1 - H: Y7 = Y1 - H - H1
Y8 = Y7: Y9 = Y7: Y10 = Y7: Y11 = Y1 - 2 * H - H1: Y12 = Y11
M1(0) = X1: M1(1) = Y1: M2(0) = X2
M2(1) = Y2: M3(0) = X3: M3(1) = Y3
M4(0) = X4: M4(1) = Y4: M5(0) = X5
M5(1) = Y5: M6(0) = X6: M6(1) = Y6
M7(0) = X7: M7(1) = Y7: M8(0) = X8
M8(1) = Y8: M9(0) = X9: M9(1) = Y9
M10(0) = X10: M10(1) = Y10: M11(0) = X11
M11(1) = Y11: M12(0) = X12: M12(1) = Y12
Dim obj1 As Object, obj2 As Object, obj3 As Object, obj4 As Object, obj5 As Object, obj6 As Object
Dim obj7 As Object, obj8 As Object, obj9 As Object, obj10 As Object, obj11 As Object, obj12 As Object
Dim obj13 As Object, obj14 As Object, obj15 As Object, obj16 As Object, obj17 As Object, obj18 As Object
Dim obj19 As Object, obj20 As Object, obj21 As Object, obj22 As Object, obj23 As Object, obj24 As Object
Dim obj25 As Object, obj26 As Object, obj27 As Object, obj28 As Object, obj29 As Object, obj30 As Object
Dim obj31 As Object, obj32 As Object, obj33 As Object, obj34 As Object, obj35 As Object, obj36 As Object
Dim obj37 As Object, obj38 As Object, obj39 As Object, obj40 As Object
Set obj1 = ThisDrawing.ModelSpace.AddLine(M1, M2): Set obj2 = ThisDrawing.ModelSpace.AddLine(M1, M3)
Set obj3 = ThisDrawing.ModelSpace.AddLine(M3, M6): Set obj4 = ThisDrawing.ModelSpace.AddLine(M4, M5)
Set obj5 = ThisDrawing.ModelSpace.AddLine(M2, M6): Set obj6 = ThisDrawing.ModelSpace.AddLine(M5, M6)
Set obj7 = ThisDrawing.ModelSpace.AddLine(M4, M8): Set obj8 = ThisDrawing.ModelSpace.AddLine(M5, M9)
Set obj9 = ThisDrawing.ModelSpace.AddLine(M9, M10): Set obj10 = ThisDrawing.ModelSpace.AddLine(M7, M10)
Set obj11 = ThisDrawing.ModelSpace.AddLine(M8, M9): Set obj12 = ThisDrawing.ModelSpace.AddLine(M7, M11)
Set obj13 = ThisDrawing.ModelSpace.AddLine(M10, M12): Set obj14 = ThisDrawing.ModelSpace.AddLine(M11, M12)
Dim M13(0 To 2) As Double, M14(0 To 2) As Double, M15(0 To 2) As Double, M16(0 To 2) As Double, M17(0 To 2) As Double, M18(0 To 2) As Double, M19(0 To 2) As Double, M20(0 To 2) As Double, M21(0 To 2) As Double, M22(0 To 2) As Double, M23(0 To 2) As Double, M24(0 To 2) As Double
M13(0) = X1: M13(1) = Y1: M13(2) = Z1
M14(0) = X2: M14(1) = Y2: M14(2) = Z1
M15(0) = X3: M15(1) = Y3: M15(2) = Z1
M16(0) = X4: M16(1) = Y4: M16(2) = Z1
M17(0) = X5: M17(1) = Y5: M17(2) = Z1
M18(0) = X6: M18(1) = Y6: M18(2) = Z1
M19(0) = X7: M19(1) = Y7: M19(2) = Z1
M20(0) = X8: M20(1) = Y8: M20(2) = Z1
M21(0) = X9: M21(1) = Y9: M21(2) = Z1
M22(0) = X10: M22(1) = Y10: M22(2) = Z1
M23(0) = X11: M23(1) = Y11: M23(2) = Z1
M24(0) = X12: M24(1) = Y12: M24(2) = Z1
Set obj15 = ThisDrawing.ModelSpace.AddLine(M13, M14): Set obj16 = ThisDrawing.ModelSpace.AddLine(M13, M15)
Set obj17 = ThisDrawing.ModelSpace.AddLine(M15, M18): Set obj18 = ThisDrawing.ModelSpace.AddLine(M16, M17)
Set obj19 = ThisDrawing.ModelSpace.AddLine(M14, M18): Set obj20 = ThisDrawing.ModelSpace.AddLine(M17, M18)
Set obj21 = ThisDrawing.ModelSpace.AddLine(M16, M20): Set obj22 = ThisDrawing.ModelSpace.AddLine(M17, M21)
Set obj23 = ThisDrawing.ModelSpace.AddLine(M19, M22): Set obj24 = ThisDrawing.ModelSpace.AddLine(M20, M21)
Set obj25 = ThisDrawing.ModelSpace.AddLine(M19, M23): Set obj26 = ThisDrawing.ModelSpace.AddLine(M22, M24)
Set obj27 = ThisDrawing.ModelSpace.AddLine(M21, M22): Set obj28 = ThisDrawing.ModelSpace.AddLine(M23, M24)
Set obj29 = ThisDrawing.ModelSpace.AddLine(M1, M13): Set obj30 = ThisDrawing.ModelSpace.AddLine(M2, M14)
Set obj31 = ThisDrawing.ModelSpace.AddLine(M3, M15): Set obj32 = ThisDrawing.ModelSpace.AddLine(M6, M18)
Set obj33 = ThisDrawing.ModelSpace.AddLine(M4, M16): Set obj34 = ThisDrawing.ModelSpace.AddLine(M5, M17)
Set obj35 = ThisDrawing.ModelSpace.AddLine(M7, M19): Set obj36 = ThisDrawing.ModelSpace.AddLine(M8, M20)
Set obj37 = ThisDrawing.ModelSpace.AddLine(M9, M21): Set obj38 = ThisDrawing.ModelSpace.AddLine(M10, M22)
Set obj39 = ThisDrawing.ModelSpace.AddLine(M11, M23): Set obj40 = ThisDrawing.ModelSpace.AddLine(M12, M24)
Dim robj1 As Variant, robj2 As Variant, robj3 As Variant, robj4 As Variant, robj5 As Variant, robj6 As Variant
Dim robj7 As Variant, robj8 As Variant, robj9 As Variant, robj10 As Variant, robj11 As Variant, robj12 As Variant
Dim robj13 As Variant, robj14 As Variant, robj15 As Variant, robj16 As Variant, robj17 As Variant, robj18 As Variant
Dim robj19 As Variant, robj20 As Variant, robj21 As Variant, robj22 As Variant, robj23 As Variant, robj24 As Variant
Dim robj25 As Variant, robj26 As Variant, robj27 As Variant, robj28 As Variant, robj29 As Variant, robj30 As Variant
Dim robj31 As Variant, robj32 As Variant, robj33 As Variant, robj34 As Variant, robj35 As Variant, robj36 As Variant
Dim robj37 As Variant, robj38 As Variant, robj39 As Variant, robj40 As Variant
Dim nOfRows As Long, nOfColumns As Long, nOfLevels As Long, DistRows As Double, DistCols As Double, DistLevels As Double
nOfRows = 1: nOfColumns = N
nOfLevels = 1: DistRows = 0
DistCols = V: DistLevels = 1
robj1 = obj1.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj2 = obj2.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj3 = obj3.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj4 = obj4.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj5 = obj5.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj6 = obj6.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj7 = obj7.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj8 = obj8.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj9 = obj9.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj10 = obj10.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj11 = obj11.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj12 = obj12.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj13 = obj13.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj14 = obj14.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj15 = obj15.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj16 = obj16.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj17 = obj17.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj18 = obj18.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj19 = obj19.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj20 = obj20.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj21 = obj21.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj22 = obj22.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj23 = obj23.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj24 = obj24.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj25 = obj25.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj26 = obj26.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj27 = obj27.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj28 = obj28.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj29 = obj29.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj30 = obj30.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj31 = obj31.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj32 = obj32.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj33 = obj33.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj34 = obj34.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj35 = obj35.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj36 = obj36.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj37 = obj37.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj38 = obj38.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj39 = obj39.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
robj40 = obj40.ArrayRectangular(nOfRows, nOfColumns, nOfLevels, DistRows, DistCols, DistLevels)
Dim NewDirection(0 To 2) As Double
NewDirection(0) = 0.5: NewDirection(1) = 0.5: NewDirection(2) = 13
ThisDrawing.ActiveViewport.Direction = NewDirection
ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
End Sub

Прикрепленные файлы

  • Прикрепленный файл  Балка .dwg   20,51К   2 Количество загрузок:


#38 Robink

    Активист

  • Пользователи
  • PipPipPipPip
  • 368 сообщений
  • Пол:Мужчина
  • Город:Казань
  • Интересы:САПРостроение

Отправлено 03 Март 2017 - 11:57

Excel файл выложите.

#39 amk

    Активист

  • Пользователи
  • PipPipPipPip
  • 250 сообщений
  • Пол:Мужчина
  • Город:Омск

Отправлено 04 Март 2017 - 17:13

Просмотр сообщенияdows (02 Март 2017 - 11:02) писал:

Просмотр сообщенияgrgv (02 Март 2017 - 05:06) писал:

Вопрос. Для Компас существует библиотека Компас-макро, позволяющая записывать действия в программе и составлять макросы на питоне. Существует ли что то подобное для нанокад (автокад) или планируется? Посоветуйте книги, учебные материалы, методички конкретно о программировании скриптов и макросов к сапр платформам и к нанокад в частности. Статьи на хабре читал, но это всетаки частный пример. Хотелось бы что то побольше и с примерами.
Да, есть - называется API (интерфейс программирования) и он открытый. Это значит, что на developer.nanocad.ru лежит документация и примеры для работы. Плюс лицензии для разработчиков. Берите-изучайте-создавайте. На разных языках: .NET, C++, JavaScript, VB-Script, LISP...
Вообще-то, вопрос о другом был.
Можно ли создать этот макрос средствами самой программы. Или каким-нибудь подключаемым средством. Не все пользователи чертёжной программы являются по совместительству хорошими программистами.

#40 Дмитрий*

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 04 Март 2017 - 23:27

файл какой для полилинии или стем кодом который я написал выше?





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей