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

Рекомендуемые сообщения

Уважаемые коллеги! Есть желание научиться работать с макросами в Nanocad. Что можно изучить на эту тему? Заранее сапасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые коллеги! Есть желание научиться работать с макросами в Nanocad. Что можно изучить на эту тему? Заранее сапасибо.

 

вам в эту ветку форума

вообще наверное скрипты Vbs Или js изучить, литературы в инете много

как их прикрутить к системе можете мой примерчик тут посмотреть

(+ язык html для создания форм Hta)

 

на мой взгял это проще для изучения, чем NET

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые коллеги! Есть желание научиться работать с макросами в Nanocad. Что можно изучить на эту тему? Заранее сапасибо.

 

вам в эту ветку форума

вообще наверное скрипты Vbs Или js изучить, литературы в инете много

как их прикрутить к системе можете мой примерчик тут посмотреть

(+ язык html для создания форм Hta)

 

на мой взгял это проще для изучения, чем NET

Благодарю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мне вот эта штука оч помогла: _http://www.alex160570.narod.ru/AcadVBA/vba01.htm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос можно ли скриптом как-нибудь организовать диалог с пользователем в коммандной строке с возможностью выбора комманды либо в строке, либо правой кнопкой мыши?

Пример: Выберите что будем чертить Окружность(по умолчанию)/Линия/Полилиния?

Ну соответственно дальше пользователь выбирает из предложенных вариантов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот здесь есть подобная конструкция:

http://fordewind.org/wiki/doku.php?id=%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82_%D0%BB%D0%B8%D1%81%D1%82%D1%8B

 

'спрашиваем пользователя, отсортировать ли по вертикали

ut.InitializeUserInput 4, "Да Нет"

val = ut.GetKeyword("Отсортировать по вертикали? [%s]")

ut.InitializeUserInput 4, ""

if (val="Да") Then

Ysort 'сортируем листы по Y

End If

Изменено пользователем swell{d}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот здесь есть подобная конструкция:

http://fordewind.org...%81%D1%82%D1%8B

 

'спрашиваем пользователя, отсортировать ли по вертикали

ut.InitializeUserInput 4, "Да Нет"

val = ut.GetKeyword("Отсортировать по вертикали? [%s]")

ut.InitializeUserInput 4, ""

if (val="Да") Then

Ysort 'сортируем листы по Y

End If

Благодарю за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А никто не знает команды на VBa - полный аналог команды Свойства?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понял вопроса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понял вопроса

Ну я не программист и для меня пока процедуры, классы и т.д. пока всё в одном ракурсе:)))

Я имею ввиду нет ли такой команды на VBA, чтобы я после выбора объекта, мог получить доступ ко всем параметрам этого объекта, как при команде Свойства самого Nanocad? Пример я выбираю выноску жму свойства и в свойствах могу менять текст, координаты и тп. Я хочу на VBA получить такие же параметры при выборе объекта!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оу. эммм. Ваш предыдущий вопрос ошибочно ввёл меня в заблуждение о достаточно высокой квалификации. сейчас же вы спрашиваете про самые азы.

сначала ссылки:

1. _http://vbamodel.narod.ru/index.htm - вот эта очень классная штука.

2. _http://www.alex160570.narod.ru/AcadVBA/vba01.htm - здесь что-то вроде учебника почитать.

 

если в двух словах, у каждого объекта есть свойства. например для линии свойства можно посмотреть здесь:

_http://vbamodel.narod.ru/AutoCAD/idh_line_object.htm

далее вы для своей линии можете менять эти свойства. например, чтобы поменять координаты начала и конца линии, можно использовать такой код:

 

//рисуем линию

Dim line

Dim pt0(2), pt1(2)

pt0(0) = 0

pt0(1) = 0

pt0(2) = 0

pt1(0) = 1000

pt1(1) = 1000

pt1(2) = 0

Set Line = ThisDrawing.ModelSpace.AddLine(pt0,pt1)

 

pt0(0) = 500

pt0(1) = 500

pt1(0) = 1500

pt1(1) = 1500

Line.StartPoint = pt0

Line.EndPoint = pt1

 

вот последние две строки как раз меняют свойства начальной точки и конечной точки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оу. эммм. Ваш предыдущий вопрос ошибочно ввёл меня в заблуждение о достаточно высокой квалификации. сейчас же вы спрашиваете про самые азы.

сначала ссылки:

1. _http://vbamodel.narod.ru/index.htm - вот эта очень классная штука.

2. _http://www.alex160570.narod.ru/AcadVBA/vba01.htm - здесь что-то вроде учебника почитать.

 

