API - MEP - Pobierz funkcję boczną/nazwę szkicu

Witam wszystkich,

Chcę pobrać nazwę szkicu lub linii szkicu, która została zwymiarowana za pomocą interfejsów API, i automatycznie dodać do niej komentarz do tego wymiaru. 

Innymi słowy, chciałbym umieścić w moim sygnaturze nazwę predefiniowaną zgodnie ze szkicem i wybieram sygnaturę wraz z jej nazwą (w postaci "X-plan-DX@EsquisseX@Vue"), aby dodać do niej moją adnotację. Niestety ten wymiar tak naprawdę nie odpowiada linii szkicu, którą muszę opisać, jest ona tworzona w sposób nieco przypadkowy lub przynajmniej bez pewności, że zawsze jest taka sama. 

Czy w interfejsie API istnieje funkcja umożliwiająca pobranie nazwy funkcji/szkicu, do którego wymiar jest przyciągany?

 

Dziękuję za pomoc,

Pozdrowienia

1 polubienie

Czy możesz umieścić wizualizację tego, co masz na początku i czego chcesz na końcu? 

Oto pomysł:

Mam po każdej stronie ściegi z odniesieniem (patrz 0° i 350°), te boki mają nazwę w solidworks, ale nie mogę uzyskać nazwy funkcji.

Te nazwy funkcji mają dopasowanie w pliku programu Excel. Chciałbym dodać nazwę szwu na każdym z boków, a także odpowiadające im średnice. 

Mam nadzieję, że jest to jaśniejsze. 

Dziękuję


cuve_cotation_angulaire.jpg
1 polubienie

Nazwy wymiarów na rysunku nie są stałe, chyba że zawsze kopiowany jest ten sam plan z tą samą częścią

 

W przeciwnym razie można powiązać te informacje z wartością kursów?

 

EDIT: Myślę, że ten link może przynieść początek rozwiązania, ponieważ zapętla się ze wszystkich stron http://help.solidworks.com/2016/english/api/sldworksapi/Get_Dimension_Values_in_Drawing_Example_VB.htm

Pozostaje warunek, który musi zostać zastosowany, aby ocena o wartości XX miała wynik dla XX i YY wynik YY

Myślę, że modyfikacja dokonana na poprzednim linku może odpowiadać Twoim potrzebom 

"W tym przykładzie pokazano, jak uzyskać wartości wymiarów na rysunku.

'---------------------------------------------------------------------------
' Warunki wstępne:
' 1. Otwórz dokument rysunku.
' 2. Otwórz okno bezpośrednie.
'
' Warunki końcowe: Sprawdź okno bezpośrednie.
'---------------------------------------------------------------------------

Opcja jawna

Sub main()

Dim swApp                       jako SldWorks.SldWorks   
Dim swModel                     As SldWorks.ModelDoc2   
Dim swDraw                      jako SldWorks.DrawingDoc   
Dim swView                      As SldWorks.View   
Dim swDispDim                   As SldWorks.DisplayDimension   
Dim swDim                       As SldWorks.Dimension   
Dim swAnn                       As SldWorks.Adnotacja   
    
    Dim swModelDocExt As SldWorks.ModelDocExtension
    Dim boolstatus As Boolean
 

    Ustaw swApp = Application.SldWorks
    Ustaw swModel = swApp.ActiveDoc
    Ustaw swDraw = swModel

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

    Ustaw swView = swDraw.GetFirstView

    Zrób Póki Nie SwView To Nic
        Widok 'Debug.Print'  = ' & swView.Name

        Ustaw swDispDim = swView.GetFirstDisplayDimension5

        Rób, póki nie swDispDim to nic
            Ustaw swAnn = swDispDim.GetAnnotation
            Ustaw swDim = swDispDim.GetDimension

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

                Ustaw swModelDocExt = swModel.Extension
                boolstatus = swModel.Extension.SelectByID2(swDim.FullName, "DIMENSION", 0, 0, 0, False, 0, Nic, 0)
                boolstatus = swModelDocExt.EditDimensionProperties(0, 0, 0, "", "", Prawda, 9, 2, Prawda, 1, "", "", Prawda, "", "Tekst do zastąpienia", "", Prawda, swThisConfiguration, "")
                swModel.ClearSelection2 Prawda
            
            Ustaw swDispDim = swDispDim.GetNext3

        Pętla

        Ustaw swView = swView.GetNextView

    Pętla

Koniec subwoofera

 

Od Ciebie zależy, czy postawisz warunki, aby umieścić odpowiedni tekst

Nie ma powrotu?