Forum:SolidWorks Enterprise PDM
Thema:Seriennummer ��ber Button in Feld schreiben
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
riesi

Beiträge: 1013 / 268

SWX Office Pre. 2020-Sp5

Ja, dass geht über ein Add-In. In der Datenkarte wird ein Button eingefügt, mit dem Befehlstyp "Add-In starten".

Das Add-In selber wird mit Visual Studio in VB.NET oder C# programmiert.

Mit

Code:
poCmdMgr.AddHook(EdmCmdType.EdmCmd_CardButton)
werden grundsätzlich Buttons aktiviert und der Typ wird mit

Code:
Select Case poCmd.meCmdType
            Case EdmCmdType.EdmCmd_CardButton
                Select Case poCmd.mbsComment
                    Case "{Befehl aus der Datenkarte}"


abgeholt.

Zum Finden der Serien-Nummer:

Code:
Dim serialNbrs As IEdmSerNoGen7
serialNbrs = oVault.CreateUtility(EdmUtility.EdmUtil_SerNoGen)
Dim serialNbr As IEdmSerNoValue
serialNbr = serialNbrs.AllocSerNoValue("{Name des Seriennummern-Generators}", poCmd.mlParentWnd)
Dim serialNbrvalue As String = serialNbr.Value

Die so gewonnene Seriennummer kann dann mit folgenden Befehlen geschrieben werden:

Code:
Dim enumVariable As IEdmEnumeratorVariable10
enumVariable = sFile.GetEnumeratorVariable
While Not curConfpos.IsNull
  confname = enumConfs.GetNext(curConfpos)
  enumVariable.SetVar("{Name der Variable}", confname, serialNbrvalue)
End While
enumVariable.SetVar("{Name der Variable}", "@", serialNbrvalue)
enumVariable.Flush()

Ich gehe davon aus, dass es alle Konfigurationen betrifft und die Globale.
                      

[Diese Nachricht wurde von riesi am 30. Jul. 2021 editiert.]