Jak pobrać format rysunku w makrze solidworks?

Witam

 

Chciałbym zmienić tło rysunku makra (nowy szablon planu tła), ale aby to zrobić, muszę wiedzieć, w jakim formacie jest mój rysunek na ekranie.

(A0 lub A1 lub A2 lub A3 lub A4) ta właściwość jest zapisana w moim modelu pod nazwą "DRAWING-CAD_SHEESIZE".

 

Jak pobrać tę zmienną w makrze, aby następnie przetestować jej wartość w celu załadowania nowej mapy bazowej o tym samym rozmiarze?

Po prostu nie wiem, jak odzyskać zmienną!!

 

Z góry dziękuję

 


format.jpg

Jeśli masz pakiet mycadtools, tę zbiorczą modyfikację można łatwo wykonać za pomocą narzędzia INTEGRACJA.

1 polubienie

Nie, nie mam tego narzędzia...

Witam

Odpowiedź tutaj:

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

 

Zaczynam w VB z SolidWorks (robię VB z Excelem, ale jest inaczej)

Potrzebuję czegoś jasnego. (z deklaracjami)

Czy ktoś może mi napisać linijki kodu (VB) w celu pobrania wartości mojej zmiennej "DRAWING-CAD-SHEETSIZE".

Powinienem dostać 'A3' w zmiennej.

 

Dziękuję za pomoc


format.jpg

Witam

Oto kod, którego używam W VBA:

'Wyszukiwanie informacji o arkuszu
Przyciemnij ps jako Ustawienia strony
Ustaw ps = swDraw.PageSetup
Ustaw swSheet = swDraw.GetCurrentSheet
vSheetProps = swSheet.GetProperties
size = swSheet.GetSize(Szerokość, Wysokość)

Następnie przypisuję format płaszczyzny w zmiennej zgodnie z pobranymi wymiarami.

Przejdź do pomocy API, znajdziesz kulki, wyszukując "getsize"...

A +

1 polubienie

Dziękuję bardzoo Glaffont

 

Byłem na tym samym torze.

Dostałem właściwości arkusza

vSheetProps = swSheet.GetProperties

Parametr vSheetProps (0) zwraca wartość z zakresu od 6 do 11 w zależności od rozmiaru papieru.

Wszystko, co musisz zrobić, to zrobić na nim test i gotowe.

 

Dziękuję

 

Ponownie

Jeśli Twój format znajduje się już we właściwości, możesz go pobrać w ten sposób (nadal w VBA):

Przyciemnij część jako IModelDoc2

Dim ValProp As String

ValProp = Part.GetCustomInfoValue("", "RYSUNEK-CAD_SHEESIZE")

 

W VB powinno to wyglądać tak (ale nie mogę tego przetestować):

Dim instancja jako IModelDoc2
Wartość przyciemniona jako System.String

Wartość = wystąpienie. GetCustomInfoValue("","RYSUNEK-CAD_SHEESIZE")

 

Ale nie ma za co,

Wartość line size = swSheet.GetSize(Width, Height) również zwraca tę wartość na żywo.

Zduplikowałem informacje, ponieważ w tamtym czasie nie wiedziałem, jak wyodrębnić wartości z vSheetProps (XX)

Miłego dnia