0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 47
1

Calling Add-in (C#) Solidworks PDM API

12.05.2022, 16:27. Показов 113. Ответов 0

Доброго времени суток! Возникла проблема: не получается вызвать приложение из карты файла. Сделал как в хелпере, но при нажатии всё равно ничего не происходит.(ссылка на сам хелпер)
Возможно проблема заключается в имени самого приложения, которое я указываю в кнопке карты данных.
PS Ниже код из обучалки по работе с Solidworks PDM API

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
{
       //Specify information to display in the add-in's Properties dialog box
       poInfo.mbsAddInName = "My serial number generator";
       poInfo.mbsCompany = "The name of my company";
       poInfo.mbsDescription = "Implements serial numbers";
       poInfo.mlAddInVersion = 1;
       poInfo.mlRequiredVersionMajor = 5;
       poInfo.mlRequiredVersionMinor = 2;
 
       //Notify the add-in when a file data card button is clicked
       poCmdMgr.AddHook(EdmCmdType.EdmCmd_CardButton);
}
 
public void OnCmd(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
     {
            //Respond only to a specific button command
            //The button command to respond to begins with "MyButton:" and ends with the name of the 
            //variable to update in the card 
            if (Strings.Left(poCmd.mbsComment, 9) == "MyButton:")
            {
                //Get the name of the variable to update. 
                string VarName = null;
                VarName = Strings.Right(poCmd.mbsComment, Strings.Len(poCmd.mbsComment) - 9);
 
                //Let the user select the file whose path will be copied to the card variable
                EdmVault5 vault = default(EdmVault5);
                vault = (EdmVault5)poCmd.mpoVault;
                IEdmStrLst5 PathList = default(IEdmStrLst5);
                PathList = vault.BrowseForFile(poCmd.mlParentWnd, (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles, "", "", "", "", "Select File for " + VarName);
 
                if ((PathList != null))
                {
                    string path = null;
                    path = PathList.GetNext(PathList.GetHeadPosition());
 
                    //Store the path in the card variable 
                    IEdmEnumeratorVariable5 vars = default(IEdmEnumeratorVariable5);
                    vars = (IEdmEnumeratorVariable5)poCmd.mpoExtra;
                    object VariantPath = null;
                    VariantPath = path;
                    vars.SetVar(VarName, "", VariantPath);
                }
            }
 
            return;
     }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2022, 16:27
Ответы с готовыми решениями:

Solidworks PDM api add-in
Здравствуйте! Встал вопрос: При создании собственного add-in приложения нужно сделать кнопку,...

Создание нового хранилища в SolidWorks PDM
При попытке создать новое хранилище файлов в SolidWorks PDM всплывает сообщение "не удалось...

SolidWorks PDM всплывает постоянно окно установщика!
Как удалить полностью SolidWorks PDM???? Постоянно при различных манипуляций(закрытия окна любого,...

C# + API SolidWorks
Начинаю работать с API….вопрос в том што когда создаю новий документ детали SwApp.NewPart(); ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2022, 16:27
Помогаю со студенческими работами здесь

API Solidworks
В SolidWorks2020 записал макрос построения 3D модели зубчатого косозубого колеса, но столкнулся с...

Перезапуск SolidWorks API
Подскажите пожалуйста как перезапустить полностью SolidWorks? Пишу так, не помогает. Само окно...

Экземпляр класса SolidWorks API
Есть две формы, в первой при нажатии на кнопку открывается SolidWorks по своему GUID. Далее...

Свойства конфигураций SolidWorks через API
Доброе время суток. У меня самодельная программа на С# создаёт деталь. И мне необходимо что бы...

SolidWorks API - объяснить строку кода
Что обозначает строка hr = SWApp->get_IActiveDoc2(&SWModel); ?

Внесение материала в SolidWorks через API
Доброе время суток. У меня самодельная программа на С# создаёт деталь. И мне необходимо присвоить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru