Właściwość Odzyskaj solidworks

Jak pobrać wartość właściwości w Solidworks?

 

(polecenie, aby dodać jeden, to: swModel.AddCustomInfo3("", "Test", swCustomInfoText, "1") )

 

Aby następnie postawić warunek:

- Jeśli wartość "Trial" = 1

    Następnie nowa właściwość: swModel.AddCustomInfo3("", "Reponse1", swCustomInfoText, "OK") 

- Jeśli wartość "Trial" = 2

    Następnie nowa właściwość: swModel.AddCustomInfo3("", "Answer2", swCustomInfoText, "OK")

Nie wiem, czemu odpowiadają twoje właściwości SolidWorks, ale:

Możesz zarządzać warunkami za pomocą narzędzia "Smarpropertie", używasz poleceń "opcja" i/lub "warunkowo"


smarproperties.png

Tak, znam SmartProperties.

Ale to jest wyjątkowe... Muszę przejść przez makro przed utworzeniem Smarta.

Szukam więc "surowego" kodu VBA do odczytania właściwości.

Witam

Rzeczywiście, jak mówi flegendre, narzędzie "SmartProperties" robi to bardzo dobrze.

Tego rodzaju przetwarzanie można również osiągnąć za pomocą funkcji "Właściwości niestandardowe" SolidWorks, którą można znaleźć w okienku zadań. ale jest to trochę bardziej skomplikowane niż "SmartProperties"!

Pozdrowienia


proprietes_perso_sw.png

O rany! Skrzyżowana odpowiedź.

Tak, dziękuję, ale jak powiedziałem wcześniej, to naprawdę kod VBA (taki sam jak swModel.AddCustomInfo3), którego szukam

Cholera, znowu skrzyżowane...

1 polubienie

Próbowałem:

 

Jeśli swCustomPropertyNames("Trial") = "1" Następnie
bRet = swModel.AddCustomInfo3("", "Odpowiedź1", swCustomInfoText, "OK")
 
Ale to nie działa...

Witam

 

Domyślam się, że ta prośba jest związana z tą:

 

http://www.lynkoa.com/forum/emplacement-fichiers-xml?page=1

 

Ostatnia odpowiedź, której udzieliłem, nie pomogła?

Naprawdę trudno mi zrozumieć, dlaczego absolutnie chcesz przejść przez makro?

 

Wiem, że to wiele pytań, ale jeśli to może pomóc chmimblick iść naprzód...

 

@+

 

1 polubienie

Tak, to jest powiązane.

 

Moja obserwacja jest prosta: link SmartProperties jest zarządzany TYLKO zgodnie z typem pomieszczenia.

 

Robię więc makro, które zmieni właściwość "XmlPath", a tym samym bezpośrednią ścieżkę SmartPorperties zgodnie z właściwością :)

 

Jestem już prawie na miejscu, muszę tylko stworzyć ten warunek (przeczytaj rekwizyt, a następnie nowy rekwizyt)
Jeśli możesz mi pomóc

Witam

 

 

Aby pobrać właściwość, instrukcja jest następująca:

                SWmoddoc. GetCustomInfoValue("", "kod")


Otrzymujemy właściwość "code" w zmiennej VBA "CODE", gdzie SWmoddoc reprezentuje Twój aktywny dokument (Set SWmoddoc = swApp.ActiveDoc).

 

Aby uzyskać podstawowe instrukcje dotyczące makr, radzę uważnie przeczytać samouczek, który zrobiłem i który jest komentowany dla każdej linii:

 

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

 

Ponownie

 

Ale nie jest to związane tylko z typem części (w moim przykładzie tak jest), ale mówię o właściwości, która steruje XMl i wydaje mi się, że to jest to, czego chcesz!

Ta właściwość może być dowolna, a nie typu części...

 

Albo naprawdę NIC nie rozumiem w tym pytaniu!

 

@+

Z obrazem..


smartproperties2.jpg

@Coyote: Tak, obecnie używam twojej metody rozwijanej, aby wybrać plik xml.
Ale nie jest to jasne dla użytkowników...

Na przykład, gdy tworzysz część, na tej liście możesz umieścić "PieceCommerce" i "PieceManufactured". I to właśnie wtedy, gdy wprowadzasz na rynek Smarta, dokonujesz wyboru. I że za każdym razem, gdy go ponownie uruchamiasz...

 

Natomiast przechodząc przez szablon (w którym właściwość "PieceCommerce" jest wprowadzana na stałe), Smart voucher jest uruchamiany automatycznie i za każdym razem. A co więcej, jest ślepy dla użytkownika. 

Ha Ok, jasne jest, że rozumiem potrzebę znacznie lepiej.

 

Cóż, próbuję sprawdzić, czy znajdę właściwe rozwiązanie.

 

@+

A priori działa na górze

 

KOD = SWmoddoc. GetCustomInfoValue("", "kod")

 

Po sfinalizowaniu staram się umieścić wynik w innym temacie, jeśli ludzie są zainteresowani

1 polubienie

Tak, jestem zainteresowany twoim makro thewarner !

Daj mi znać, kiedy będzie dostępny.

Dostępny

 

(ale w rzeczywistości jest to bardzo proste...)