Hoi allemaal
Ik ben op zoek naar hoe ik een specifiek vlak van een onderdeel in een assemblage kan selecteren met de functie "Part.Extension.SelectByID2" voor een API
Hoi allemaal
Ik ben op zoek naar hoe ik een specifiek vlak van een onderdeel in een assemblage kan selecteren met de functie "Part.Extension.SelectByID2" voor een API
Hallo
Kunt u uw verzoek specificeren?
U wilt een zijde van een onderdeel in een merk selecteren uit de functienaam:
Of uit de naam van de entiteit:
Vriendelijke groeten
Hallo
Ten slotte heb ik een extrusie (een volume) en ik wil een specifieke kant van deze extrusie selecteren
C
Hallo
Als het iets is als:
MySelection = "Gezicht<1>@Boss.-Extru.1@maPiece-1@monAssemblage"
bRet = swDocExt.SelectByID2(MySelection, "FACE", 0, 0, 0, False, 1, Nothing, swSelectOptionDefault)
dat u dit wilt doen is, voor zover ik weet, niet mogelijk, het lijkt mij dat deze mogelijkheid niet is geïmplementeerd in de functie "SelectByID2".
Aan de andere kant, als je de mogelijkheid hebt om een specifieke naam in de eigenschappen van het gezicht te zetten (klik met de rechtermuisknop op het gezicht en vervolgens op de eigenschappen van het gezicht), dan kun je deze vervolgens selecteren door de API's met behulp van de functie "GetEntityName" die je HIER kunt vinden.
Vriendelijke groeten
Hallo
Ik heb gelokaliseerd met de rechtermuisknop op het gezicht om te selecteren, maar het heeft geen selectie, ik voeg mijn voorbeeldcode toe
value = Part.Extension.GetEntityName("toto@Pièce1.prt")
Vriendelijke groeten
Hallo
Hier is een voorbeeld van code om uw gezicht met de naam "foo" op uw bijlage te selecteren.
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
Vriendelijke groeten