API-Körper umbenennen

Hallo

Ich möchte das Verständnis und Zeichnen einer Datei mit mehreren Körpern erleichtern. Um dies zu erreichen, wäre eine meiner Reflexionsmethoden, die Körper dieses Teils in inkrementelle Teilmenge umzubenennen. Alles über ein Makro, das es mir ermöglicht, auf die Körper zu klicken, die umbenannt werden.

Auf eine klarere und explizitere Art und Weise: Stellen Sie sich eine Teileakte eines Möbelstücks vor, die aus mehreren Unterbaugruppen besteht: Korpus, Tür, Schublade, Regale. Diese Baugruppen bestehen ihrerseits aus mehreren unterschiedlichen Körpern (z. B. für die Schublade: die Vorderseite, den Knauf, die Unterseite, die Seiten und die Rückseite). Um dies lesbar zu machen, möchte ich ein Makro starten, das mich auffordert, auf die Körper in der 3D-Ansicht zu klicken, aus denen die Schublade besteht, und diese Körper in "Schublade [1], Schublade[2], Schublade[3], ... ". Wenn ich alle Teile der Schublade identifiziert habe, klicke ich auf die rechte Schaltfläche und das Makro wechselt automatisch zur Umbenennung der Türelemente: "Tür [1], Tür [2], ..."  Und so weiter für alle Teilmengen. Nach mehreren Suchen habe ich ein Makro gefunden, das es Ihnen ermöglicht, den Namen eines Körpers anzuzeigen, wenn Sie darauf klicken, das ich mit einem anderen gemischt habe, das es Ihnen ermöglicht, mit swbody.name= umzubenennen. Ich stolpere über die Bearbeitung der Schleifen, insbesondere über den Rechtsklick-Test.

Ich bin fast neu in APIs, meine alten Erfahrungen sind leider völlig vergessen, da es an regelmäßiger Praxis mangelt. Ich weiß, dass API-Experten hier aktiv sind (ich habe tatsächlich das Auswahlmakro aus den Tutorials in .PL gestohlen), jede Hilfe bei dem, was für sie recht grundlegend sein muss, ist willkommen.

Vielen Dank.

Sebastian

2 „Gefällt mir“

Hallo

Etwas ganz Einfaches und für jeden erreichbar ist es, ein Makro durch Lernen zu erstellen, damit Sie sehen können, wie SolidWorks es macht!

Ansonsten gibt es hier einige interessante Informationen:

https://forum.solidworks.com/thread/81918

Und vielleicht auch hier:

https://forum.solidworks.com/thread/55341

1 „Gefällt mir“

Vielen Dank für dieses erste Feedback. Den zweiten Link habe ich bereits gefunden und ausgenutzt.

Mein Problem liegt nicht mehr so sehr bei SW, sondern eher bei VBA. Das Erlernen von Makros unter SW erlaubt es mir nicht zu lernen, wie man eine Schleife und ihre Ausgabeereignisse codiert (in diesem Fall rechte Taste).

Mein Skript wäre:

  • Implementierung einer Namensliste (Schublade, Regal, ...) in den Code -> Ich werde danach suchen, kein allzu großes Problem , denke ich
  • Beim Starten des Makros werde ich aufgefordert, auf die Elemente in der ersten Liste (Schublade) zu klicken -> teilweise OK
  • Ich klicke nacheinander mit der linken Maustaste auf X-Körper , das Makro ändert den Namen der Körper in Schublade1, Schublade2,...,  SchubladeX ("Schublade" ist die erste auf der Liste)-> OK dank des 2. Links und macro.PL
  • Ich klicke auf die rechte Schaltfläche, das Makro setzt die Schleife direkt darüber fort, indem es mich auffordert, auf die Elemente im Regal (2. in der Liste) zu klicken -> Hier komme ich fest
  • Ende des Makros, wenn Sie mit der rechten Maustaste auf das letzte Stück der letzten Liste klicken (das möglicherweise leer ist).

Anschließend werde ich danach suchen, wie ich die Liste beim Start über ein Dialogfeld aufrufen kann, aber es ist wirklich Zubehör.

Ich werde den ersten Link, den ich nicht gefunden hatte, durchgehen und testen, er enthält auf den ersten Blick einige sehr interessante Informationen. Aber ich weiß nicht, ob die Rechtsklick-Aktion verwendet wird.

Vielen Dank.

2 „Gefällt mir“

Suchen Sie für den Klick nach "Event Click".

Siehe diese Seite:

https://books.google.fr/books?id=ftVsBgAAQBAJ&pg=PA97&lpg=PA97&dq=event+click+solidworks&source=bl&ots=11x9fcPapa&sig=yk4KI0H_hDwF6M2BpRQBoPdH5ow&hl=fr&sa=X&redir_esc=y#v=onepage&q=event%20click%20solidworks&f=false

Oder schauen Sie hier:

http://help.solidworks.com/2015/English/api/sldworksapi/Run_SOLIDWORKS_Commands_and_Synthesize_Mouse_Events_Example_VB.htm

http://help.solidworks.com/2012/English/api/sldworksapiprogguide/Overview/Events.htm?id=6328edd0faf9464baf45de5be3f06f30