API - MEP - Zijfunctie/schetsnaam ophalen

Hallo allemaal,

Ik wil graag de naam pakken van een schets of schetslijn die ik heb gedimensioneerd met de API's en automatisch een opmerking over de dimensie eraan toevoegen. 

Met andere woorden, ik wil graag een vooraf gedefinieerde naam in mijn oproepnummer invoeren volgens de schets en ik selecteer het oproepnummer met zijn naam (in de vorm van "X-plan-DX@EsquisseX@Vue") om mijn annotatie eraan toe te voegen. Helaas komt deze dimensie niet echt overeen met de schetslijn die ik moet annoteren, hij is op een ietwat willekeurige manier gemaakt of in ieder geval zonder de zekerheid dat hij altijd hetzelfde is. 

Is er een functie in de API om de naam op te halen van de functie/schets waarop de dimensie is uitgelijnd?

 

Dank u voor uw hulp,

Vriendelijke groeten

1 like

Kun je een beeld geven van wat je aan het begin hebt en wat je aan het einde wilt? 

Dus hier is het idee:

Ik heb aan elke kant steken met een referentie (zie 0° en 350°), deze kanten hebben een naam in solidworks maar ik kan de naam van de functie niet krijgen.

Deze functienamen komen overeen in een Excel-bestand. Ik zou graag de naam van de stiksels aan elk van de zijden willen toevoegen, evenals de bijbehorende diameters. 

Ik hoop dat het duidelijker is. 

Bedankt


cuve_cotation_angulaire.jpg
1 like

De namen van de afmetingen in een tekening staan niet vast, tenzij u altijd hetzelfde plan met hetzelfde onderdeel kopieert

 

Kan de informatie anders worden gekoppeld aan de waarde van de kansen?

 

EDIT: Ik denk dat deze link een begin van een oplossing kan brengen, omdat het aan alle kanten http://help.solidworks.com/2016/english/api/sldworksapi/Get_Dimension_Values_in_Drawing_Example_VB.htm

Er moet nog een voorwaarde worden toegepast zodat de beoordeling met een waarde XX een score heeft voor XX en YY een score YY

Ik denk dat de wijziging die op de vorige link is aangebracht, kan overeenkomen met uw behoeften 

'Dit voorbeeld laat zien hoe je de waarden van de dimensies in een tekening krijgt.

'---------------------------------------------------------------------------
' Randvoorwaarden:
' 1. Open een tekening.
' 2. Open het venster Onmiddellijk.
'
' Postconditions: Inspecteer het Immediate venster.
'---------------------------------------------------------------------------

Optie Expliciete

Sub hoofd()

Dim swApp                       als SldWorks.SldWorks   
Dim swModel                     als SldWorks.ModelDoc2   
Dim swDraw                      als SldWorks.DrawingDoc   
Dim swView                      als SldWorks.Bekijk   
Dim swDispDim                   als SldWorks.DisplayDimension   
Dim swDim                       als SldWorks.Dimension   
Dim swAnn                       As SldWorks.Annotatie   
    
    Dim swModelDocExt als SldWorks.ModelDocExtension
    Dim boolstatus als Booleaanse
 

    Stel swApp = Toepassing.SldWorks in
    Stel swModel = swApp.ActiveDoc in
    Stel swDraw = swModel in

    'Debug.Print "File = " & swModel.GetPathName

    Stel swView = swDraw.GetFirstView in

    Doen terwijl het niet swView is niets
        'Debug.Print'  View = ' & swView.Name

        Stel swDispDim in = swView.GetFirstDisplayDimension5

        Doen terwijl het niet swDispDim is niets
            Stel swAnn in = swDispDim.GetAnnotation
            Stel swDim in = swDispDim.GetDimension

            Debug.Print "      DimFullName                  = " & swDim.FullName
            Debug.Print "      Waarde                        = " & swDim.GetSystemValue2("")
            Debug.Print "      CalloutBelow                 = " & swDispDim.GetText(swDimensionTextCalloutBelow)

                Stel swModelDocExt = swModel.Extension in
                boolstatus = swModel.Extension.SelectByID2(swDim.FullName, "DIMENSIE", 0, 0, 0, Onwaar, 0, Niets, 0)
                boolstatus = swModelDocExt.EditDimensionProperties(0, 0, 0, "", "", True, 9, 2, True, 1, 1, "", "", True, "", "", "Tekst om te vervangen", "", True, swThisConfiguration, "")
                swModel.ClearSelection2 Waar
            
            Stel swDispDim in = swDispDim.GetNext3

        Strik

        Stel swView in = swView.GetNextView

    Strik

Einde Sub

 

Het is aan jou om voorwaarden te stellen om de bijbehorende tekst te plaatsen

Geen retourzending?