Makro-Edition der Solidworks-Tabelle

Hallo

Unter sw2017 möchte ich eine Revisionstabelle nach Makro bearbeiten.

In meinem MEP habe ich eine Variable "Datum ind A" und eine Variable "Verfasser der Stellungnahme".

Heute, nach einer Kopie des Projekts, muss ich die Revisionstabellen aller Pläne im Projekt aktualisieren, indem ich diese Variablen integriere.

Ich möchte diese Variablen automatisch den entsprechenden Boxen meiner Revisionstabelle zuweisen. Ist es möglich?

Vielen Dank im Voraus.

Fred

Hallo

 

Wenn Sie sagen, indem Sie seine Mittel integrieren, indem Sie die Tabelle erstellen und ergänzen oder einfach nur den Wert ändern?

1 „Gefällt mir“

Ich möchte, dass in der Zelle der Wert der benutzerdefinierten Eigenschaft der Datei angezeigt wird.

Heute ersetze ich den Text der Zellen durch folgenden text$PRP: "Date indA" zum Beispiel, aber da ich viele Pläne habe, möchte ich diesen Schritt automatisieren.

Können Sie uns ein Beispiel für eine Zeichnung schicken, die Sie ändern?

Ich habe es geschafft, mit dem folgenden Code ziemlich genau das zu tun, was ich wollte:

Sub main()

Legen Sie swApp = Application.SldWorks fest

Set Part = swApp.ActiveDoc
myModelView als Objekt dimmen
Festlegen von myModelView = Part.ActiveView

myModelView.FrameState = swWindowState_e.swWindowMaximized

boolstatus = Part.Extension.SelectByID2("détail166@Feuille1 Objekt", "REVISIONTABLE", 0.238189661374546, 5.37305690286136E-02, 0, Falsch, 0, Nichts, 0)
Part.EditDelete

currentSheet als Objekt dimmen
Dimmen von myRevisionTable als Objekt
Set currentSheet = Part.GetCurrentSheet()
Set myRevisionTable = currentSheet.InsertRevisionTable(True, 0.41, 4.01116812853213E-02, 4, "T:\BEM\Solidworks\Models\Table Revision\Revision TESTELEC - DATE - DRAFTSMAN.sldrevtbt")
boolstatus = Part.Extension.SelectByID2("détail167@Feuille1 Objekt", "REVISIONTABLE", 0.237457760308212, 4.89732120974398E-02, 0, Falsch, 0, Nichts, 0)
Set currentSheet = Part.GetCurrentSheet()
Legen Sie myRevisionTable = currentSheet.RevisionTable fest
longstatus = myRevisionTable.AddRevision("A")
boolstatus = Part.ActivateView("Layoutansicht1")
boolstatus = Teil.ActivateSheet("Blatt1")
boolstatus = Part.Extension.SelectByID2("détail167@Feuille1 Objekt", "REVISIONTABLE", 0.373957309179585, 4.80583357645217E-02, 0, Falsch, 0, Nichts, 0)
Part.ClearSelection2 Wahr

myTable als Objekt dimmen
Legen Sie myTable = myRevisionTable fest
myTable.Text(0, 2) = "$PRP:"""Datum ind A"""
Part.ClearSelection2 Wahr
Legen Sie myTable = myRevisionTable fest
myTable.Text(0, 3) = "$PRP:""Verfasser der Stellungnahme"""
Part.ClearSelection2 Wahr
Legen Sie myTable = myRevisionTable fest
myTable.Text(0, 1) = "Erstellung"

boolstatus = Part.Extension.SelectByID2("Sheet1", "SHEET", 0.364259620050653, 6.48920602902139E-02, 0, False, 0, Nichts, 0)

"Makro-Einführung
Dim runMacroError       So lange

boolstatus = swApp.RunMacro2("T:\BEM\Solidworks\Vorlagen\Makros\Grundkarte neu laden\changebasemaps.swp", "ChangeBasePlanwp1", "main", swRunMacroDefault, runMacroError)
Ende Sub

 

Jetzt muss nur noch ein Weg gefunden werden, die Tabelle zu Beginn automatisch auszuwählen, anstatt darauf klicken zu müssen....

 

Guten Abend

Meiner Meinung nach müssen Sie es nicht zuerst auswählen.

Schauen Sie sich stattdessen dieses Beispiel in der API-Hilfe an: http://help.solidworks.com/2017/English/api/sldworksapi/Get_Revision_Table_Example_VB.htm

1 „Gefällt mir“