| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Smart Engineering Session: CAD-Automation in SOLIDWORKS in Hannover, eine Veranstaltung am 18.08.2026
|
|
Autor
|
Thema: API: Kanten, Flächen, ... eines Radius ermitteln (1419 mal gelesen)
|
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 13. Nov. 2008 11:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo Freunde der gepflegten API-Kunst, ich hät da wieder mal ein Problem! Ich benötige eine Instanz der Kante, an welcher ein Radius erzeugt wird (siehe Bild). In VB 2005 habe ich bis jetzt folgendes versucht:
Code: Dim oSaveArray As Object Dim oArray() As Object Dim oSwFeature As sldworks.Feature oSaveArray = oSwModel.FeatureManager.GetFeatures(False) If Not oSaveArray Is Nothing Then oArray = CType(oSaveArray, [Object]()) For i As Integer = 0 To oArray.GetUpperBound(0) oSwFeature = CType(oArray(i), sldworks.Feature) Select Case oSwFeature.GetTypeName2 Case "Fillet" Dim oSwFillet As sldworks.SimpleFilletFeatureData2 oSwFillet = CType(oSwFeature.GetDefinition, _ sldworks.SimpleFilletFeatureData2) If oSwFillet.GetEdgeCount > 0 Then Dim oDummy As Object 'Wie bekomme ich jetzt die Kanten? 'So geht es nicht oDummy = oSwFillet.IGetEdges( _ oSwFillet.GetEdgeCount) If oDummy IsNot Nothing Then 'Das wäre schön! Debug.Assert(False) End If oDummy = oSwFillet.IGetEdges(0) If oDummy IsNot Nothing Then 'Das wäre schön! Debug.Assert(False) End If oDummy = oSwFillet.Edges If oDummy IsNot Nothing Then 'Das wäre schön! Debug.Assert(False) End If End If End Select Next End If
Leider bekomme ich bei den Methoden IGetEdges und Edges der SimpleFilletFeatureData2 Klasse immer nur Nothing zurück. Vielleicht bin ich da aber auch auf dem absoluten Holzweg und die von mir gewünschte Kante ist in einer ganz anderen Methode und/oder Klasse versteck?! Eine andere Methode habe ich jedoch noch nicht gefunden! Wer kann mir da auf die Sprünge helfen? ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mkkk Mitglied
 
 Beiträge: 105 Registriert: 04.03.2005
|
erstellt am: 13. Nov. 2008 12:10 <-- editieren / zitieren --> Unities abgeben:          Nur für tbd
|
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 13. Nov. 2008 12:17 <-- editieren / zitieren --> Unities abgeben:         
Hallölle, SimpleFilletFeatureData2.Edges habe ich schon versucht (siehe Code oben). get_Edges is kein VB, und ich schreibe meine Anwendung in VB 2005 (siehe oben). Laut API Hilfe sollte SimpleFilletFeatureData2.Edges klappen. Tut es aber bei mir nicht! Die Mehtode SimpleFilletFeatureData2.GetEdgeCount funktioniert ohne zu murren und liefert mir die richtige Anzahl, aber ich bekomme die Kanten-Objekte nicht! Was liefert bei euch die Eigenschaft SimpleFilletFeatureData2.Edges? ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 13. Nov. 2008 12:47 <-- editieren / zitieren --> Unities abgeben:         
Ich habs befürchtet! Bei Fasen ist es das gleiche Spiel! Das Dumme daran ist, dass ich auch diese Information für meine Anwendung benötige. Einzige Hoffnung ist das ich nicht glaube das in zwei Klassen die Befehle nicht gehen. Irgend etwas habe ich bestimmt übersehen. ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets 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: 13. Nov. 2008 13:32 <-- editieren / zitieren --> Unities abgeben:          Nur für tbd
vermutlich hast du vergessen, mit der AccessSelections-Methode der Einfügebalken zurückzurollen ??? Ohne das gibts keinen Zugriff auf die Daten, die du erhalten willst. zum Schluß nicht vergessen den Einfügebalken wieder zurückzurollen. In der API-Hilfe bei SimpleFilletFeatureData2::Edges die Remarks See Accessing Selections that Define Features for details on using this property gelesen ? Dort wirds erklärt, auch mit Beispiel. ------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 13. Nov. 2008 13:46 <-- editieren / zitieren --> Unities abgeben:         
|