PB mit VBA Newsheet4. Fügt ein Blatt in eine Zeichnung ein, zeigt jedoch nicht die ausgewählte Grundkarte an. Gezwungen, es manuell von SW aufzuladen

Unter Sw 2015 und höher kann ich die VBA-Anweisungen Newsheet3 oder Newsheet4 zum Einfügen eines neuen Blatts in eine Zeichnung aus einem VBA-Makro nicht abrufen:

Das Blatt wird zwar mit dem angegebenen Hintergrund erstellt, aber es wird nicht angezeigt. Ich muss die Zeichnung in sw öffnen, die Blatteigenschaften ausführen / neu laden, damit sie angezeigt wird.

Beachten Sie, dass es mit den in der Hilfe bereitgestellten Beispielen für Makros auch nicht funktioniert.

Gibt es den Anfang einer Lösung?

Vielen Dank

 

Hallo

Im Beispiel der Hilfe: http://help.solidworks.com/2015/english/api/sldworksapi/Create_Drawing_Sheet_Zones_Example_VB.htm

Sie verwenden die swModel.ForceRebuild3-Methode mit dem Schritt True :

swModel.ForceRebuild3 True

 

Dies entspricht einem "Nachladen".

Hallo 

Ich habe diesen Track ausprobiert, er funktioniert nicht besser, ich habe auch versucht, ein setupSheet zu wiederholen, auch das fdp von VBA zu bearbeiten, aber es geht nicht!!

Trotzdem vielen Dank

A+

Hallo

Wenn die Grundkarten angepasst sind, müssen Sie die Informationen aus dem ursprünglichen Blatt abrufen, da die SW aus dem Arbeitsspeicher auf die Standardvorlagen angewiesen ist.

Sehen Sie sich swSheet.GetProperties in der API-Hilfe an.

1 „Gefällt mir“

Hallo

Ja, dies sind benutzerdefinierte Grundkarten, aber die Vorlagen sind auf 1 Server  verfügbar und  in den Einstellungen des neuen Blattes gebe ich den richtigen Pfad an, übrigens  funktionierte NewSheet3 sehr gut unter sw2014 mit den gleichen Parametern vor dem Erscheinen der Gebiete auf den Kartenblättern (konfigurierbar in New Sheet4).

Auf der anderen Seite, wenn ich NewSheet3 (ohne die Zonen) in sw2015 verwende, funktioniert es nicht besser. Es gibt eine Veränderung, die ich nicht bestimmen kann.

Vielleicht hat jemand newshhet4 kürzlich erfolgreich genutzt, es wäre interessant, sein Feedback zu hören.

Im Anhang die Eigenschaften des eingefügten Blattes (mir erscheint mir alles normal) und ich habe von getTemplateName überprüft, dass das richtige fdp gut berücksichtigt wird.

 


sheetprop_feuille_inseree.jpg

Ich für meinen Teil bin unter 2016, mit der Zeile unten klappt es problemlos:

     boolstatus = swDraw.NewSheet4("Test", swDwgPaperA3size, swDwgTemplateCustom, 1, 1, True, "xxx:\SOLIDWORKS TEMPLATES\Basemaps\a3.slddrt", 0, 0, "", 0.5, 0.5, 0.5, 0.5, 0, 0)
 

1 „Gefällt mir“

Danke Cyril, 

Tatsächlich habe ich gerade festgestellt, dass SW das FDP nicht neu laden kann, wenn das neue Blatt das gleiche Format und die gleiche Ausrichtung wie das vorherige hat. Wenn Sie ein anderes  Format wählen, funktioniert es.

Ich habe meinen PB gelöst, indem ich absichtlich ein falsch orientiertes Blatt eingefügt und es dann mit einem Setupsheet umgedreht habe.

mein Code in PJ.

Vielen Dank 

A+


fonctionne.txt

Überraschend, weil die Zeile, die ich gesetzt habe, und die Datei, mit der ich getestet habe, A3 für A3 war.

1 „Gefällt mir“

Hallo

Die Zeile von Cyril.f funktioniert auch sehr gut für mich, be.adl Es gibt eine Sache, die mich in Ihrem Codebeispiel ein wenig überrascht, Sie definieren eine swDraw-Variable als DrawingDoc, aber Sie arbeiten an der Part-Variablen, die Sie als ModelDoc2 in Ihren Funktionen NewSheet3 und SetupSheet5 definiert haben, ist das freiwillig und würde der Unterschied in der Bedienung von dort kommen?

Herzliche Grüße

Hallo

In der Tat, wenn ich zu Modeldoc2  oder drawingDoc zurückgehe, habe ich Zugriff auf activateSheet() für das neue erstellte Blatt. Ich habe nicht überprüft, ob es wirklich notwendig ist, aber es funktioniert so.

Was die Bedienung von Newshhet4() betrifft, so stottert es für mich nur, wenn das neu eingefügte Blatt das gleiche Format und die gleiche Ausrichtung hat wie die Blätter, die bereits im Originaldokument vorhanden sind.

Grüße A+