Makro zum Erstellen neuer Pläne für ein importiertes Teil

Hallo ihr alle 

Ich möchte über die Möglichkeit aufgeklärt werden, Pläne mit vordefinierten Namen zu erstellen oder nicht. Ich arbeite nur an importierten Teilen und das ursprüngliche Layout der Pläne gefällt mir oft nicht. Daher würde ich gerne wissen, ob es eine Technik gibt, um ihre Erstellung zu automatisieren, und dass der Name je nach erstelltem Plan immer derselbe sein wird. 

Vielen Dank 

Hallo

Ja, es ist möglich, Pläne per Code zu erstellen.

Das Problem ist, dass Sie Referenzen benötigen, um Pläne zu erstellen. Mit dem Makro müssen Sie also nicht nur vermeiden, dass Sie auf einen neuen Plan klicken, sondern auch die Referenzen im Voraus auswählen, was es meiner Meinung nach nutzlos macht, ein Makro zu verwenden.

Wenn Sie wissen, dass Sie ziemlich fortgeschrittene Makros ausführen können, können Sie eine Auswahlklasse erstellen, dynamisch ein Formular erstellen, die Kombinationen von Auswahlen in eine Sammlung einfügen und diese Sammlung durchlaufen, um die Gliederungen zu erstellen. (ca. 4 Stunden Programmierung für einen Genießer)

Nach diesem Prinzip füllen Sie das Formular mit all Ihrer Auswahl aus und starten das Makro, das sich um die Erstellung der Pläne kümmert.

1 „Gefällt mir“

Hallo Jean-Luc Villamy, ein ähnliches Thema wurde bereits diskutiert, vielleicht kann es Ihnen passen? http://www.lynkoa.com/forum/electrique/macro-pour-changement-dorientation-des-vue-sous-solidworks

Ansonsten können wir sehen, ob du uns eine Beispieldatei mit dem zu erstellenden Plan schickst:)

1 „Gefällt mir“

@Yves.T Ich bin nur neu im VBA-Code, und diese Schritte, die Sie beschreiben, scheinen für meine Codierungsstufe nicht durchführbar zu sein. Ich hatte gehofft, dass jemand einen Makrorahmen hat, der so nah wie möglich an dem ist, was ich tun möchte, und den ich an meine Bedürfnisse anpassen kann. 

@Mad ja, ich weiß es, seit ich derjenige war, der dieses Thema gepostet hat :) Ich habe es geschafft, das Makro, das Sie mir gegeben haben, so anzupassen, dass es auf meine Weise funktioniert. In diesem Fall versuche ich nicht mehr, die Ausrichtung meines Teils in Bezug auf die Koordinatensysteme zu ändern, sondern ich erstelle neue Ebenen, die einen definierten Namen entsprechend dem Koordinatensystem haben (x;y; z). Zum Beispiel NOM_PRENOM_FACE und das für die drei Ebenen... GESICHT... DOITE und ... ÜBER der Markierung, so dass ich sie beim Starten des Makros nur nach Belieben einschränken muss. Das Problem mit dem Makro, das Sie mir gegeben haben, besteht darin, dass einige Teile nicht die eingeschränkten Ebenen auf den Oberflächen haben, die ich möchte, sodass dieses Makro mein Problem nicht direkt berührt. 

Ich hoffe, ich habe klar genug gesagt, wonach ich suche, danke, dass Sie mir in meinem Prozess geholfen haben und dass Sie so geduldig sind!

Bearbeiten: Der Grund dafür, dass ich die ursprünglichen Pläne des STEP-Imports des Teils ändern möchte, liegt in der Tatsache, dass die resultierende Ansicht in der Zeichnung nicht das zeigt, was ich von dem Teil erwarte. 

Der Makrorekorder liefert diesen Code für die Erzeugung von drei Ebenen in 100mm Abstand

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Plan de face", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Plan de face", "PLANE", 0, 0, 0, True, 0, Nothing, 0)
Dim myRefPlane As Object
Set myRefPlane = Part.FeatureManager.InsertRefPlane(8, 0.1, 0, 0, 0, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Plan de face", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Plan de dessus", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Plan de dessus", "PLANE", 0, 0, 0, True, 0, Nothing, 0)
Set myRefPlane = Part.FeatureManager.InsertRefPlane(8, 0.1, 0, 0, 0, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Plan de dessus", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Plan de droite", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Plan de droite", "PLANE", 0, 0, 0, True, 0, Nothing, 0)
Set myRefPlane = Part.FeatureManager.InsertRefPlane(8, 0.1, 0, 0, 0, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Plan de droite", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
End Sub

 

Dieses Makro bewirkt keine Änderungen an meinem Stück, außer dass es meine Aufnahmen sehr prägnant zum Leuchten bringt... Musste ich ein paar Zeilen ändern, damit es funktioniert?

Ja, die zu ändernden Elemente sind die Namen der Pläne

Ich habe versucht, alles für die Namen der Flugzeuge zu ändern, nichts zu tun, wenn ich das Makro starte, es erstellt mir andere mit den Namen Plan 12, Plan 13 und Plan 14. Ich gebe zu, ich verstehe nicht wirklich, warum es nicht funktioniert, ich habe alle möglichen Kombinationen ausprobiert

Mea culpa nach der Überprüfung eines neuen Stücks erzeugt es in der Tat nichts, ich schaue mir seine an

Kein Problem, danke für die Hilfe, ich werde am Ende wissen, wie man programmiert, indem ich mir die Codes ansehe, um zu wissen, wo es stecken bleibt!

Ich habe viel gesucht und kann leider nichts Vorhandenes im Internet finden... Mein Problem könnte auch gelöst werden, wenn das Makro das Flugzeug, das ich dafür bestimme, umbenennt, zum Beispiel ein Makro für die vordere Ebene usw.  mit einem Namen, den ich für ihn definiere. Es ist mir egal, ob ich viele Makros in meiner SW-Taskleiste habe. Ich möchte nur die Eingabe von Text automatisieren, was auf lange Sicht meine Zeit verschwendet, daher ist ein Makro nach Schussname nicht störend.

Du möchtest planA einfach nur in plan1 umbenennen?

Ich habe die Lösung gefunden, ich nehme ein Makro auf, wenn ich die Aufnahmen, die ich kurz zuvor erstellt hätte, umbenenne, so dass Einstellung 1 für die anderen Aufnahmen NOM_Face usw. ist, das heißt, mein Makro findet den Namen der Aufnahmen, die zuvor bearbeitet wurden und immer die gleichen Rufzeichen haben, also liegt es an mir, mich zu zwingen, einem Befehl zu folgen, um diejenige zu finden, die von Gesicht usw., wenn ich sie erstelle. 

Auf der anderen Seite versuche ich jetzt ein Makro aufzunehmen, wenn ich eine Beschränkung auf zwei Ebenen ausführe, die vorerst immer die gleichen Namen haben, aber SW will anscheinend nichts von den Beschränkungen wissen... Hat jemals jemand ein Makro erstellt, um die Einschränkungen beim Festlegen von Ebenen (Positionierung im ASM) zu erhöhen?

Dies ist das Makro, mit dem ich die Clips, die ich zuvor erstellt habe, automatisch umbenennen kann. Vergessen Sie nicht, eine Baureihenfolge festzulegen, um Ihre Zeichnungsansichten zu organisieren.

 


renommer_les_plans.txt