Automatyczne informacje o majątku osobistym

    Cze wszystkim

 

  Przychodzę tutaj, aby przedstawić Państwu ideę, której nie mogę wprowadzić w życie.

 

 Pozwól, że wyjaśnię: mam niestandardowy formularz nieruchomości, w którym wpisuję imię i nazwisko klienta, numer referencyjny jego witryny i różne inne informacje.

 

Chciałbym, aby Solidworks automatycznie pobrał nazwę folderu, w którym zapisana jest część, która stanie się odniesieniem do witryny.

 

Następnie powinien udać się i pobrać z niego nazwę pliku nadrzędnego, która stanie się nazwą klienta.

 

Znalazłem więc dość łatwo, jak wypełnić ścieżkę folderu, ale daje mi to coś w rodzaju c:/plan/lambda client/ref x.

 

Czy istnieje sposób, aby wybrać w tej ścieżce, które znaki mają się pojawić, lub wprowadzić formułę bezpośrednio, zgodnie z powyższym żądaniem?

 

Mam nadzieję, że moje wyjaśnienie było jasne.

 

Z góry dziękuję

 

Czy używasz EPDM???

 

Jeśli tak, to wiem, że istnieje stosunkowo prosta technika, ale nie pamiętam jej zbyt wiele, muszę spojrzeć na szablony, które zostały ustawione w naszej firmie.

1 polubienie

Niestety nie używam EPDM...

arff..

 

Zrobię trochę badań, ale tam... Suszę

Czy masz jakieś zastrzeżenia do SmartProperties?

Zadałem już to pytanie na kilku forach i wiele osób jest suchych...

 

 

Wydawać się możliwe? Wątpię... A może w przyszłej aktualizacji kto to jest?

 

 

Aby odpowiedzieć na to pytanie, przeglądam edytor formularzy nieruchomości z 2014 roku.

 

Jeszcze raz dziękuję.

 

 

Witam

 

Nie sądzę, aby było to możliwe w trybie automatycznym, więc będziesz musiał przejść przez makro.

 

Aby rozpocząć pracę z makrem VBA dla SolidWorks, obejrzyj mój samouczek, jeśli jeszcze tego nie zrobiłeś:

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

 

Wydaje mi się, że używam ścieżki do pliku co najmniej 2 razy (ścieżka w makrze).

 

I trop dla twojego problemu (nie przetestowany):

 

Dim swApp jako SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Sub main()

Ustaw swApp = Application.SldWorks

Ustaw swModel = swApp.ActiveDoc

