Regularnie projektuję zespoły spawane mechanicznie, z których pobieram listy spawanych części, aby zintegrować je z moimi rysunkami.
Na tych listach spawanych części pobieram, za pomocą niestandardowej właściwości o nazwie "Opis" (patrz pj), charakterystyki geometryczne moich profili, które zmieniam nazwy zgodnie z tymi cechami. Na przykład dla rury kwadratowej 100x3 o długości 1544 mm korpus będzie nosił nazwę TC100x3... Rok 1544.
Z drugiej strony, sprawa się komplikuje, gdy moje ciało jest blachą... Chciałbym mieć możliwość odtworzenia grubości (np. 3mm), długości (400 mm) i szerokości (100 mm) rozłożonej blachy, aby nazwać swoje ciało w następujący sposób: Blacha odc.3... 400x100 .
Treść ma właściwości Grubość arkusza blachy, Długość ściany bocznej arkusza blachy i Szerokość ściany bocznej arkusza blachy, ale jak zintegrować je z właściwością "Opis"?
Ostatnio dla klienta (jednorazowe użycie) mieliśmy podobną potrzebę: w części spawanej mechanicznie (w sensie SW), wyświetlanej długiej szerokości x we właściwości bryły. Po prostu dostaliśmy treść, która miała długość i szerokość i wkleiliśmy wszystko w polu, które nas interesowało.
W takim przypadku będzie to: "SW-Długość boku tôle@@@... " x "SW-Szerokość boku tôle@@@... " x itd.
Trochę się spóźniłem, ale od dłuższego czasu używam tego samego co Stefbeno, kopiując formuły pożądanych zmiennych, umieszczając je w rzędzie przeplatanym pożądanym tekstem, działa to idealnie A wartości zmieniają się podczas kopiowania, kopiowania drzew i zmiany nazw konfiguracji, albo nie widzę w tym żadnego problemu!
Pozostaje tylko skopiować/wkleić w podsumowaniu właściwości: Przykład: Laser "SW-Długość ściany bocznej tôle@@@Tole<2>@Pièce1.SLDPRT"x"SW-Szerokość ściany bocznej tôle@@@Tole<1>@Pièce1.SLDPRT" ep"SW-Grubość tôlerie@@@Tole<2>@Pièce1.SLDPRT"
W przypadku istniejących części będziesz musiał przejść przez makro, zrobiłem to osobiście, dla podobnego problemu:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeat As SldWorks.Feature
Dim swCustPropMgr As SldWorks.CustomPropertyManager
Dim NF As String
Dim Liste As String
Dim Final As String
Dim st As String
Dim swBodyFolder As SldWorks.BodyFolder
Dim swBody As Body2
Dim vBody As Variant
Dim i As Integer
Sub main()
On Error Resume Next
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
NF = swModel.GetTitle() & ".SLDPRT"
st = """"
Set swFeat = swModel.FirstFeature
Do While Not swFeat Is Nothing
If swFeat.GetTypeName() = "CutListFolder" Then
Liste = swFeat.Name
Set swBodyFolder = swFeat.GetSpecificFeature2
swBodyFolder.UpdateCutList
Final = st & "SW-Longueur du flanc de tôle@@@" & Liste & "@" & NF & st & "x" & st & "SW-Largeur du flanc de tôle@@@" & Liste & "@" & NF & st
Set swCustPropMgr = swFeat.CustomPropertyManager
swCustPropMgr.Add3 "Dimension", swCustomInfoText, Final, 1
End If
Set swFeat = swFeat.GetNextFeature
Loop
End Sub
Wszystko, co musisz zrobić, to dostosować tę linię:
Końcowy = st & "SW " " tôle@@@ Długość boku & "@" & "NF & st & "x" & "SW " " & "SW " " Szerokość ściany bocznej tôle@@@& " " & "@" & "NF & st NF jest łącznikiem: nazwa części + . SLDPRT (Biblioteka SLDPRT) st jest znakiem cudzysłowu (")
Następnie możesz zrobić, co chcesz jako formułę, dodać tekst, to zaleta makr!
Dziękuję Michael! Z drugiej strony nie widzę, jak umieścić tę właściwość body w domyślnym modelu: Laser "SW-Bok Długość tôle@@@""x"SW-Szerokość ściany bocznej tôle@@@"" ep"SW-Grubość tôlerie@@@@@@""
W przypadku modelu domyślnego radzę po prostu utworzyć mechanicznie lutowaną funkcję w modelu domyślnym, aby dodać zmienną, która jest w porządku. Zwykle od momentu powstania ciał nabiorą one odpowiedniej wartości.
Możesz również wykonać normalny model części i spawanego mechanika, jeśli przeszkadza Ci fakt, że masz funkcję spawania mechanicznego na wszystkich częściach
Problem z obiektami arkusza blachy polega na tym, że właściwość "Opis" automatycznie przyjmuje wartość "Arkusz" podczas tworzenia arkusza blachy.
W SW2019, w Opcja => Właściwości dokumentu => Konstrukcje spawane, istnieje możliwość zmiany tej wartości domyślnej (patrz pj). Ale jakie wyrażenie powinienem napisać zamiast Arkusz, aby uzyskać moją słynną Blachę.# ... ### x ###?