Witam
Czy ktoś wie, jak wyświetlić nazwę elementu lub jego opis jako notatkę na rysunku, w tym przypadku funkcję biblioteczną?
Dziękuję

Witam
Czy ktoś wie, jak wyświetlić nazwę elementu lub jego opis jako notatkę na rysunku, w tym przypadku funkcję biblioteczną?
Dziękuję
Witam
O ile mi wiadomo, obecnie niemożliwe jest odtworzenie nazwy funkcji.
Kilka obejść te problemy:
Bańka z biblioteką śledzenia
Uwaga biblioteczna
Kombinacja 1+2 (zapisz notatkę w bibliotece ze zdefiniowaną biblioteką śledzenia, nawet jeśli oznacza to usunięcie nieistniejących znaczników w pomieszczeniu)
Makro (w zależności od możliwości - ale wśród forumowiczów jest kilku bardzo mocnych, którzy z pewnością będą w stanie wypowiedzieć się na ten temat).
Być może poprzez zaadaptowanie tego kodeksu od posła do PE:
Witam
Nie miałam okazji testować, ale mam wrażenie, że jest całkiem blisko Waszej potrzeby, prawda?
Jak połączyć notatki z właściwościami niestandardowymi w SOLIDWORKS? (javelin-tech.com)
W odpowiedzi na coin37coin
Problem z tym podejściem polega na tym, że w każdej wyprodukowanej części trzeba dodać właściwości, w moim przypadku jest to nieodpowiednie
powinieneś być w stanie dodać właściwości w funkcjach bibliotecznych i je wywołać, nie mogę znaleźć, jak to zrobić w MEP
wiedząc, że wszystkie nieruchomości będą takie same, ale po 1 w każdym pokoju
Spowoduje to wyświetlenie ilości i opisu
na razie i w przypadku niepowodzenia szukam dostosowania makro
W MEP, zamiast wybierać funkcję w drzewie, zaznaczać ją w planie i wstawiać kod bez oddzielnej funkcji z powrotem, pojedyncze makro
Sub main()
'https://www.codestack.net/solidworks-api/document/features-manager/get-feature-type-name/
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim Fonction As String
Dim myNote As Object
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel.GetType <> 3 Then Exit Sub '1 = pièce, 2 = assemblage, 3 = plan
Fonction = GetTypeNames(swModel.SelectionManager)
Debug.Print Fonction
Set myNote = swModel.InsertNote("$PRPWLD:""QUANTITY""x" & Fonction)
End Sub
Function GetTypeNames(selMgr As SldWorks.SelectionMgr) As String
Dim typeNames As String
Dim i As Integer
For i = 1 To selMgr.GetSelectedObjectCount2(-1)
On Error Resume Next
Dim swFeat As SldWorks.Feature
Set swFeat = selMgr.GetSelectedObject6(i, -1)
If Not swFeat Is Nothing Then
'typeNames = typeNames & vbLf & swFeat.Name & ": " & swFeat.GetTypeName() & "; " & swFeat.GetTypeName2
typeNames = swFeat.Name
End If
Next
GetTypeNames = typeNames
End Function
Ten film prawdopodobnie może dać ci początek tego, jak pobrać funkcję z notatki (tutaj nie jest to nazwa funkcji, ale ścieżka do istoolbox):
Wydawało mi się, że zrozumiałem, że twoja funkcja jest elementem biblioteki zintegrowanym z twoim 3D.
Wyjaśniają jednak, jak dodać właściwości do pokoju bibliotecznego, a następnie jak je przywołać za pomocą objaśnienia w MEP.
Wydawało mi się więc, że jest idealny do twojego użytku. Ale może coś mi umknęło
Próbowałem, że nie działa w domu, umieściłem własność osobistą w funkcji bibliotecznej, wstawiłem pokój biblioteczny do pokoju, w pokoju poselskim nie można było umieścić notatki z nazwą nieruchomości
To jest funkcja stemplowania:
więc może zobacz identyfikatory dziurkowania...
@Silver_Surfer nie używałem (lub już nie używałem) dziurkacza, nie znałem tej sztuczki id na stół do dziurkowania.
Dzięki za wskazówkę!.
https://help.solidworks.com/2021/french/SolidWorks/sldworks/c_Punch_Tables.htm
Chcę uzyskać nazwę funkcji, nie ma znaczenia, czy jest to stemplowanie, czy funkcja niestandardowa
Spróbuj dodać identyfikator otworu przebijanego do narzędzia kształtu, a następnie wywołaj właściwość identyfikatora otworu przebijanego w notatce. Powinno się udać.
Jeśli chodzi o niestandardowe funkcje biblioteczne (Nr grawerowania widoczny w drzewie konstrukcyjnym), link zaproponowany przez @coin37coin może działać pod warunkiem, że funkcja wykorzystuje właściwości obecne niezależnie od pliku.
W przeciwnym razie jest to makro: Postaram się zrobić makro, które z zaznaczenia funkcji w drzewie rysunku tworzy notatkę do umieszczenia na widoku/elemencie.
Ale moim zdaniem stworzenie predefiniowanej notatki w tym samym folderze co funkcje biblioteki jest nadal najlepszym rozwiązaniem pod względem wydajności (i prostoty).
Odpowiedzi na te pytania mogą również dostarczyć następujące funkcje biblioteczne:
Nakrętka do spawania sześciokątnego. SLDLFP (630.6 KB)
Wkładka do filetów HELICOIL®. SLDLFP (2,6 MB)
TUBTARA.® SLDLFP (944.0 KB)
Każdy z nich wymaga punktu odniesienia (punktu w szkicu).
Zdecydowano się zintegrować geometrię elementu bezpośrednio z funkcją i preferować integrację pełnego opisu elementu z tekstem reprezentacji wątku.
W ten sposób, poprzez wymiarowanie reprezentacji gwintu, identyfikowany jest element.
W przypadku blachy konieczne są 2 powtórzenia na szkic, aby uzyskać rozłożony bez nakrętki lub tubtary®.
Jeśli dobrze rozumiem, działa to tylko wtedy, gdy istnieje wątek lub wątek z właściwością w reprezentacji wątku, powiązanym tekstem i nie można policzyć liczby wystąpień
Zaletą jest to, że łatwiej jest pozycjonować elementy niż przy wstawianiu części.
Chodzi o to, że tutaj wkładki są umieszczane z wkładką części, a otwór rozdziela się za pomocą funkcji bibliotecznej
Szukam tutaj sposobu, aby pojawiła się notatka z nazwą funkcji w niej
na razie mam to makro
-Brakuje możliwości wybrania funkcji z widoku części, aby dołączyć do niej notatkę.
-ilość użytej funkcji tego samego typu
Sub Fonction()
'MEP : Copie le nom de la fonction dans une note
'01 : Sélectionner une fonction dans l'arborescence pièce
'02 : La macro va créer une note avec le nom de la fonction
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSel As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim Note As Object
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSel = swModel.SelectionManager
If swModel.GetType <> 3 Then Exit Sub '1 = pièce, 2 = assemblage, 3 = plan
If swSel.GetSelectedObjectCount2(-1) <> 1 Then Exit Sub
Set swFeat = swSel.GetSelectedObject6(1, -1)
If Not swFeat Is Nothing Then
'Set Note = swModel.InsertNote("$PRPWLD:""QUANTITY""x" & swFeat.Name)
Set Note = swModel.InsertNote(swFeat.Name)
End If
End Sub
Dlaczego nie dodać właściwości na poziomie bryły części?
W przypadku funkcji dziurkowania nie widzę innego sposobu niż użycie identyfikatora stempla.
Ponieważ jednak korzystasz z wstawiania części, możesz łatwo pobrać następujące właściwości:
W pliku wstawionego artykułu utwórz właściwość, np. " Nazwa ".
W momencie wstawiania, w opcjach przenoszenia, wybierz Właściwości niestandardowe i Podpory części spawane. jak poniżej.
Zapisano notatkę w bibliotece, która zawiera: $PRPWLD:" Nazwa ".
Pozostaje tylko zainstalować go, mocując go do korpusu elementu.
Również w ten sposób lista części spawanych zostanie uzupełniona automatycznie.
Wskazówka dla istniejących elementów (z już wstawionymi częściami):
Umożliwiają konstrukcję spawaną.
Kliknij ikonę prawym przyciskiem myszy, wybierz właściwości.
Właściwości utworzone w tym oknie zostaną utworzone automatycznie dla wszystkich korpusów części spawanych
Następnie kliknij prawym przyciskiem myszy folder/element na liście części spawanych > Właściwościach > Podsumowaniu właściwości, wybierz podporę. kto jest w porządku i wypełnij wartości.
Jeśli weźmiemy przykład opisu tubtary:
… z dopiskiem $PRPWLD: " OPIS "otrzymujemy:
Kolejna sprawa: w opcjach - właściwość dokumentu - upewnij się, że opcja " zbieraj identyczne ciała" jest włączona.
Wszystko działa dobrze przy wstawianiu elementu do innego elementu, problem wynika z wstawiania elementu bibliotecznego, właściwości elementów są obecne, ale niemożliwe do wyświetlenia na planie