Makro solidworks zmienia nazwę wymiaru

Witaj społeczność.

 

Wciąż w trakcie opracowywania moich makr szukam sposobu na zmianę nazw moich taliowania.

Zamiast tradycyjnego B-ga. @EsquisseX, chciałbym mieć "tekst do wyboru" @nom szkicu

Mogę umieścić prefiks lub sufiks w tekście numeru wewnętrznego, ale nie mogę zmienić jego nazwy

 

Poniżej znajduje się kod, który jest używany, ale nie działa, aby zmienić nazwę numeru połączenia.


Przyciemnij myDisplayDim Jako obiekt
Ustaw myDisplayDim = swmodel. AddDimension2(-0,15, wysokość / 2, 0)
Przyciemnij myDimension jako obiekt
Ustaw myDimension = swmodel. Parametr("H@Esquisse2")
boolstatus = swmodel. EditDimensionProperties2(0, 0, 0, "", "", Prawda, 9, 2, Prawda, 12, 12, "H = ", "", Prawda, "", "", Fałsz)

 

Czy masz pojęcie, dlaczego i jak???

 

Z góry dziękuję

 

Szczęśliwy tata

Witam

Wyobrażam sobie, że nagrałeś makro, aby uzyskać ten wynik?

Zamiast tego należy użyć funkcji "Dla każdego ", która przejdzie przez wszystkie wymiary części, na przykład (która pobierze wartości wszystkich wymiarów dla wszystkich konfiguracji), zobacz tę sekcję pomocy API:

http://help.solidworks.com/2012/English/api/sldworksapi/Get_Dimension_Values_in_All_Configurations_Example_VB.htm

Dostosowując to makro, nie powinno być bardzo trudno uzyskać nazwę każdej oceny.

 

Edycja: makro, które prawdopodobnie będzie jeszcze bardziej przydatne:

http://help.solidworks.com/2012/English/api/sldworksapi/Get_Display_Dimension_Properties_Example_VB.htm

Edycja 2: poprzednie makro to tylko fragment kodu, to jest kompletne i też będzie bardzo przydatne:

http://help.solidworks.com/2012/English/api/sldworksapi/Iterate_Through_Dimensions_in_Model_Example_VB.htm

 

2 polubienia

Jeśli możesz później opublikować funkcjonalne makro, aby mogło przynieść korzyści wszystkim, byłoby wspaniale!

Dziękuję!

Dziękuję za tę odpowiedź.

 

Nie użyłem a dla każdej funkcji, ale tworząc moją ocenę, nadałem jej nazwę, którą chciałem przekazać.

 

Poniżej znajduje się zmodyfikowany kod, który działa.

Przyciemnij myDisplayDim Jako obiekt
Ustaw myDisplayDim = swmodel. AddDimension2(-0,15, wysokość / 2, 0)
Przyciemnij myDimension jako obiekt
Ustaw myDimension = swmodel. Parametr("H@Esquisse2")
Ustaw swSelMgr = swmodel. Menedżer wyboru
Ustaw swDispDim = swSelMgr.GetSelectedObject5(1)
Dim swDim As SldWorks.Dimension
Ustaw swDim = swDispDim.GetDimension
Dim nom_cote As String


boolstatus = swmodel. EditDimensionProperties2(0, 0, 0, "", "", Prawda, 9, 2, Prawda, 12, 12, "H = ", "", Prawda, "", "", Fałsz)
nom_cote = "H"
swDim.Name = nom_cote

1 polubienie

Och, rzeczywiście, to było podczas tworzenia, nie zwróciłem na to uwagi!