DXF van een assembly exporteren

Hallo

Ik heb een macro die DXF exporteert van een plaatwerkassemblage, kan ik een wijziging aanbrengen om de uitgaande bestanden op dikte te groeperen (in de D-map).(dikte) ...

Bij voorbaat dank

Hallo

Ja, dit is mogelijk door de dikte-eigenschap van de snijlijst af te lezen

Hier is een voorbeeld van code om deze eigenschap op een open deel op te halen:

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 likes

Hallo

Bedankt voor uw reactie en alstublieft hoe u de macro-code kunt toevoegen?

Bijgevoegd is het bestand dat ik heb

 

 


got-flaten-dxf-van-assembly.swp

Vervangt de regel:

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

Bij:

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

Opmerking: Controleer de spelling van de eigenschap "Plaatdikte" in uw onderdelen. En wijzigt de bovenstaande regel dienovereenkomstig.

Als u een afgeronde diktewaarde wilt, voegt u het volgende toe:

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

Net na de regel:

swCustPrpMgr.Get2 token, "", resVal

 

1 like
Ik doe wat je zei, maar de macro maakt geen mappen op dikte van onderdelen ...
Anders als je de wijziging op de macro zou kunnen maken en me de volledige versie zou kunnen sturen

 

Ik wil zoiets als dit: YOUTUBE-link

Het zou de DXF's in "\<Part Folder>\DXFs\Epaisseur_XX\ moeten plaatsen

Het probleem kan uit de kamer komen. Kunt u een testonderdeel bevestigen.

1 like

Bijgevoegd is een voorbeeld


Deel 1.SLDPRT

Jazeker. In navolging van de instructie in mijn eerste bericht,

>Controleer de spelling van de eigenschap "Plaatdikte" in uw onderdelen. En wijzigt de bovenstaande regel dienovereenkomstig.

De regel moet zijn:

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

 

1 like

Hallo

Op de youtube link staat een download link van de Marco om te testen

Moge de Kracht met je zijn

 

1 like
Hallo
nee, de macro in de YouTube-link is gecodeerd en er ontbreken enkele instructies...
1 like
Hallo
Heel erg bedankt "JeromeP" het probleem en opgelost;
Is alstublieft hoe toegevoegd in de geregistreerde onderdeelnaam de hoeveelheid (van de assemblage) van elke...
Bij voorbaat dank