ans
12 Lipiec 2016 06:53
1
Witam
Pozwólcie, że przedstawię mój problem:
Po nieudanych pracach badawczych zwracam się do Państwa z prośbą o pomoc, aby móc uzyskać współrzędne (x,y ) za pomocą VBA elementu nabojowego tego rysunku.
Plik początkowy to plik dxf zaimportowany za pośrednictwem SolidWorks 2012.
Z góry dziękuję za odpowiedzi.
image_1.png
pl
12 Lipiec 2016 07:26
2
Witam
Co udało Ci się do tej pory zrobić ze swoim makro?
Oto makro, które pozwala na wykonanie polecenia "get" na każdym z elementów rysunku, a następnie na wykonanie debug.print o jego nazwie:
http://help.solidworks.com/2012/English/api/sldworksapi/Get_All_Visible_Components_in_Drawing_View_Example_VB.htm
Następnie, gdy znajdziesz się na właściwym elemencie (w zależności od tego, co debug.print wyświetla w każdym wierszu z IF), wystarczy pobrać pozycję, czerpiąc inspirację z proponowanych tutaj makr:
https://forum.solidworks.com/thread/60386
1 polubienie
ans
12 Lipiec 2016 07:58
3
Dziękujemy PL za tę szybką informację zwrotną!
Szczerze mówiąc, próbowałem użyć wielu makr w sieci, ale bezskutecznie.
Moje osobiste makro stoi w miejscu z powodu braku wystarczającej wiedzy.
Podczas korzystania z dwóch połączonych makr otrzymuję następujące komunikaty o błędach:
Makro linku 1 :
Błąd w:
'Pobierz wszystkie widoczne komponenty w widoku
vComps = swView.GetVisibleComponents
/sites/domyślne/pliki/from_ckeditor/macro1.png
Link makro nr 2 :
Na poziomie 5 linii ręki makro :
Ustaw swSketch = swView.GetSketch
Runtime Error 91 Zmienna obiektu lub Z niezdefiniowaną zmienną blokową.
/sites/domyślne/pliki/from_ckeditor/macro2_1.png
/sites/domyślne/pliki/from_ckeditor/macro2_2.png
Dziękuję za pomoc!
pl
12 Lipiec 2016 08:25
4
Pierwszy link nie był dobry, spójrz tak:
http://help.solidworks.com/2016/English/api/sldworksapi/Get_Title_Block_Tables_Example_VBNET.htm
Ale jaki jest twój poziom w VBA?
1 polubienie
ans
12 Lipiec 2016 08:34
5
Biegle posługuję się programami Excel, Powerpoint i Outlook, ale nie jestem zaznajomiony z Solidworks.
Przede wszystkim mam następujące instrukcje na czerwono, więc w pirori niepoprawne:
Klasa częściowa SolidWorksMacro
Klasa końcowa
Podczas aktywowania makra w pierwszym wierszu pojawia się komunikat o błędzie:
Błąd kompilacji: nieprawidłowa instrukcja poza procedurą.
pl
12 Lipiec 2016 08:39
6
Czy mówimy o makrze uruchamianym z SolidWorks?
Jeśli tak jest, możesz zwolnić klasy, myślę, że to bezużyteczne
1 polubienie
ans
12 Lipiec 2016 08:46
7
Ok, to zrobione, jednak problem nadal występuje na poziomie:
SolidWorks importuje . Interop.SldWorks
Powoduje błędy w SolidWorks pogrubione powyżej z komunikatem o błędzie :
Błąd kompilacji: nieprawidłowa instrukcja poza procedurą.
Masz jakiś pomysł na pochodzenie problemu?
pl
12 Lipiec 2016 08:47
8
Czy możesz umieścić swój kod w pliku txt jako załącznik na Lynkoa?
1 polubienie
pl
12 Lipiec 2016 09:06
10
Jaki link z tego zaczerpnąłeś?
Bo wydaje mi się, że w ostatniej linijce jest błąd:
Publiczny swApp jako SldWorks
Nie powinno go być w tym miejscu.
1 polubienie
ans
12 Lipiec 2016 09:18
11
Zaczerpnąłem go z ostatniego linku, który mi przesłałeś:
Pierwszy link nie był dobry, spójrz tak:
http://help.solidworks.com/2016/English/api/sldworksapi/Get_Title_Block_...
Ale jaki jest twój poziom w VBA?
remrem
12 Lipiec 2016 09:20
12
Twój kod to nie VBA, ale VB.net.
To nie może się udać...
Do zobaczenia.
1 polubienie
ans
12 Lipiec 2016 09:31
13
To wyjaśnia wiele rzeczy.
W tym przypadku jestem naprawdę w impasie.
Jeśli ktoś ma pomysł, jest mile widziany.
pl
12 Lipiec 2016 09:39
14
Tak, ostatni link jest z VB.NET do modyfikacji, aby go dostosować, dlatego zapytałem Cię o Twój poziom.
VB.NET i VBA to dwa języki, które są dość zbliżone, ale nie są kompatybilne.
1 polubienie
remrem
12 Lipiec 2016 09:46
15
Przykład jest również dostępny w języku VBA: http://help.solidworks.com/2016/english/api/sldworksapi/get_title_block_tables_example_vb6.htm
1 polubienie
pl
12 Lipiec 2016 09:56
16
Cóż, próbowałem zamienić koniec adresu URL na VB zamiast VB6...
ans
12 Lipiec 2016 10:00
17
Bardzo dziękuję za pomoc.
Użyłem kodu vba podanego w linku, jednak pojawia się komunikat o błędzie na poziomie :
Set feat = tbtAnno.TitleBlockTableFeature
Komunikat o błędzie : Błąd wykonania 91 Zmienna obiektu lub z niezdefiniowaną zmienną blokową.
pl
12 Lipiec 2016 10:14
18
Dwa szybkie pytania:
Czy masz tło, w którym znajduje się twój wkład, czy jest ono bezpośrednio na mapie? Czy możesz go wybrać?
Czy możesz wybrać kartridż za pomocą przedniej myszy, czy chcesz współrzędne bez ingerencji użytkownika?
W zasadzie, o co w tym chodzi?
ans
12 Lipiec 2016 11:41
19
Plany są wyodrębniane z plików DXF wykonanych w innym oprogramowaniu.
Nie ma tła. Właściwie mogę wybrać tabelkę rysunkową.
Celem jest automatyczne dodanie obrazu do tabelki rysunkowej w zestawie plików, które nie mają wspólnego układu ze względu na różnicę rozmiarów.
W związku z tym chciałbym wiedzieć, jak uzyskać współrzędne tabelki rysunkowej (lub ogólniej elementu) bez ingerencji użytkownika i w kontekście rysunku.
Dziękuję za pomoc.