Eksport pliku DXF zespołu

Witam

Mam makro, które eksportuje DXF ze złożenia arkusza blachy, czy mogę dokonać modyfikacji, aby pogrupować pliki wychodzące według grubości (w folderze D).(grubość) ...

Z góry dziękuję

Witam

Tak, jest to możliwe poprzez odczyt właściwości thickness listy elementów ciętych

Oto przykład kodu służącego do pobierania tej właściwości na otwartej części:

Option Explicit
Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swFeat As SldWorks.Feature
    Dim custPrpMgr As SldWorks.CustomPropertyManager
    Dim myThickness As String
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    If swModel Is Nothing Then Exit Sub
    Set swFeat = swModel.FirstFeature
    While Not swFeat Is Nothing
        If swFeat.GetTypeName2 = "CutListFolder" Then
            Set custPrpMgr = swFeat.CustomPropertyManager
            custPrpMgr.Get2 "Epaisseur de tôlerie", "", myThickness
            Debug.Print "Epaisseur: " & myThickness
        End If
        Set swFeat = swFeat.GetNextFeature
    Wend
End Sub

 

2 polubienia

Witam

Dzięki za reponce i proszę , jak dodać w kodzie makra??

W załączeniu jest plik, który posiadam

 

 


got-flaten-dxf-from-assembly.swp (plik got-flaten-dxf-from-assembly.swp)

Zastępuje linię:

Const OUT_NAME_TEMPLATE As String = "DXFs\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

Przez:

Const OUT_NAME_TEMPLATE As String = "DXFs\Epaisseur_<Epaisseur de tôlerie>\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

Uwaga: Sprawdź pisownię właściwości "Grubość blachy" w swoich częściach. I odpowiednio modyfikuje powyższą linię.

Jeśli chcesz uzyskać zaokrągloną wartość grubości, dodaj:

If Val(resVal) > 0 Then resVal = Round(resVal, 0)

Tuż za linią:

swCustPrpMgr.Get2 token, "", resVal

 

1 polubienie
Robię to, co powiedziałeś , ale makro nie tworzy folderów według grubości części...
W przeciwnym razie, jeśli mógłbyś dokonać modyfikacji makra i wysłać mi pełną wersję

 

Chcę coś takiego: Link do YOUTUBE

Powinien umieścić DXF w folderze "\<Część>\DXFs\Epaisseur_XX\

Problem może pochodzić z pokoju. Czy możesz dołączyć część testową.

1 polubienie

W załączeniu znajduje się przykład


Część 1.SLDPRT

Tak. Postępując zgodnie z instrukcją zawartą w moim pierwszym poście,

>Sprawdź pisownię właściwości "Grubość blachy" w swoich częściach. I odpowiednio modyfikuje powyższą linię.

Linia powinna być:

Const OUT_NAME_TEMPLATE As String = "DXFs\Epaisseur_<Sheet Metal Thickness>\<_FileName_>_<_FeatureName_>_<_ConfName_>_<Description>.dxf"

 

1 polubienie

Witam

Pod linkiem youtube znajduje się link do pobrania Marco do przetestowania

Niech Moc będzie z tobą

 

1 polubienie
Witam
nie, makro w linku Youtube jest zakodowane i brakuje w nim kilku instrukcji...
1 polubienie
Witam
Bardzo dziękuję "JeromeP" za problem i rozwiązany;
Czy proszę o to, jak dodano w zarejestrowanej nazwie części ilość (zespołu) każdego...
Z góry dziękuję