Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Konfig aktivieren über Dateieigenschaft

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
  
SOLIDWORKS Schweißkonstruktion, ein Seminar am 29.01.2026
Autor Thema:  API: Konfig aktivieren über Dateieigenschaft (304 mal gelesen)
Bernd Knab
Mitglied



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

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 22. Sep. 2006 13:59    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,

ich habe ein kleines Makro geschrieben, welches mir eine bestimmte Konfiguration aktiviert, indem ich vorher den Wert einer konfigurationsspez. Dateieigenschaft abgefragt habe:

Dim swApp                   As Object
Dim swModel                 As Object
Dim AktiveKonfig            As Object
Dim vConfNameArr            As Variant
Dim bShowConfig             As Boolean
Dim i                       As Integer
Dim MaterialnummerGesucht   As String
Dim sConfigName             As String
Dim Materialnummer          As String

Sub main()

    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc
   
    MaterialnummerGesucht = InputBox("Materialnummer eingeben:")
   
    vConfNameArr = swModel.GetConfigurationNames
   
    For i = 0 To UBound(vConfNameArr)
        sConfigName = vConfNameArr(i)
        bShowConfig = swModel.ShowConfiguration2(sConfigName)
        Set AktiveKonfig = swModel.GetActiveConfiguration
        Materialnummer = swModel.CustomInfo2(sConfigName, "Materialnummer")
        If Materialnummer = MaterialnummerGesucht Then Exit Sub
    Next i

    MsgBox ("Materialnummer nicht vorhanden" & MaterialnummerGesucht)

End Sub


Leider ist die Durchlaufzeit des Makros sehr lange bei komplexen Teilen mit vielen Konfigs.

Gibt es eine Möglichkeit das Makro zu optimieren, um eine schnellere Abarbeitungszeit zu erhalten?

Gruß Bernd

[Diese Nachricht wurde von Bernd Knab am 22. Sep. 2006 editiert.]

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

VBSpawn
Mitglied
Programmierer


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

Beiträge: 514
Registriert: 23.08.2005

Sorgfältige Planung ersetzt niemals pures Glück.

erstellt am: 22. Sep. 2006 14:10    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 Bernd Knab 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd Knab:
Hallo Zusammen,
    For i = 0 To UBound(vConfNameArr)
        sConfigName = vConfNameArr(i)
        bShowConfig = swModel.ShowConfiguration2(sConfigName)
        Set AktiveKonfig = swModel.GetActiveConfiguration
        Materialnummer = swModel.CustomInfo2(sConfigName, "Materialnummer")
        If Materialnummer = MaterialnummerGesucht Then Exit Sub
    Next i
End Sub


Hi,

1. siehe->  http://ww3.cad.de/foren/ubb/Forum2/HTML/010758.shtml#000008

und 2.
Warum aktivierst du jede Konfig? Kannste nicht besser hingehen und wenn deine Mat# gefunden wurde diese Konfig Aktivieren ?

If Materialnummer = MaterialnummerGesucht Then
  bShowConfig = swModel.ShowConfiguration2(sConfigName)
  Exit Sub
end if

Gruß
Micha 

------------------
Manche Menschen gehen so plötzlich, daß die Zeit für einen Abschied nicht reicht…

Zitat:
Interpunktion und Orthographie des Postings sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

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

Bernd Knab
Mitglied



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

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 22. Sep. 2006 14:29    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 Micha,

danke für den 2. Tip. Ich habe mir aus einem alten Makro die Zeilen herausgenommen. Dort schreibe ich aber in jeder Konfig etwas und mußte sie deshalb aktivieren. Ich habe nicht daran gedacht, daß ich nur zum Lesen der konfigspez. Eigenschaft nichts aktivieren muß.

Danke
Bernd

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

Piet
Mitglied
Konstruktionsleiter & Konstrukteur


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

Beiträge: 661
Registriert: 20.11.2001

SWx 2021

erstellt am: 25. Sep. 2006 13:28    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 Bernd Knab 10 Unities + Antwort hilfreich

Vorschlag zum Komfort: Ich würde am Anfang des Makros die Konfigurationseigenschaften auslesen und eine Combobox damit füllen, so dass der Anwender nur noch den Namen aus der Liste auswählen muss und nicht tippen muss.

Piet

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

Bernd Knab
Mitglied



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

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 25. Sep. 2006 13:43    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 Piet,

danke für den Vorschlag. Aber hier ist es schneller eine 6-stellige Zahl einzugeben, als durch eine Auswahl zu scrollen und die Nummer zu suchen.

Gruß Bernd

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