| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > SolidWorks > VB.NET и SolidWorks 2010

VB.NET и SolidWorks 2010

Ответ
Поиск в этой теме
Непрочитано 28.03.2011, 23:32 #1
VB.NET и SolidWorks 2010
swkx
 
Регистрация: 22.01.2010
Сообщений: 311

Только начал изучать VB.NET для SolidWorks. Не могу сохранить макрос в формате .vbproj, хотя в формате .swp создаётся и работает нормально.
Не подскажете, в чём дело ?
Просмотров: 8774
 
Непрочитано 29.03.2011, 09:08
#2
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


что говорит? почему не сохраняет?
Krapivnik вне форума  
 
Автор темы   Непрочитано 29.03.2011, 10:19
#3
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


В том то и дело, что ничего не говорит. При попытке первого сохранения высвечивается сообщение что-то типа "Подготовка SolidWorks Visual Studio... " и всё. Сообщение пропадает без каких-либо сообщений об ошибках. Файл тоже не создаётся.
Если попробовать создать макрос с нуля, то открывается окно приложения SolidWorks Visual Studio Tools, но в окне диалога выбора имени и типа файла все кнопки и поля недоступны.
swkx вне форума  
 
Непрочитано 29.03.2011, 10:46
#4
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
В том то и дело, что ничего не говорит. При попытке первого сохранения высвечивается сообщение что-то типа "Подготовка SolidWorks Visual Studio... " и всё.
В настройках пользователя поставьте галку на "Автоматически редактировать макрос после записи". В этом случае после "Подготовка SolidWorks Visual Studio... " среда VisualStudio должна запуститься и кучу своих файлов насоздавать. Может вместе с ними и нужный вам будет.
У меня именно так получилось.
Krapivnik вне форума  
 
Автор темы   Непрочитано 29.03.2011, 11:07
#5
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Спасибо, попробую.
...
Попробовал: Теперь после записи макроса вижу сообщение "Файл <китайские иероглифы> не найден", хотя я макрос обозвал test.vbproj

Последний раз редактировалось swkx, 29.03.2011 в 11:26.
swkx вне форума  
 
Непрочитано 29.03.2011, 11:37
#6
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Попробовал: Теперь после записи макроса вижу сообщение "Файл <китайские иероглифы> не найден", хотя я макрос обозвал test.vbproj
Сложно сказать в чем тут дело.
Может прав для создания файла просто недостаточно?
Короче экспериментировать нужно.
Krapivnik вне форума  
 
Автор темы   Непрочитано 30.03.2011, 20:43
#7
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Еще вопрос: почему в списке шаблонов для Visual Studio 2008, который был установлен до установки SW, после установки SolidWorks API SDK не появился шаблон SwVBAddin ?
swkx вне форума  
 
Непрочитано 30.03.2011, 21:32
#8
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Еще вопрос: почему в списке шаблонов для Visual Studio 2008, который был установлен до установки SW, после установки SolidWorks API SDK не появился шаблон SwVBAddin ?
Че-то не понял почему он должен появляться. Где-то об этом сказано?
Через обычное Windows Application (или как там его) прогайте.
Krapivnik вне форума  
 
Автор темы   Непрочитано 30.03.2011, 21:43
#9
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Вот кусок из "API Help":
The SolidWorks API SDK contains add-in templates for VB.NET, C#, and C++. When you install the SolidWorks API SDK, the templates are copied to various directories

И далее:

Use the SolidWorks SwVBAddin template from the SolidWorks API SDK to create a VB.NET add-in project in Microsoft Visual Studio .NET.

Create a new VB.NET project in Microsoft Visual Studio .NET.

Click the SolidWorks add-in template SwVBAddin in My Templates.
... и т.д.
swkx вне форума  
 
Непрочитано 31.03.2011, 06:44
#10
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Я такого шаблона не видел, а сейчас VS.Net отдельно у меня не стоИт, но что-то мне подсказывает, что ничего в этом шаблоне нет кроме как
Цитата:
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System

Partial Class SolidWorksMacro

Public Sub main()
Dim swDoc As ModelDoc2 = Nothing
Dim swPart As PartDoc = Nothing
Dim swDrawing As DrawingDoc = Nothing
Dim swAssembly As AssemblyDoc = Nothing
Dim boolstatus As Boolean = false
Dim longstatus As Integer = 0
Dim longwarnings As Integer = 0
swDoc = CType(swApp.ActiveDoc,ModelDoc2)
End Sub

