API - MEP - Abrufen des Namens der Seitenfunktion/Skizze

Hallo an alle

Ich möchte den Namen einer Skizze oder Skizzenlinie abrufen, die ich mit den APIs bemaßt habe, und automatisch einen Kommentar zur Bemaßung hinzufügen. 

Mit anderen Worten, ich möchte in meine Signatur einen vordefinierten Namen gemäß dem Sketch einfügen und wähle die Signatur mit ihrem Namen (in der Form "X-plan-DX@EsquisseX@Vue") aus, um meine Anmerkung hinzuzufügen. Leider entspricht dieses Maß nicht wirklich der Skizzenlinie, die ich annotieren muss, sie wird auf eine etwas zufällige Art und Weise erstellt oder zumindest ohne die Gewissheit, dass es immer gleich ist. 

Gibt es eine Funktion in der API, um den Namen der Funktion/Skizze abzurufen, an der die Bemaßung einrastet?

 

Danke für Ihre Hilfe

Herzliche Grüße

1 „Gefällt mir“

Können Sie ein Bild davon machen, was Sie am Anfang haben und was Sie am Ende wollen? 

Hier ist also die Idee:

Ich habe auf jeder Seite Stiche mit einer Referenz (siehe 0° und 350°), diese Seiten haben einen Namen in Solidworks, aber ich kann den Namen der Funktion nicht bekommen.

Diese Funktionsnamen haben eine Übereinstimmung in einer Excel-Datei. Ich möchte auf jeder der Seiten den Namen der Naht sowie die entsprechenden Durchmesser hinzufügen. 

Ich hoffe, es ist klarer. 

Vielen Dank


cuve_cotation_angulaire.jpg
1 „Gefällt mir“

Die Namen der Bemaßungen in einer Zeichnung sind nicht festgelegt, es sei denn, Sie kopieren immer den gleichen Plan mit dem gleichen Teil

 

Andernfalls können die Informationen mit dem Wert der Quoten verknüpft werden?

 

EDIT: Ich denke, dieser Link kann den Anfang einer Lösung bringen, da er sich auf allen Seiten http://help.solidworks.com/2016/english/api/sldworksapi/Get_Dimension_Values_in_Drawing_Example_VB.htm

Es bleibt eine Bedingung anzuwenden, so dass die Bewertung mit dem Wert XX eine Punktzahl für XX und YY eine Punktzahl YY hat

Ich denke, dass die am vorherigen Link vorgenommene Änderung Ihren Bedürfnissen entsprechen könnte

"Dieses Beispiel zeigt, wie man die Werte der Bemaßungen in einer Zeichnung erhält.

'---------------------------------------------------------------------------
(') Voraussetzungen:
' 1. Öffnen Sie ein Zeichnungsdokument.
' 2. Öffnen Sie das Direktfenster.
'
' Postconditions: Überprüfen Sie das Direktfenster.
'---------------------------------------------------------------------------

Option Explizit

Sub main()

Dim swApp                       als SldWorks.SldWorks   
Dim swModel                     As SldWorks.ModelDoc2   
Dim swDraw                      As SldWorks.DrawingDoc   
Dim swView                      As SldWorks.View   
Dim swDispDim                   As SldWorks.DisplayDimension   
Dim swDim                       As SldWorks.Dimension   
Dim swAnn                       As SldWorks.Annotation   
    
    Dim swModelDocExt As SldWorks.ModelDocExtension
    Dim boolstatus als boolescher Wert
 

    Legen Sie swApp = Application.SldWorks fest
    Festlegen von swModel = swApp.ActiveDoc
    Festlegen von swDraw = swModel

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

    Legen Sie swView = swDraw.GetFirstView fest

    Do While Not swView ist nichts
        'Debug.Print'  Ansicht = ' & swView.Name

        Legen Sie swDispDim = swView.GetFirstDisplayDimension5 fest

        Do While Not swDispDim ist nichts
            Set swAnn = swDispDim.GetAnnotation
            Festlegen von swDim = swDispDim.GetDimension

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

                Legen Sie swModelDocExt = swModel.Extension fest
                boolstatus = swModel.Extension.SelectByID2(swDim.FullName, "DIMENSION", 0, 0, 0, Falsch, 0, Nichts, 0)
                boolstatus = swModelDocExt.EditDimensionProperties(0, 0, 0, "", "", True, 9, 2, True, 1, 1, "", "", True, "", "Zu ersetzender Text", "", True, swThisConfiguration, "")
                swModel.ClearSelection2 Wahr
            
            Set swDispDim = swDispDim.GetNext3

        Schleife

        Legen Sie swView = swView.GetNextView fest

    Schleife

Ende Sub

 

Es liegt an Ihnen, Bedingungen zu setzen, um den entsprechenden Text zu setzen

Keine Wiederkehr?