| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Technikerschüler der staatlichen Feintechnikschule Schwenningen zu Besuch bei SolidCAM GmbH in Schramberg |
Autor
|
Thema: API: Alle Skizzenelemente selektieren (825 mal gelesen)
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 12. Nov. 2008 09:02 <-- editieren / zitieren --> Unities abgeben:
Guten Tag! Ich möchte gerne wissen, ob es eine Möglichkeit gibt, alle Skizzenelemente (ohne Bemassung etc.) auf einer Zeichnung zu selektieren. Ich habe nur mal so zum Spass das da probiert: Code:
Dim i As Integer Dim boolstatus As Boolean i = 1 Do boolstatus = swModel.Extension.SelectByID2("Line" & i, "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0) i = i + 1 Loop Until boolstatus = False
Das funktioniert eigentlich ja auch (in diesem Fall für Linien; Bögen usw. müsste ich dann auch noch selektieren können), bis es einen Unterbruch in der Numerierung gibt. :-\ Doch es müsste doch eine schönere Weise geben, alle Skizzenelemente zu selektieren!? Weiss jemand davon? Vielen Dank! PS: Habe es mal mit dem Recorder versucht, eine "Fensterselektion" durchzuführen. Denkste! Ich bekam bloss eine Liste mit einer Tonne von "SelectByID2" ... EDIT: Ja, ich könnte mit einer For i ... Next i Schleife 100'000'000 Elemente durchgehen, aber das wäre etwas zu dramatisch und sehr, sehr, sehr langsam!
------------------ http://www.worldcommunitygrid.org
[Diese Nachricht wurde von G. Dawg am 12. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 12. Nov. 2008 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für G. Dawg
... mal abgesehen davon, das es dazu nicht unbedingt ein Makro braucht - einfach Filter Skizzenelemente setzen und Zaun drüber - geht das mit Makros natürlich auch. Das Schlüsselwort was du brauchst: Sketch::GetSketchSegments: This method returns the SketchSegment objects in this sketch. Sketch segments include line, arc, spline, parabola, and ellipse entities - da hast du schon mal alle Objekte, die kannst du dann einfach mit SketchSegObj.Select4 selektieren P.S In der API-Hilfe gibt es ein Beispiel "Get All Sketch Segments in Drawing Template Example" - dort findest du alles was du brauchst und kannst es umstricken für eine beliebige Skizze ------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation
Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 12. Nov. 2008 10:26 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von u.clemens:
P.S In der API-Hilfe gibt es ein Beispiel "Get All Sketch Segments in Drawing Template Example" - dort findest du alles was du brauchst und kannst es umstricken für eine beliebige Skizze
Ja, BINGO! Genau das was ich brauche! Wieso habe ich das nicht gefunden!?!? Dochdoch! Muss per Makro (API) laufen! Da noch viel mehr mit der Skizze passiert als man denkt! Und, das alles muss automatisch geschehen!
------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|