| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Smart Engineering Session: CAD-Automation in SOLIDWORKS in Hannover, eine Veranstaltung am 18.08.2026
|
|
Autor
|
Thema: API: Übernahme eines "Selektionsnamen" in eine TextBox (723 mal gelesen)
|
thomas27 Mitglied

 Beiträge: 12 Registriert: 25.09.2002
|
erstellt am: 27. Sep. 2002 02:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo, bei SolidWorks gibt es so eine rote „TextBox“, wenn man in diese hineingeht und dann z.B. in einem Part auf eine Bemaßung klickt, wird automatisch der Name in diese eingetragen. Den Namen der Selektion könnte man z.B. durch die folgende Funktion bekommen: Function getSwSelectedDimensionName() As String Dim selMgr As Object Set selMgr = Model.SelectionManager If (selMgr.GetSelectedObjectType(1) = swSelDIMENSIONS) Then Set selObj = selMgr.GetSelectedObject2(1) getSwSelectedDimensionName = selObj.FullName End If End Function Aber durch welches Ereignis müsste diese Funktion ausgelöst Werden? Oder habe ich, wenn SolidWorks durch ein externes Programm gesteuert wird, keine Chance dieses auch hinzubekommen? Hat jemand damit schon Erfahrungen gesammelt. Gruß Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndB Mitglied Ingenieur
  
 Beiträge: 616 Registriert: 28.09.2001
|
erstellt am: 27. Sep. 2002 11:15 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas27
Hallo Thomas, so wie ich dich verstanden habe möchtest du in die Rote Auswahlbox bestimmte Werte eintragen. Dazu mußt du die entsprechende Funktion z.B. Lineares Muster ( Auswahl welche Feature) per API ansprechen und dem Feater die entsprechenden Werte übergeben. Wenn das Feature das du mit Maßen füttern willst einen Namen hat, kannst du dieses mit dem selMgr ansprechen und diesem Objekt deine Werte geben. Alles weiter findest du direkt in der Hilfe unter dem entsprechenden Featurenamen. MfG
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas27 Mitglied

 Beiträge: 12 Registriert: 25.09.2002
|
erstellt am: 30. Sep. 2002 00:40 <-- editieren / zitieren --> Unities abgeben:         
Hallo, fürs Erste habe ich das Problem mit einem Timer gelöst. Vielleicht hat jemand noch eine andere Idee. Gruß, Thomas Private Sub Timer1_Timer() If Not Screen.ActiveControl Is Nothing Then If Screen.ActiveControl.Name = "editFunktionName" Then initSw If Not getSwSelectedDimensionName = "" Then editFunktionName = getSwSelectedDimensionName lableFunctionValue = runden(getSwDimensionValue(editFunktionName), 6) End If End If End If End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
 
 Beiträge: 209 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 30. Sep. 2002 09:16 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas27
|
thomas27 Mitglied

 Beiträge: 12 Registriert: 25.09.2002
|
erstellt am: 12. Feb. 2003 14:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo Armin, das kingt gut und ich wollte deine Idee gerade aufgreifen. Doch muß ich gestehen, dass ich nicht weiß wie man Events unter c++ entsprechend abfangen kann. Meine Recherche im Netz brachte mich auch nicht viel weiter. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas27 Mitglied

 Beiträge: 12 Registriert: 25.09.2002
|
erstellt am: 13. Feb. 2003 13:25 <-- editieren / zitieren --> Unities abgeben:         
|
Axel Mitglied
 
 Beiträge: 169 Registriert: 05.09.2000
|
erstellt am: 14. Feb. 2003 12:57 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas27
Moin Thomas, vielleicht solltest du mal einen Blick auf PropertyManagerPage2 und PropertyManagerPageSelectionBox werfen (in der API Hilfe seit 2001plus). Damit kannst du deine Makros und VB-EXEs in dem Eigenschaften-Manager von SWX einbauen. Die Selectionbox, wie du sie brauchst ist mit allen Funktionen schon dabei. Und die Programme sehen dann richtig geil aus! Unter [url]www.solidworks.com/API [/url] gibts auch ein gutes Beispiel. Hi Armin, altes Haus! Axel ------------------ Axel Dengler SolidLine AG Hamburg www.solidline.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel Mitglied
 
 Beiträge: 169 Registriert: 05.09.2000
|
erstellt am: 14. Feb. 2003 12:59 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas27
|
thomas27 Mitglied

 Beiträge: 12 Registriert: 25.09.2002
|
erstellt am: 15. Feb. 2003 18:31 <-- editieren / zitieren --> Unities abgeben:         
|
Armin B Mitglied Software Engineer ERP/PLM/CAD
 
 Beiträge: 209 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 17. Feb. 2003 13:21 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas27
|