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

Сделай свою работу в Solidworks эффективнее


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

Всем привет!Столкнулся пока для себя с не решаемой задачей!Установил 5 SP на солид и макрос plotter.swp от SWR не хочет запускаться, причем ни одна библиотека не конфликтует. Уже и не знаю чего делать!Может поможет кто советом?Все остальные макросы работают!

В пошаговом режиме запускали? И что значит: "не хочет запускаться"? Ошибку какую выдает или нет...?

На каком языке написан макрос?

В пошаговом режиме запускали? И что значит: "не хочет запускаться"? Ошибку какую выдает или нет...?

На каком языке написан макрос?

причем ни одна библиотека не конфликтует

Откуда Вам это известно? Как Вы это определяли?
Ссылка на сообщение
Поделиться на других сайтах


В пошаговом режиме запускали? И что значит: "не хочет запускаться"? Ошибку какую выдает или нет...?

На каком языке написан макрос?

макрос на VBA от SWR.. Лежит у них на сайте в свободном доступе в составе SWR-утилит.. Да и тут на форуме пробегал..

Сам им пользуюсь часто.. на SW2009 SP0 работает, только превью чертежей не показывает..

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

Сделайте поиск по форуму гдето выкладывали подправленую версию для 10 и старше солида

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

Всем привет!Столкнулся пока для себя с не решаемой задачей!Установил 5 SP на солид и макрос plotter.swp от SWR не хочет запускаться, причем ни одна библиотека не конфликтует. Уже и не знаю чего делать!Может поможет кто советом?Все остальные макросы работают!

Добавка: иногда бывает достаточно открыть макрос для редактировании в своем SW и библтотеки сами "переподключатся"...

Ну раз уж открыли, то можно и посмотреть какие библиотеки таки подключены: для SW2007 нужны, например:

наример, в основном нужны файл:

sldworks.tlb - в списке библиотек написано sldworks2007

swconst.tlb - в списке библиотек написано swconst2007.

(Но там есть и другие библиотеки!)

Соответственно, для последующих версий SW, потребуется такие же файлы, но в списке подключенных бибилиотек будут уже друие цифры:

swconst2009

sldworks209

Например:

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

(Но там есть и другие библиотеки!)

Ещё можно убрать OLE Automation, насколько помню данная библиотека начала появляться при открытии макросов в SW2010, но не нужна для выполнения макроса и в некоторых случаях приводит к ошибкам при выполнении, возможно чего и путаю...
Ссылка на сообщение
Поделиться на других сайтах

Дело нехитрое, но нужны будут тестеры)) Сам то я на 32.

Прислонил к Вашему .exe макрос по его запуску и вот что получил:

post-22588-1300865064_thumb.jpg

А так макрос отрабатывает как нужно.

Надеюсь с цветовой гаммой фирмы lankwitzer lackfabrik разногласий не будет.

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

Ещё можно убрать OLE Automation, насколько помню данная библиотека начала появляться при открытии макросов в SW2010, но не нужна для выполнения макроса и в некоторых случаях приводит к ошибкам при выполнении, возможно чего и путаю...

"ModelViewManager::ActivateModelTab

Description

This method selects an ActiveX control tab on the model view.

Syntax (OLE Automation)<=============================А это что? ( справка API SW2008? я правда не пробовал отключать...)

retval = ModelViewManager.ActivateModelTab ( )

Output:

(VARIANT_BOOL) retval

TRUE if the ActiveX control tab on the model view is selected, FALSE if not

Syntax (COM)

status = ModelViewManager->ActivateModelTab ( &retval )

Output:

(VARIANT_BOOL) retval

TRUE if the ActiveX control tab on the model view is selected, FALSE if not

Return:

(HRESULT) status

S_OK if successful

"

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

Michael_Mira

Кажется знаю в чем может быть проблема. Так как есть такая бяка, что некоторые окна макросов не запускаются поверх остальных - народ написал код, затрагивающий WinAPI. Моя програмка сама по себе "поверх всех" - может какие конфликты с солидом и возникли. Такая же ошибка и у меня на 32. На днях покопаюсь))

Надеюсь с цветовой гаммой фирмы lankwitzer lackfabrik разногласий не будет.

Как бы всё по "стандарту" :drinks_drunk:

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

Ну а чтоб работа шла дальше, гуру макросов подсказал trick:

Код кнопки

Sub main()



Set swApp = Application.SldWorks



' Run the custom property application

Source = swApp.GetCurrentMacroPathName			 ' Get macro path+filename

Source = Left$(Source, Len(Source) - 3) + "exe"	' Set source filename



MyAppID = Shell(Source, 1)

On Error GoTo 111



AppActivate MyAppID



111:

	 

End

End Sub
Сразу скажу - в 64 бит не работает кнопка "применить" - специально! :biggrin: чтоб не пользовались недоделанным.
Ссылка на сообщение
Поделиться на других сайтах

Ну а чтоб работа шла дальше, гуру макросов подсказал trick:

