Flächen- oder Kantenauswahl

Hallo ihr alle

Ich bin auf der Suche nach einer Möglichkeit, eine bestimmte Fläche eines Teils in einer Baugruppe mit der Funktion "Part.Extension.SelectByID2" für eine API auszuwählen

 

Hallo

Können Sie bitte Ihre Anfrage spezifizieren?

Sie möchten eine Fläche eines Teils in einer Baugruppe anhand des KE-Namens auswählen:

Oder aus dem Namen der Entität:

Herzliche Grüße

3 „Gefällt mir“

Hallo

Schließlich habe ich eine Extrusion (ein Volumen) und möchte eine bestimmte Seite dieser Extrusion auswählen

C

Hallo

Wenn es so etwas ist wie:

MySelection = "Fläche<1>@Boss.-Extru.1@maPiece-1@monAssemblage"
bRet = swDocExt.SelectByID2(MySelection, "GESICHT", 0, 0, 0, Falsch, 1, Nichts, swSelectOptionDefault)

dass Sie dies tun möchten, ist meines Wissens nicht möglich, es scheint mir, dass diese Möglichkeit in der Funktion "SelectByID2" nicht implementiert ist.

Auf der anderen Seite, wenn Sie die Möglichkeit haben, einen bestimmten Namen in die Eigenschaften des Gesichts einzugeben (Rechtsklick auf das Gesicht und dann Eigenschaften des Gesichts), dann können Sie ihn dann über die APIs mit der Funktion "GetEntityName" auswählen, die Sie HIER finden.

Herzliche Grüße

Hallo

Ich habe mit der rechten Maustaste das Gesicht zum Auswählen gefunden , aber es hat keine Auswahl, ich hänge meinen Beispielcode an

value = Part.Extension.GetEntityName("toto@Pièce1.prt")

 

Herzliche Grüße

 


Teil1.SLDPRT

Hallo

Hier sehen Sie ein Beispiel für einen Code, mit dem Sie Ihr Gesicht mit dem Namen "foo" in Ihrem Anhang auswählen können.

Option Explicit

Sub main()
    Dim swApp                   As SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2
    Dim swSelData               As SldWorks.SelectData
    Dim swBody                  As SldWorks.Body2
    Dim swFaceFeat              As SldWorks.Feature
    Dim vBody                   As Variant
    Dim vBodyArr                As Variant
    Dim swFace                  As SldWorks.Face2
    Dim swEnt                   As SldWorks.Entity
    Dim bRet                    As Boolean
    Dim EntityName              As String

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel.GetType = swDocPART Then
        swModel.ClearSelection2 True
        vBodyArr = swModel.GetBodies2(swSolidBody, False)
        For Each vBody In vBodyArr
            Set swBody = vBody
            Set swFace = swBody.GetFirstFace
            Do While Not swFace Is Nothing
                Set swEnt = swFace
                EntityName = swModel.GetEntityName(swEnt)
                If EntityName = "toto" Then
                    bRet = swEnt.Select4(True, swSelData): Debug.Assert bRet
                End If
                Set swFace = swFace.GetNextFace
            Loop
        Next
    End If
End Sub

Herzliche Grüße

2 „Gefällt mir“