swModel.AddCustomInfo2 "Ścieżka do pliku", swCustomInfoText, Left(swModel.GetPathName,InStrRev(swModel.GetPathName, "\"))

Koniec subwoofera

 

Wiosna:

https://forum.solidworks.com/thread/42839

 

 

 

 

 

 

3 polubienia

Myślę, że jest to wykonalne, jeśli w ścieżce pliku znajdują się wszystkie informacje (Client i site ref).

 

Tworzysz tymczasową właściwość, która pobiera Twoją ścieżkę, a następnie za pomocą narzędzia Smartproperties i funkcji  "string type" pobierasz nazwę klienta, referencję witryny itp.....


type_chaine_de_caractere.png
7 polubień

Oto przykład, jak utworzyć właściwość o nazwie folderu

 

Importuje SolidWorks.Interop

Importuje plik SolidWorks.Interop.swconst

Importuje System.Runtime.InteropServices

System importu

 

Klasa częściowa SolidWorksMacro

    ''' <Podsumowanie>

    ''' Zmienna swApp SldWorks jest wstępnie przypisana dla Ciebie.

    ''' </podsumowanie>

    Publiczny swApp Jako sldworks. SldWorks

 

    Publiczny Sub main()

 

        Dim swDoc As sldworks. ModelDoc2 = Nic

 

        ' Aktywny dokument

        swDoc = CType(swApp.ActiveDoc, sldworks. Dokument Modelu2)

 

        ' Jeśli istnieje aktywny dokument

        Jeśli swDoc jest niczym, wyjdź z sub

 

        ' Jeżeli dokument został już zarejestrowany

        Jeśli nie IO. File.Exists(swDoc.GetPathName) Następnie wyjdź z sub

 

        ' Umieść poziomy folderów w tabeli (1. element => Dysk, ostatni element => nazwa pliku)

        Dim stFolders As Array = swDoc.GetPathName.Split("\")

 

        Dim stParentFolder As String = stFolders(stFolders.Length - 2)

 

        AddProperty(swDoc, "Nazwa", stParentFolder)

 

    Koniec subwoofera

 

    Funkcja AddProperty(ByVal _Doc Jako sldworks. ModelDoc2, ByVal _Name As String, ByVal _Value As String) Jako wartość logiczna

        Dim swCustProp As sldworks. ICustomPropertyManager = _Doc.Extension.CustomPropertyManager("")

         ' Dim iAdd As Integer = swCustProp.Add3(_Name, swCustomInfoType_e.swCustomInfoText, _Value, swCustomPropertyAddOption_e.swCustomPropertyReplaceValue)

        Dim iAdd As swCustomInfoType_e = swCustProp.Add2(_Name, swCustomInfoType_e.swCustomInfoText, _Value)

        Jeśli iAdd <> 1, to

            swCustProp.Set(_Name, _Value)

        Zakończ jeżeli:

 

    Zakończ funkcję

 

 

Klasa końcowa


swmacro.zip
11 polubień

Nie jestem ekspertem w programowaniu VBA, ale i tak przejąłem ostatnie stanowisko Jfaradona.

 

Ale w wierszu 2 znajduję błąd kompilacji....

 

Mam zamiar przeczytać samouczki na temat vba, aby zobaczyć, czy to jest droga, którą powinienem iść

 

Jeszcze raz dziękuję, wkrótce się odezwę!


vba.png

 

nie możesz kopiować i wklejać do VBA jak na zrzucie ekranu

 

Pobierz plik zip i otwórz projekt SwMacro.sln

to jest VSTA ... nie VBA (w oprogramowaniu są dwa narzędzia makr)

 

9 polubień

W Twoim zamku błyskawicznym nie ma SwMacro.sln projektu.

 

 

Witam

 

Dla mnie najlepszym rozwiązaniem jest to opisane przez Flegendre'a.

W każdym razie jest to ten, który stosuję do nas.

To proste i działa bardzo dobrze!!

Tak emathubert, z wyjątkiem tego, że nie mam smartproperties !!

Przepraszamy, otwórz plik .vbproj !!

Zobacz zrzut ekranu

 

.sln jest to za pomocą narzędzia Visual Studio 

 


sans_titre_-_1.jpg
2 polubienia

Nadal nie ma rozwiązania? ... =)

Witaj Bartku,

Nie wiem, czy to by Ci pomogło, ale ostatnio natknąłem się na ten link:

http://www.leguide3d.com/profiles/blogs/concat-nation-de-propri-t-s-personnalis-s

A priori można go użyć do zrobienia czegoś odwrotnego, tj. do posiadania właściwości "klient", właściwości "ref" i w ten sposób tworzenia ścieżki poprzez skojarzenie tych właściwości.

Jeśli chodzi o ekstrakcję ze ścieżki, czy udaje Ci się odzyskać ścieżkę pomieszczenia w nieruchomości?
Czy korzystasz ze stołu rodzinnego w pokoju? Może to być przydatne do wyodrębniania właściwości w programie Excel

Inne możliwości: 

https://forum.solidworks.com/message/306923#306923#306923

https://forum.solidworks.com/message/133512#133512#133512

http://www.forum-cao-3d.fr/api-questions/extraction-reference-solidworks-t12149.html

 

Czy udało Ci się coś zrobić z makrami @jfaradon?

(Obecnie pracuję nad tym samym tematem)

1 polubienie

Jest to temat, który traktuję jako wspólny wątek, ponieważ jest praktyczny, ale też nie jest niezbędny.

 

Z drugiej strony wrócę do tego tutaj, bo mam przed sobą trochę czasu =)

 

Mogę pobrać nazwę folderu, w którym zapisany jest MEP, ale z pełną ścieżką.

to znaczy: C:/Plany Solidworks/KlientX/ŻyczanY/przypadekZ/....

 

Będę się temu wszystkiemu przyglądać i informować na bieżąco ;)