Перейти к публикации

Глобальная переменная


maligyn

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



3 часа назад, greasemonkey сказал:

Простым путем (включил запись) вставить глобальную переменную не получилось

Вставьте в новый пустой макрос, поменяйте значения в кавычках, сохраните и запустите:

Option Explicit
Sub main()
    Dim SwApp           As SldWorks.SldWorks
    Dim Part            As SldWorks.ModelDoc2
    Dim swEquationMgr   As SldWorks.EquationMgr
    
    Set SwApp = Application.SldWorks
    Set Part = SwApp.ActiveDoc

    Set swEquationMgr = Part.GetEquationMgr
    
    swEquationMgr.Add2 -1, """A"" = 1", True
    swEquationMgr.Add2 -1, """B"" = 2", True
    swEquationMgr.Add2 -1, """C"" = 3", True
End Sub

Можно ещё экспортом-импортом уравнений, почитайте здесь:

http://help.solidworks.com/2012/russian/SolidWorks/sldworks/c_sharing_equations_among_models.htm?verRedirect=1

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, greasemonkey сказал:

VBA уже начал учить... аж три часа уже потратил :-)

 

Мало.. Я тут уже несколько раз писал, что потратил неделю на книжку и неделю на пробу пера..

 

4 часа назад, greasemonkey сказал:

Простым путем (включил запись) вставить глобальную переменную не получилось....

 

К сожалению, в макрос записываются не все действия..

 

4 часа назад, greasemonkey сказал:

 

Итого вопрос - как вставить три глобальных переменных в файл, где их раньше не было?

 

Раньше мне финт ушами приходилось делать..

1. Считать макросом все уравнения в модели и записать их в одномерный строковый массив..

2. Удалить все уравнения в модели..

3. Добавить в массив строки с нужными уравнениями..

4. Вставить макросом все уравнения из массива обратно в модель..

 

А сейчас сходу нашел

 

http://help.solidworks.com/2015/english/api/sldworksapi/Add_Equations_Example_VB.htm

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, ILL сказал:

Раньше мне финт ушами приходилось делать..

А макрос зачем? Создать по очереди три глобальных переменных в окне уравнений...

Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, ILL сказал:

У меня было не три уравнения, а намного больше..

Но в макрос ведь тоже нужно это всё писать, как и в окно уравнений....

Изменено пользователем Атан
Ссылка на сообщение
Поделиться на других сайтах

А как же количество лишних действий?

22 минуты назад, Атан сказал:

Создать по очереди три глобальных переменных

Это же в три раза больше лишних действий, чем один раз макрос запустить :smile:.

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

Последних пару лет ничего добавлять не приходится.

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Kir95 сказал:

Это же в три раза больше лишних действий, чем один раз макрос запустить :smile:.

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

Последних пару лет ничего добавлять не приходится.

Я открыл окно один раз и создал по очереди три переменные. А как в макросе?

Изменено пользователем Атан
Ссылка на сообщение
Поделиться на других сайтах

У меня макрос по очереди открывает выбранные мной из состава сборки детали и добавляет уравнения в каждую..

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

Один раз создал макрос и, не открывая окна,

25 минут назад, Атан сказал:

Я открыл окно один раз и создал по очереди три переменные. А как в макросе?

Вы не договариваете. Закрывать окно кто будет?

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Kir95 сказал:

Один раз создал макрос и, не открывая окна,

Вы не договариваете. Закрывать окно кто будет?

А разве это долго (один клик)? :rolleyes:

Ведь и макрос запускать надо......

Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, ILL сказал:

Макрос запускается один раз для всей сборки..

Окно уравнений сделано один раз (не мной) для данной версии SW...:rolleyes:

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

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

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, ILL сказал:

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

Разговор был про создание глобальной переменной (нескольких переменных) в главной сборке. Соответственно, и окно уравнений открывается в ней.

Мне интересно, а что макрос записывает (какие уравнения?)? Он сам знает, что Вам нужно (макрос-телепат)?

Изменено пользователем Атан
Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, Атан сказал:

Он сам знает, что Вам нужно

 

Нет, я ему задаю..

 

52 минуты назад, Атан сказал:

Разговор был про создание глобальной переменной (нескольких переменных) в главной сборке. 

 

Мы уже давно отклонились от темы..

Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, Kir95 сказал:

Вставьте в новый пустой макрос, поменяйте значения в кавычках, сохраните и запустите:


Option Explicit
Sub main()
    Dim SwApp           As SldWorks.SldWorks
    Dim Part            As SldWorks.ModelDoc2
    Dim swEquationMgr   As SldWorks.EquationMgr
    
    Set SwApp = Application.SldWorks
    Set Part = SwApp.ActiveDoc

    Set swEquationMgr = Part.GetEquationMgr
    
    swEquationMgr.Add2 -1, """A"" = 1", True
    swEquationMgr.Add2 -1, """B"" = 2", True
    swEquationMgr.Add2 -1, """C"" = 3", True
End Sub

 

СПАСИБО!!! Надо учить VBA....

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, ILL сказал:

 

Нет, я ему задаю..

 

 

Мы уже давно отклонились от темы..

И что Вы мне доказываете (правда, не знаю)? :biggrin:

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Атан сказал:

И что Вы мне доказываете (правда, не знаю)?

 

1. Надо пользоваться глобальными переменными..

2. Ну и..

7 часов назад, greasemonkey сказал:

! Надо учить VBA....

Хотя бы..

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, ILL сказал:

1. Надо пользоваться глобальными переменными..

2. Ну и..

1. Это уже обсудили (удобно при работе с большими чужими сборками).

2. Может быть, если есть необходимость (как и любое другое изучение нужного предмета).

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

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

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



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