nuova barra degli strumenti

strudeldemele

Utente registrato
Professione: Progettista
Software: autocad mechanical, solidworks 2017
Regione: veneto
#1
Buongiorno a tutti,
mi chiedevo se in SW 2017 è possibile creare una nuova barra degli strumenti personalizzata, senza utilizzarne una esistente
Grazie per la collaborazione
buona giornata a tutti
 

strudeldemele

Utente registrato
Professione: Progettista
Software: autocad mechanical, solidworks 2017
Regione: veneto
#4
...stavo proprio cercando il modo di inserirla tramite add-in; riuscite a passarmi anche il programma in VBA per poter inserire delle barre strumenti ad-hoc?
Mi spiego: dovrei interfacciare con SW2017 un gestionale creato internamente, e avrei bisogno di inserire più barre degli strumenti appositi.
Grazie per la cortese collaborazione.
buon lavoro a tutti
 

Mithas

Utente Junior
Professione: Disegnatore/Progettista
Software: SolidWorks, AutoCAD, Inventor, DraftSight
Regione: Veneto
#5
Ciao,

mi ricollego a questa discussione per sapere se per caso avete trovato il codice sorgente della barra personalizzata in C#.

Sto cercando di crearne una all'interno di un Add personalizzato, seguendo le varie guide in linea riesco a far funzionare più o meno tutto. Mi rimane da risolvere un problema. Non riesco a far riconoscere le Icone personalizzate che ho fatto.

Avreste l'implementazione delle icone per i menù in C#?
 

shirokko

Utente Junior
Professione: Progettista cad-cam
Software: CimatronIT, Cimatron 13, Rhinoceros 5, Solidworks 2019, SolidCAM 2018
Regione: Marche
#6
Avreste l'implementazione delle icone per i menù in C#?
Se nella creazione della tua addin sei partito dalla template compresa nell'sdk, quella che dovrebbe comparirti come SwCSharpAddin, hai già tutto.

Se non funziona può dipendere dal fatto che all'interno del tuo progetto l'immagine che hai usato ha le proprietà sbagliate.
Controlla se l'azione di compilazione è come quella delle immagini predefinite della template.
 

Mithas

Utente Junior
Professione: Disegnatore/Progettista
Software: SolidWorks, AutoCAD, Inventor, DraftSight
Regione: Veneto
#7
No non ho usato SDK. Me la sono riscritta, copiandola più o meno, dal API Help di SW.
Quello che non riesco a fare è impostare IconList e MainIconList. Ovvero non riesco a far comparire le icone al posto dell pallino blu con la i. Il resto è ok...
 

shirokko

Utente Junior
Professione: Progettista cad-cam
Software: CimatronIT, Cimatron 13, Rhinoceros 5, Solidworks 2019, SolidCAM 2018
Regione: Marche
#8
No non ho usato SDK. Me la sono riscritta, copiandola più o meno, dal API Help di SW.
Quello che non riesco a fare è impostare IconList e MainIconList. Ovvero non riesco a far comparire le icone al posto dell pallino blu con la i. Il resto è ok...
Che versione di Visual Studio usi?
 

Mithas

Utente Junior
Professione: Disegnatore/Progettista
Software: SolidWorks, AutoCAD, Inventor, DraftSight
Regione: Veneto
#9
VS 2017..

Credo che l'implementazione delle icone nel Commang Menager avvenga qui:

cmdGroup = iCmdMgr.CreateCommandGroup2(mainCmdGroupID, Title, ToolTip, "", -1, ignorePrevious, ref cmdGroupErr);

icons[0] = @"multi_iCO20";
icons[1] = @"multi_iCO32";
icons[2] = @"multi_iCO40";
mainIcons[0] = @"ico_20";
mainIcons[1] = @"ico_32";
mainIcons[2] = @"ico_40";

cmdGroup.IconList = icons;
cmdGroup.MainIconList = mainIcons;

int menuToolbarOption = (int)(swCommandItemType_e.swMenuItem | swCommandItemType_e.swToolbarItem);

cmdGroup = iCmdMgr.CreateCommandGroup(1, "Addin", "Funzionalità Personalizzate", "", 3);

cmdIndex0 = cmdGroup.AddCommandItem2("xxx", 0, "xxx", "xxx", 0, "_Metodo1", "", mainItemID1, menuToolbarOption);
cmdIndex1 = cmdGroup.AddCommandItem2("xxx", 1, "xxx", "xxx", 1, "_Metodo2", "", mainItemID2, menuToolbarOption);
cmdIndex2 = cmdGroup.AddCommandItem2("xxx", 2, "xxx", "xxx", 2, "_Metodo3", "", mainItemID3, menuToolbarOption);

cmdGroup.HasToolbar = true;
cmdGroup.HasMenu = true;
cmdGroup.Activate();

bool bResult;

flyoutGroup = iCmdMgr.CreateFlyoutGroup2(flyoutGroupID, "Dynamic Flyout", "Dynamic Flyout", "Flyout Hint", mainIcons, icons, "FlyoutCallback", "FlyoutEnable");

Come da pagina di SW:

http://help.solidworks.com/2017/eng...outs_in_the_CommandManager_Example_CSharp.htm
 

shirokko

Utente Junior
Professione: Progettista cad-cam
Software: CimatronIT, Cimatron 13, Rhinoceros 5, Solidworks 2019, SolidCAM 2018
Regione: Marche
#10
L'implementazione delle immagini non è solo nel codice. Vanno anche inserite nel progetto.

Se hai installato l'API SDK di Solidworks, questo ti installa il template per l'addin. Purtroppo non lo crea nel posto giusto per VS2017.

Ti allego la template. Metti il file così come è in Documenti\Visual Studio 2017\Templates\ProjectTemplates\Visual C#

Se crei un progetto da questa vedi tutti i dettagli, così puoi replicarli nel tuo.
 

Allegati