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...
pl
4
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