Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  einzelne Einträge Combobox ausblenden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
EMV Wechselrichtersimulation mit CST Studio Suite®
Autor Thema:  einzelne Einträge Combobox ausblenden (2010 mal gelesen)
Joshua63
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von Joshua63 an!   Senden Sie eine Private Message an Joshua63  Schreiben Sie einen Gästebucheintrag für Joshua63

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 25. Sep. 2015 13:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

Frage:
ist es möglich einzelne Einträge für eine Combobox in Makro auszublenden, bezogen auf den Text in einem anderen Textfeld ?

Mein Fall:
Ich habe eine Combobox in der man die Oberflächenbearbeitung auswählen kann.
Es kommt jetzt des öffteren vor, das die falsche Oberflächenbearbeitung ausgewählt wird.
Dumm gelaufen wenn z.B. bei einem Stahlteil eloxiert gewählt wird.

Ich möchte einen Bezug zum eingetragenen Material herstellen.
Wenn Alu verwendet wird, sollen alle Einträge die nur für Stahl gehen nicht zur Auswahl stehen.

ciao

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Metallica88
Mitglied
Konstrukteur; CAD Admin


Sehen Sie sich das Profil von Metallica88 an!   Senden Sie eine Private Message an Metallica88  Schreiben Sie einen Gästebucheintrag für Metallica88

Beiträge: 379
Registriert: 01.04.2009

Win7 Pro 64bit
SolidWorks 2015 SP5
MaxxDB 2015
Fujitsu Celsius M470-2 / M720
Quadro 2000 / Quadro K2000
Intel Xeon W3690 6x3,46GHz (3,73GHz) /
Intel Xeon E5-1650 6x3,2GHz (3,8GHz)
12GB RAM / 16GB RAM
120GB SSD

erstellt am: 27. Sep. 2015 13:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Joshua63 10 Unities + Antwort hilfreich

Hi,

wie befüllst du den die Combobox?
Schlussendlich brauchst du diese Befüllung ja nur abhängig vom Material machen...

Lg Metallica88

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AlexSchaaf
Mitglied



Sehen Sie sich das Profil von AlexSchaaf an!   Senden Sie eine Private Message an AlexSchaaf  Schreiben Sie einen Gästebucheintrag für AlexSchaaf

Beiträge: 21
Registriert: 23.09.2014

SWX 2014 SP5

erstellt am: 28. Sep. 2015 10:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Joshua63 10 Unities + Antwort hilfreich

Hallo,

das geht eigentlich ganz einfach:


Als erstes musst du natürlich das aktuelle Material einlesen. Ich weiß nicht wieviele verschiedene Materialien ihr einstellen könnt,
aber du müsstest im Makro dann eine händische Zuordnung machen.

Im folgenden Beispiel siehst du schonmal, wie man das Material ausliest:
http://help.solidworks.com/2012/English/api/sldworksapi/Get_Material_Property_Names_Example_VB.htm


Die Folgende Prozedur müsstest du dann im Userform_Initialize Sub ausführen:

Material einlesen

Auswerten zu welcher Klasse es gehört (Stahl, Aluminium,...)

Checkboxen einblenden/ausblenden. (Einfach Me.Checkboxname.Show=False)

Falls du weitere Tips benötigst, wäre zunächst mal interessant, ob ihr eine eigene Materialdatenbank benutzt und wie diese Aufgebaut ist.


Mfg

Alex Schaaf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Joshua63
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von Joshua63 an!   Senden Sie eine Private Message an Joshua63  Schreiben Sie einen Gästebucheintrag für Joshua63

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 28. Sep. 2015 17:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ihr beiden,

Metallica88 -->
Die Box wird mit der Liste die im Makro steht befüllt.
Kommt etwas dazu wird die Liste von mir erweitert.

Alex -->
Ich lese das Material schon aus, steht in einem Textfeld.
Wir haben eine eigene Datenbank, die den gleichen Aufbau hat wie die SWX-Datenbank.

Ich dachte man kann die Einträge in der Makroliste irgendwie mit einer Option versehen.

Das mit den 2 Boxen wäre dann auch meine Lösung gewesen.

Ciao

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



Sehen Sie sich das Profil von Andi Beck an!   Senden Sie eine Private Message an Andi Beck  Schreiben Sie einen Gästebucheintrag für Andi Beck

Beiträge: 2572
Registriert: 02.10.2006

Firma: SW 2023-4.0 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2022-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 28. Sep. 2015 21:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Joshua63 10 Unities + Antwort hilfreich

Hallo,
also mit 2 Boxen musst du nicht arbeiten.

Du kannst auch einfach eine Abfrage bei dem füllen der Combobox einfügen.

Beispiel:

Private Sub UserForm_Initialize()
   
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc
    Dim Part As SldWorks.PartDoc
    Dim Database As String
    Dim MaterialName As String

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set Part = swModel
    MaterialName = Part.GetMaterialPropertyName(Database)

    cmbSfOberfläche.AddItem "perlstrahlen"
   
    Select Case MaterialName
        Case "3.1645 (EN AW-2007)", _
            "3.3547 (EN-AW 5083)", _
            "EN AW-6060": _
            cmbSfOberfläche.AddItem "eloxieren"
            cmbSfOberfläche.AddItem "perlstr.-elox."
            cmbSfOberfläche.AddItem "polieren-elox."
    End Select

    cmbSfOberfläche.AddItem "verzinken"
    cmbSfOberfläche.AddItem "polieren"
    cmbSfOberfläche.AddItem "lackieren"

End Sub

