Nazwa funkcji MEP 3D

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

Dziękuję



CAPTURE 000460

Witam

O ile mi wiadomo, obecnie niemożliwe jest odtworzenie nazwy funkcji.
Kilka obejść te problemy:

  1. Bańka z biblioteką śledzenia

  2. Uwaga biblioteczna

  3. Kombinacja 1+2 (zapisz notatkę w bibliotece ze zdefiniowaną biblioteką śledzenia, nawet jeśli oznacza to usunięcie nieistniejących znaczników w pomieszczeniu)

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

1 polubienie

Być może poprzez zaadaptowanie tego kodeksu od posła do PE:

3 polubienia

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

1 polubienie

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:

b7cb9801b0f26fbf8e2dff444b59cbcbf032e1c9_2_229x499

więc może zobacz identyfikatory dziurkowania...

1 polubienie

@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

2 polubienia

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®.

1 polubienie

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.
image
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.
image

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

Czy jesteś pewien, że Twoja adnotacja jest umieszczona na elemencie regału, a nie na ostatnim elemencie?
Ponieważ powinieneś być w stanie utworzyć objaśnienie za pomocą " komponentu, do którego dołączona jest adnotacja "