Код кнопки

Sub main()



Set swApp = Application.SldWorks



' Run the custom property application

Source = swApp.GetCurrentMacroPathName			 ' Get macro path+filename

Source = Left$(Source, Len(Source) - 3) + "exe"	' Set source filename



MyAppID = Shell(Source, 1)

On Error GoTo 111



AppActivate MyAppID



111:

	 

End

End Sub
Мне это нужно дописать, или этим кодом заменить исходный?

Сразу скажу - в 64 бит не работает кнопка "применить" - специально! :biggrin: чтоб не пользовались недоделанным.

У меня работает "применить", а вот "о программе" не работает.

Проблемму "поверх всех окон" до сих пор так и не решил и даже не знаю как. А дело нужное.

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

'streamdown' см №2229

Michael_Mira

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

- в проект VB добавляю модуль с функциями "WIN API", обычно такими:

""""""""""""

Attribute VB_Name = "Module10"

Global Const SWP_NOMOVE = 2

Global Const SWP_NOSIZE = 1

Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE

Global Const HWND_TOPMOST = -1

Global Const HWND_NOTOPMOST = -2

'Declare Function SetWindowPos Lib "user32" (ByVal h%, ByVal hb%, ByVal x%, ByVal y%, ByVal cx%, ByVal cy%, ByVal f%) As Integer

'Declare Function SetWindowPos Lib "user32" (ByVal h, ByVal hb, ByVal X, ByVal Y, ByVal cx, ByVal cy, ByVal f) As Integer

Public Declare Function SetWindowPos Lib "user32" ( _

ByVal hwnd As Long, _

ByVal hWndInsertAfter As Long, _

ByVal x As Long, ByVal y As Long, _

ByVal cx As Long, ByVal cy As Long, _

ByVal wFlags As Long) _

As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _

ByVal lpClassName As String, _

ByVal lpWindowName As String) _

As Long

Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _

ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Declare Function GetWindowThreadProcessId Lib "user32" ( _

ByVal hwnd As Long, lpdwProcessId As Long) As Long

Public Declare Function TerminateThread Lib "kernel32" ( _

ByVal hThread As Long, ByVal dwExitCode As Long) As Long

Sub TopMost(hh As Long)

Dim success As Integer

'----- To set the form XXXX to TOPMOST, use the following code:

success = SetWindowPos(hh, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

'If success <> 0 Then Successful

End Sub

""""""""""""

А в самом коде VB пишу: TopMost(hh As Long), где hh - указатель на форму (окно). После этого окно всегда оказывается "поверх всех".

Вообще, в WIN API оч.много интересных функций: по работе с формами(окнами): можно формаму, например, форму сделать полупрозрачной и пр. и пр.

PS. а такой бяки вроде и нет: "что некоторые окна макросов не запускаются поверх остальных - народ написал код".

ИМХО, скорее всего ошибка в коде....

Как это народ написал код? Влез в Windows?

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

Michael_Mira

это прям уже код кнопки.

Имена файла макроса и файла EXE должны совпадать.

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

Ещё можно убрать OLE Automation, насколько помню данная библиотека начала появляться при открытии макросов в SW2010, но не нужна для выполнения макроса и в некоторых случаях приводит к ошибкам при выполнении, возможно чего и путаю...

Не, не, вот уж с SW2007-го точно помню. Может даже и с SW2005-го...

Время будет - посмотрю старsе-престарые макросы (SW99, SW2001)

это прям уже код кнопки.

Я бы сказал не код кнопки, а код отображения кнопки.

Имена файла макроса и файла EXE должны совпадать.

Это видимо в C# или VB.NET. Для VB6.0 это необязательно. Там и EXE-то нет :biggrin:
Ссылка на сообщение
Поделиться на других сайтах

Всем привет. Появилась необходимость чертежи из Солида конвертировать в .dvg. Существует такой макрос, который производит эту операцию?

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

а код отображения кнопки

Чего??? :boxed:

Для VB6.0 это необязательно. Там и EXE-то нет

Чего??? :boxed: Вы с кем сейчас переписываетесь?)))

ИМХО, скорее всего ошибка в коде....

Без кнопки макроса программа работает, (т.е. если запускать двойным кликом). Если вы не загружали эту программу и не использовали её, то не надо такого писать.

Как это народ написал код?

Ну вот взял и написал, чтобы окна так отображались. Моё дело маленькое :smile: просто его использовать.
Ссылка на сообщение
Поделиться на других сайтах

не устанавливается

куда??!!

первый пункт зелёненьким в первом сообщении <noindex>http://fsapr2000.ru/index.php?showtopic=34713</noindex>

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

куда??!!

первый пункт зелёненьким в первом сообщении <noindex>http://fsapr2000.ru/index.php?showtopic=34713</noindex>

windows 7 32 bit. Solidworks 2010 Sp4

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

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

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

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

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

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

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

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

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

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

    • andriyrovno



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