So wird zwischen "perlstrahlen" und "verzinken" drei weitere Varianten von "eloxieren" eingefügt, vorausgesetzt, es ist das richtige Material.
Materialvarianten gibst du in der Case Anweisung an.
Die genaue Schreibweise kannst du dir mit

Debug.Print " Material = " & MaterialName

holen.

Aber evtl. solltest du dir lieber beim beenden des Makros eine Abfrage einbauen und eine Msg-Box aufpoppen lassen, wenn da unverträgliche Einträge vorhanden sind.

Grüße, Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Joshua63
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von Joshua63 an!   Senden Sie eine Private Message an Joshua63  Schreiben Sie einen Gästebucheintrag für Joshua63

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 29. Sep. 2015 11:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andi,

mal sehen ob ich das verstanden habe:

das ist die variable fürs Material: MaterialName = Part.GetMaterialPropertyName(Database)
Holst du dir den Materialnamen aus der Datenbank oder dem Teil ?
Ich schreibe das Material schon in ein Textfeld (evaluierte Wert), das könnte ich auch verwenden, oder ?

>
cmbSfOberfläche.AddItem "perlstrahlen"

  Select Case MaterialName
      Case "3.1645 (EN AW-2007)", _
            "3.3547 (EN-AW 5083)", _
            "EN AW-6060": _
            cmbSfOberfläche.AddItem "eloxieren"
            cmbSfOberfläche.AddItem "perlstr.-elox."
            cmbSfOberfläche.AddItem "polieren-elox."
    End Select

    cmbSfOberfläche.AddItem "verzinken"
    cmbSfOberfläche.AddItem "polieren"
    cmbSfOberfläche.AddItem "lackieren"
>

Das sind die Einträge für die combobox, den ersten setzt du normal und mit "SelectCase" trägst du materialbedingte Einträge fest. Die letzten 3 sind dann wieder normal gesetzt.

Kann ich "SelectCase" auch mit "If" verwenden ?
Wenn das Material ALU ist sollen auch nur Einträge für ALU drin stehen.
Für Stahl gilt dann das gleiche.

Das Ganze muss ich dann dort einfügen wo ich die Daten aus dem Teil auslese.
Die Liste für die combobox, die ich jetzt im Makro stehen habe fällt dann weg, oder ?

Danke für die Info....

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 29. Sep. 2015 13:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Joshua63 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Joshua63:
...
Kann ich "SelectCase" auch mit "If" verwenden ?
...

???

wenn du "SelectCase" hast, wozu möchtest du dann noch "if"?

case a1, a2, a3 ...
  "aluliste"

case st1, st2, st3 ...
  "stahlliste"

ist doch das gleiche wie
if material=a1 or material=a2 or material=a3 ....

if material=st1 or material=st2 or material=a3 ...

nur viel kürzer ... 

wenn da nichts allgemeingültig bleibt, kann das wohl wegbleiben ...

oder hab ich da was falsch verstanden?

Gruß, Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Joshua63
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von Joshua63 an!   Senden Sie eine Private Message an Joshua63  Schreiben Sie einen Gästebucheintrag für Joshua63

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 29. Sep. 2015 14:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

Ich habe 3 Kategorien von Oberflächenbearbeitungen:
Alu, Stahl und Materialunabhängig.

ich dache ich kann mir die Stahlliste ersparen (bestimmt mindestens 70 Sorten).
Wir haben nicht mehr als 10 Alusorten im Einsatz, bei Stahl sieht das schon viel schlimmer aus.
Ich dachte an sowas wie:
wenn alu dann nimm die Aluliste, sonst nimm die anderen Einträge für Stahl.
als letztes dann ganz normal die Einträge die Materialunabhängig sind und immer drin stehen.

Strukturbeispiel:

cmbSfOberfläche.AddItem "--- keine ---"

if  Case.........(ALU)  dann
      cmbSfOberfläche.AddItem "eloxieren"
      cmbSfOberfläche.AddItem "perlstr.-elox."
      cmbSfOberfläche.AddItem "polieren-elox."

    else (für Stahl)
      cmbSfOberfläche.AddItem "oxidieren"
      cmbSfOberfläche.AddItem "härten"
      cmbSfOberfläche.AddItem "brünieren"
end if

(materialunabhängig)
cmbSfOberfläche.AddItem "lackieren"
cmbSfOberfläche.AddItem "pulvern"

ENDE

nur mal so die Struktur dargestellt, ist das verständlich ?   

Gruß


------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 29. Sep. 2015 17:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Joshua63 10 Unities + Antwort hilfreich

Hallo,

habe jetzt nicht in die DIN oder in deine Materialnamensliste geschaut, aber viellicht mit "like" ? (oder ähnlichem)

if Material like "3.*"  then' Alu

oder kommt man auch an die Materialkategorie?

Dann muss die Liste im Makro nicht nachgepflegt werden.

Gruß, Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Joshua63
Mitglied
Maschinenbautechniker


Sehen Sie sich das Profil von Joshua63 an!   Senden Sie eine Private Message an Joshua63  Schreiben Sie einen Gästebucheintrag für Joshua63

Beiträge: 371
Registriert: 08.11.2006

W10 SP1
Intel i7 8700K
Quatro P4000
32GB RAM
SW 2021 SP4.1
SWX PDM Professional 2021

erstellt am: 30. Sep. 2015 10:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

so was in der Richtung hab ich mir auch gedacht.
Da ich das Material eh schon in einem Textfeld habe, könnte ich die ersten beiden Buchstaben "AL" als Kriterium abfragen und müsste die Liste auch nicht nachpflegen.

Werde mal ein wenig probieren........

Danke für die Anregungen an alle.

ciao

------------------
Viele Wege führen zum Ziel .......... und ich will alle wissen !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz