Pobieranie właściwości modelu zawartej w MeP

Dobry wieczór, aby poprawić makro zapisu rysunku  w pdf, chciałbym odzyskać właściwość części zawartej w rysunku. Zaznaczam, że tej właściwości nie ma w pliku slddrw.
Jeśli niektóre; ktoś może mi pomóc, nie mogłem nic znaleźć na forum, z góry dziękuję.

 

Witaj fifounet44,

Czy na pewno dobrze szukałeś? Wszystko znajdziecie na naszym zaprzyjaźnionym forum :)

Zajrzyj tutaj.

Pozdrowienia

5 polubień

Można to łatwo zrobić za pomocą mycadtools.

4 polubienia

Dziękuję droger,
Próbuję w porze lunchu, nie zawsze łatwo jest wyszukać, wszystko zależy od terminów, których należy szukać, łatwiej, gdy sam uczestniczyłeś w poście!
Powinienem był wyszukać "makro+droga"
;-D  A+

 

 

1 polubienie

Dziękuję Wam wszystkim,
Po zhakowaniu kodu gdm działa! Wszystko, co pozostało do zrobienia, to "wyczyścić" mój kod i jest dobrze.

Cześć, myślę, że możliwe jest otwarcie pokoju bez jego wyświetlania, szukałem, ale nie znalazłem nic przekonującego na forum.
Dziękuję za wskazanie mi właściwego kierunku.

Witam

Oto mały przykład:

Option Explicit

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDrawModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc
    Dim swView As SldWorks.View
    Dim swModelDocExt As ModelDocExtension
    Dim strRefModelPath As String
    Dim configname As String
    Dim bRet As Boolean
    Dim nErrors As Long
    Dim nWarnings As Long
    Dim swCustProp As CustomPropertyManager
    Dim val As String
    Dim valout As String

    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
    Set swView = swDraw.GetFirstView

    While Not swView Is Nothing
        strRefModelPath = swView.GetReferencedModelName
        configname = swView.ReferencedConfiguration
        Set swDrawModel = swApp.OpenDoc6(strRefModelPath, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
        If Not swDrawModel Is Nothing Then
            Set swModelDocExt = swDrawModel.Extension
            Set swCustProp = swModelDocExt.CustomPropertyManager(configname)
            bRet = swCustProp.Get4("TEST", False, val, valout)
        
            Debug.Print "valeur évaluée : " & valout
        End If
        Set swView = swView.GetNextView
    Wend

End Sub

Pozdrowienia

2 polubienia

Dobry wieczór
Bardzo dziękuję drogue, właśnie wszystko przerobiłem i działa idealnie bez otwierania modelu 3d.
Z drugiej strony nie widzę sensu zapętlania konfiguracji, ponieważ pobiera to właściwość "Index" => (valout) ostatniej znalezionej konfiguracji. Moim celem jest porównanie indeksu 3D z indeksem MeP przed dodaniem go do nazwy pliku i zapisaniem jako pdf.
Może to być przydatne, jeśli indeks był omyłkowo różny między 2 konfiguracjami, co nie ma miejsca w naszym zarządzaniu 3D. w przeciwieństwie do "starych" MeP, które nie zawsze są na ostatnim indeksie 3D.
Z poważaniem.

 

 

To tylko przykład, który ci podałem, nie znając tak naprawdę twojej prawdziwej potrzeby... Przykład, na którym nie zapętlam się w configach, ale w widokach rysunkowych, co też niekoniecznie jest przydatne ... W ten sam sposób, w jaki ten przykład działa tak, jak jest, jeśli referencyjny model 3D jest częścią, w przeciwnym razie należy wprowadzić pewne modyfikacje...

Krótko mówiąc, tylko przykład, aby zobaczyć, jak rozwiązać problem określony w Twoim pytaniu.

Pozdrowienia

2 polubienia

Witam, Rzeczywiście, nie dałem ci żadnych wskazówek o mojej potrzebie! przepraszam, że się zgubiłem... I odpowiedziałeś na problem postawiony w pytaniu, jak zwykle powiem.

Do zestawów chyba trzeba zmienić swPART na swASSEMBLY?
Robię kilka testów i na pewno wrócę po cenne rady ;-)
Ciesz się NAMI

 

 

 

1 polubienie

Witam, Po kilku pozytywnych testach dołączam do makro, liczę na to, że je poprawicie bo myślę, że da się to uprościć, ale jak działa to już nie śmiem tego dotykać...


zapisz-pdf-dxf.swp

Dobry wieczór

Przychodzę trochę po bitwie, ale jeśli wskazówka znajduje się w podlinkowanej notatce w kartuszu, to można było polegać na tej notatce , zamiast przesłuchiwać 3D.

Upraszcza to operację i nie zależy od typu łączonego pliku.

Dobry wieczór Cyryl, no nie, to jest pb, mamy wiele ujęć, których indeks został "wymuszony", podczas gdy 3ds są dobrze poprawione i zindeksowane, dlatego umieściłem różnicę w wiadomości, więc wsadziliśmy prawy indeks z powrotem do MeP, Jest to oczywiście pokręcone, ale radzimy sobie z tym.

1 polubienie

Witaj fifounet44,

Ogólnie rzecz biorąc, spełnia swoje zadanie, nadal brakuje mu zarządzania możliwymi błędami, ale powtarza się we wszystkich makrach, które możemy zobaczyć ...

Pomyśl o zamknięciu tematu...

Pozdrowienia

3 polubienia