| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Profitieren Sie von 3DEXPERIENCE® und beschleunigen Sie Ihre Simulationen |
Autor
|
Thema: API Fillets erstellen (1668 mal gelesen)
|
derMarco Mitglied
Beiträge: 20 Registriert: 15.10.2009
|
erstellt am: 21. Mai. 2010 14:16 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe folgendes Problem: Ich möchte Filletradien per API erstellen. Habe dazu mal ein Makro aufgezeichnet und angepasst und es funktioniert auch einwandfrei. Code:
Part.ClearSelection2 True boolstatus = Part.Extension.SelectByID2("", "FACE", 0.04112455673561, -0.01145129422712, 0.2721799387423, False, 4, Nothing, 0) boolstatus = Part.Extension.SelectByID2("", "FACE", 0.1012044034625, -0.05385781598284, 0.2950945559983, True, 2, Nothing, 0) Dim radiiArray4 As Variant Dim radiis4 As Double Dim setBackArray4 As Variant Dim setBacks4 As Double Dim pointArray4 As Variant Dim points4 As Double radiiArray4 = radiis4 setBackArray4 = setBacks4 pointArray4 = points4 Dim myFeature As Object Set myFeature = Part.FeatureManager.FeatureFillet(195, 0.002, 2, 0, (radiiArray4), (setBackArray4), (pointArray4))
Da sich allerdings die Geometrie ändern wird werden die x,y,z Koordinaten der Funktion "SelectByID2" nicht mehr richtig sein. Die Objektnamen der Flächen die ich für die Flächenverrundung auszuwählen habe sind zwar konstant, jedoch bekomme ich kein Fillet, wenn ich die Flächen über ihre Objektnamen auswähle. Kann man die Flächen über ihre Objektnamen überhaupt auswählen um dann eine Flächenverrundung zu erstellen? Falls nicht, wie groß ist ungefähr die Toleranz bei der Auswahl über xyz-Koordinaten (sprich wie weit dürfen die koordinaten von der tatsächlichen Fläche entfernt liegen)? Gruß Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 21. Mai. 2010 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für derMarco
Hallo Marco, warum gehst du den Weg nicht anders herum Wähle zuerst deine Flächen aus und starte dann dein Makro, dass dir die Verrundung erzeugt. Oder du musst dem Benutzer im Makro die Möglichkeit geben, die entsprechenden Flächen anzuwählen. Nur dann kannst du eine weitere Verarbeitung vornehmen und die Radien erzeugen. Schau dir doch einfach mal in der API-Hilfe die Beispiele unter der Featurefillet-Methode des Featuremanager-Objekts an... ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ralf Tide Moderator -
Beiträge: 4978 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 21. Mai. 2010 18:49 <-- editieren / zitieren --> Unities abgeben: Nur für derMarco
Hallo Marco, in der API-Hilfe gibt es ein Beispiel Get Named Entities Example (VBA) das hilft Dir z.B. die vergebenen Flächennamen auszuwählen. Die Selektierte(n) Fläche(n) kannst Du dann verrunden. HTH & bis demnäx, Ralf ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
derMarco Mitglied
Beiträge: 20 Registriert: 15.10.2009
|
erstellt am: 27. Mai. 2010 15:41 <-- editieren / zitieren --> Unities abgeben:
hallo, und danke für die Antworten soweit. Andreas: Ich muss den Weg so gehen, da das gesamte Programm automatisch ablaufen muss. d.h. ich erzeuge die Geometrie mit Hilfe eines Makros, editiere sie dann (z.B. mit Fillets), speichere das Bauteil ab und Solidworks wird wieder geschlossen. Ralf: habe mir das Beispiel angeschaut, sieht auch recht hilfreich aus, jedoch bekomme ich als Part.GetNamedEntitiesCount stetig eine 0 ausgegeben. (mein Bauteil enthält 60 3D-skizzen und 6 Flächen) kann es daran liegen, dass ich die Skizzen/Flächen mit dem selben Makro erstellt habe? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 28. Mai. 2010 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für derMarco
Hallo Marco, ich denke, du musst in deinem Flächenerzeugungsmakro die entsprechenden Flächen mit der SetEntityName-Methode erst einmal mit Namen versehen. Dann müsste es auch mit der von Ralf vorgeschlagenen Methode weiter klappen. ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|