если в двух словах, у каждого объекта есть свойства. например для линии свойства можно посмотреть здесь:

_http://vbamodel.narod.ru/AutoCAD/idh_line_object.htm

далее вы для своей линии можете менять эти свойства. например, чтобы поменять координаты начала и конца линии, можно использовать такой код:

 

//рисуем линию

Dim line

Dim pt0(2), pt1(2)

pt0(0) = 0

pt0(1) = 0

pt0(2) = 0

pt1(0) = 1000

pt1(1) = 1000

pt1(2) = 0

Set Line = ThisDrawing.ModelSpace.AddLine(pt0,pt1)

 

pt0(0) = 500

pt0(1) = 500

pt1(0) = 1500

pt1(1) = 1500

Line.StartPoint = pt0

Line.EndPoint = pt1

 

вот последние две строки как раз меняют свойства начальной точки и конечной точки

при выполнении вот такой записи

Set newObjs(index) = ThisDrawing.ModelSpace.Item(index)

 

в чертеже где начерчена всего одна универсальная выноска

в отладчике я вижу только свойства приведенные на картинке и не знаю как получить запись в самой выноске, если знаете как это сделать прошу помочь разобраться!

post-46142-0-28859100-1372341607.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а где вы отладчик нашли? o_O

похоже тут без Lion`а не обойтись...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а где вы отладчик нашли? o_O

похоже тут без Lion`а не обойтись...

да просто через Excel подключаюсь и уже там смотрю параметры в окне Watches!

 

PS: Спасибо ich-frau за скрипт с HTA, при анализе его и пришла мысль работать через отладчик Excel!

Изменено пользователем ondry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот здесь обсуждалось получение свойств выноски.

http://forum.nanocad.ru/index.php?showtopic=4156&st=0&p=13431&hl=mccom2&fromsearch=1entry13431

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да просто через Excel подключаюсь и уже там смотрю параметры в окне Watches!

можете рассказать поподробнее?

вроде сам разобрался. неплохо. а то я всё в блокноте да в блокноте =)

Изменено пользователем swell{d}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для будущих поколений накатал мини-статейку: http://fordewind.org/wiki/doku.php?id=%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_excel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для будущих поколений накатал мини-статейку: http://fordewind.org...%B8%D0%B5_excel

спасибо что написали мануальчик:) а то у меня времени всё не хватает на такие вещи!Думаю многим будет полезно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

слушайте, я сейчас пробую делать кое-какие построения из экселя. это происходит реально намного медленнее, чем если запускать скрипт непосредственно из нано.

это нормально?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

слушайте, я сейчас пробую делать кое-какие построения из экселя. это происходит реально намного медленнее, чем если запускать скрипт непосредственно из нано.

это нормально?

Как оно теоретически планировалось в виндовсе - кто ж его знает! :) Но, чисто из логических соображений - эксель - это другой процесс. Всякие межпроцессные коммуникации по определению должны быть медленнее, чем те же самые действия внутри одного процесса. Это с одной стороны. А с другой - все равно странно, что эффект настолько заметный. Хмм... а насколько, кстати? Примерчик бы! Еще можно предположить, что тут в свою роль играет какой-нибудь отладчик, котороый эксель подключает, или еще что...

В общем, пример в студию, будем посмотреть! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот видео: _https://dl.dropboxusercontent.com/u/5348360/nanocad/2013-07-07.avi

вот эксель: _https://dl.dropboxusercontent.com/u/5348360/nanocad/%D1%81%D1%82%D0%B5%D0%BD%D1%8B%20v0.0.xlsm

 

где-то 4 секунды вместо мгновенного выполнения

Изменено пользователем swell{d}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот видео: _https://dl.dropboxusercontent.com/u/5348360/nanocad/2013-07-07.avi

вот эксель: _https://dl.dropboxusercontent.com/u/5348360/nanocad/%D1%81%D1%82%D0%B5%D0%BD%D1%8B%20v0.0.xlsm

 

где-то 4 секунды вместо мгновенного выполнения

Я думаю, что всё-таки Excel надо использовать в качестве отладчика скрипта, хотя если учитывать возможности самого Excel и возможности связывания его с Nanocad, то масштабы грандиозные можно устроить, то надо разбираться:)))) А кстати в Excel есть параметр на VBA который отключает постоянное обновление экрана, если его не отключить он постоянно обновляет ячейки и сами макросы для Excel жутко тормозят...попробуйте может там собака зарыта!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня уже есть одна рабочая связка эксель+нано для каркасов стен и колонн. но там немного иначе сделано - я сначала экселем формирую vbs файл, а затем с кнопки в самом нано запускаю его. здесь же решил пойти дальше =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...