''' <summary>
''' The SldWorks swApp variable is pre-assigned for you.
''' </summary>
Public swApp As SldWorks

End Class
Создайте пустой макрос и экспортируйте как шаблон. Вот и всё. Там будет и этот код и все подключенные библиотеки.
Krapivnik вне форума  
 
Автор темы   Непрочитано 31.03.2011, 07:36
#11
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Скорее всего, вы правы. Однако меня смущает сам факт того, что не работает (или я что-то неправильно делаю) встроенный VSTA. При попытке создать макрос я вижу картинку, как во вложении.
Неужели так и должно быть ?
Миниатюры
Нажмите на изображение для увеличения
Название: NewVBProjInVSTA.jpg
Просмотров: 177
Размер:	40.5 Кб
ID:	56635  
swkx вне форума  
 
Непрочитано 31.03.2011, 08:07
#12
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Скорее всего, вы правы. Однако меня смущает сам факт того, что не работает (или я что-то неправильно делаю) встроенный VSTA. При попытке создать макрос я вижу картинку, как во вложении.
Неужели так и должно быть ?
Это смотря что вы имеете ввиду под "создать макрос".
Если принять мою ситуацию как эталонную (SW2010 SP4.0, отдельный пакет MS VisualStudio не установлен), то должно быть так:
1. Если в SW просто нажать на кнопку "создать макрос", то сразу появляется старая добрая среда VBA
2. А ежели нажать на "записать макрос", а потом нажать на "стоп", то появится диалог в какой формат сохранять. Можно выбрать swp - и откроется VBA, можно выбрать vbproj и откроется VSTA (если в настройках галка о которой я говорил установлена).
То окошко которая у вас в аттаче у меня вовсе не появляется.
Думаю у вас все по-другому, т.к. у вас установлен MS VS. Мне-то конечно не дается выбора между Бейсиком и Си, т.к. C++ ForApplication не существует.
Krapivnik вне форума  
 
Автор темы   Непрочитано 31.03.2011, 08:16
#13
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


А я при попытке сохранения макроса в формате VSTA вижу такое (во вложении)
Миниатюры
Нажмите на изображение для увеличения
Название: SaveMacroAsVSTA.jpg
Просмотров: 145
Размер:	43.8 Кб
ID:	56638  
swkx вне форума  
 
Непрочитано 31.03.2011, 08:23
#14
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
А я при попытке сохранения макроса в формате VSTA вижу такое (во вложении)
Лютый глюк.
Переустановите все что можно.
Krapivnik вне форума  
 
Автор темы   Непрочитано 31.03.2011, 08:34
#15
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Всё что можно уже переустановил, кроме винды. Причем эта картина повторяется и в Win 7 и в XP. Причем пробовал в SW 2010 SP0.0, SW 2010 SP5.0, SW 2011 SP0.0, SW 2011 SP2.0.
Уже не знаю, где копать.
swkx вне форума  
 
Непрочитано 31.03.2011, 08:40
#16
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Уже не знаю, где копать.
Проверяли возникает ли это только после установки MS VS? Может сама VSTA от Солида не глючит?
И поменяйте дистрибутивы.
Krapivnik вне форума  
 
Автор темы   Непрочитано 31.03.2011, 08:45
#17
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


На компе с XP VS не установлен, но та же хрень. Установлен VSTA 2005, но он появился во время установки солида, насколько я понимаю, т.е. его родной.
swkx вне форума  
 
Непрочитано 31.03.2011, 09:00
#18
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


что-то значит с дистрибутивом и с тем что вы еще устанавливали, заменяя файлы (ну вы меня понимаете)
Krapivnik вне форума  
 
Автор темы   Непрочитано 31.03.2011, 20:02
#19
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Встроенный шаблон оказался довольно навороченным и при открытии выдал больше сотни ошибок и предупреждений. Попробую пойти другим путём: хочу попытаться создать в VS 2008 новый пустой проект на базе имеющегося шаблона Class Library, собрать из него .dll и запустить её в SW.
Не будем оригинальничать - результатом работы должно быть сообщение "Hello, World" ))
Подскажите, плиз, какие шаги нужно для этого предпринять и где должна быть исполняемая строка MsgBox("Hello, World")
swkx вне форума  
 
Непрочитано 01.04.2011, 08:41
#20
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Подскажите, плиз, какие шаги нужно для этого предпринять
Ну солидовская справка по API маст хяв конечно. И там же отдельно файл справки с примерами - тоже очень полезно.
Цитата:
Сообщение от swkx Посмотреть сообщение
где должна быть исполняемая строка MsgBox("Hello, World")
В любом событии, исполняемом после инициализации всех начальных процедур.
Не совсем понял что вы хотите сделать с этой dll. AddIn к солиду замутить?
Krapivnik вне форума  
 
Автор темы   Непрочитано 01.04.2011, 09:33
#21
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


API Help я смотрел, но пример мне на глаза пока не попался. Буду дальше изучать.

Вообще для себя я хочу решить общие вопросы:
Но есть более общие вопросы:
1. Чем в принципе отличается разработка программ для SW на VS и VSTA ? Это просто разные инструменты и в итоге получаем одно и то же или есть принципиальные отличия ?
2. Как перенести программу на другой компьютер ? Созданный .dll на нём нужно каким-либо образом зарегистрировать ?
3. По команде "Инструменты -> Макрос -> Выполнить" можно запустить только .swp-макрос ? или .dll тоже можно запускать подобным образом ?
swkx вне форума  
 
Непрочитано 01.04.2011, 10:03
#22
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
API Help я смотрел, но пример мне на глаза пока не попался. Буду дальше изучать.
примеры в sldworksapi.chm
Цитата:
Сообщение от swkx Посмотреть сообщение
1. Чем в принципе отличается разработка программ для SW на VS и VSTA ? Это просто разные инструменты и в итоге получаем одно и то же или есть принципиальные отличия ?
VBA устарел, но начинать легче с него т.к. примеры в справке (да и везде) на VBA в основном. В принципе для простых задач отличий немного, но если с классами работаете, то там уже серьезные отличия.
Цитата:
Сообщение от swkx Посмотреть сообщение
2. Как перенести программу на другой компьютер ? Созданный .dll на нём нужно каким-либо образом зарегистрировать ?
Можно. Но зачем dll я так и не понял. Компилируйте в exe. Или вы только макросы запускать хотите, почему-то я решил, что вы самостоятельное приложение хотите сделать.
Цитата:
Сообщение от swkx Посмотреть сообщение
3. По команде "Инструменты -> Макрос -> Выполнить" можно запустить только .swp-макрос ? или .dll тоже можно запускать подобным образом ?
Ну в диалоге выбора файла есть и длл, но я не пробовал запускать.
Krapivnik вне форума  
 
Автор темы   Непрочитано 01.04.2011, 10:26
#23
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


У меня ситуация такая - раньше работал с Автокадом (AutoLISP) и базами данных. На новой работе придётся дело иметь с SW. Работы будет много, наверное, и небольшие макросы нужно делать, и большие проекты.
Поэтому и пытаюсь определиться с подходами.

Про самостоятельное приложение я не очень понял. Растолкуйте, если можно, в чем суть.
swkx вне форума  
 
Непрочитано 01.04.2011, 12:05
#24
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
Про самостоятельное приложение я не очень понял. Растолкуйте, если можно, в чем суть.
Ну подход здесь простой. Не запускать макрос из солидВоркса, а запускать своё приложение отдельно, а оно уже через API отсылает в Солид команды.
Krapivnik вне форума  
 
Автор темы   Непрочитано 01.04.2011, 13:02
#25
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Понял.
А чем отличаются .swp- .swb-макросы ?
swkx вне форума  
 
Непрочитано 01.04.2011, 13:11
#26
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
А чем отличаются .swp- .swb-макросы ?
какой-то устаревший формат (swb).
Krapivnik вне форума  
 
Автор темы   Непрочитано 01.04.2011, 13:43
#27
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


А в версии 64-bit версии SW доступно только .NET
Я правильно понял ?
swkx вне форума  
 
Непрочитано 01.04.2011, 14:00
#28
Krapivnik


 
Регистрация: 04.11.2008
Город П
Сообщений: 616


Цитата:
Сообщение от swkx Посмотреть сообщение
А в версии 64-bit версии SW доступно только .NET
Я правильно понял ?
не знаю
Krapivnik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > SolidWorks > VB.NET и SolidWorks 2010

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Solidworks 2010 совместимость видеокартой Artem_78 SolidWorks 17 04.02.2012 00:25
Генная инженерия - сфера инженерного проектирования. FOXAL Разное 106 15.10.2010 13:59
SolidWorks 2010 x64 Edition SP0.0 не отображает деформированный вид моделей? 1000000$ SolidWorks 2 01.10.2010 23:14
SolidWorks 2010 Проблема с внешними ссылками Pozia SolidWorks 4 16.08.2010 19:10
SolidWorks, нужно сохранить модель из 2010 в SW2009 или еще ранние klic SolidWorks 2 04.08.2010 22:58