Gefragmenteerde DXF-rand

Hallo

We gebruiken een macro die de uitgevouwen DXF van het plaatwerkonderdeel maakt. Dit werkt goed, maar de randen van het plaatwerk zijn bij elke bocht gefragmenteerd op de DXF (zie bijgevoegde afbeelding). Dit probleem belemmert het programmeren van onze ponsmachine.

Weet jij een oplossing om dit probleem te voorkomen?

Bij voorbaat dank

 

 


image_probleme.png

Hallo

Als je in de kamer bent en je implementeert de uitgevouwen functie, heb je een tweede functie en op deze klik je met de rechtermuisknop en vor als de stopbox samenvoegt (zoiets omdat ik niet voor mijn pc zit) en het vinkje uitschakelt. Als dit het geval is, vink dan dit vakje aan en voer een test uit en als deze doorslaggevend is, moet u uw onderdeelmodellen opnieuw registreren met deze parameters.

2 likes

Dank u voor dit antwoord,

Deze oplossing werkt goed, maar het zal nodig zijn om de behandeling voor elk bestaand onderdeel opnieuw uit te voeren. Zijn er meer systematische oplossingen? (Parameter in de opties ; functie op de DXF-generatie macro; wijziging van deze parameter in bulk ; ... ?)

Als u uw onderdeelmodel opslaat, is het in feite goed voor nieuwe creaties, maar voor oude onderdelen zou uw programmeerafdeling normaal gesproken de oude bestanden moeten hebben die ze hebben gewijzigd zodat ze kunnen worden gebruikt.

1 like

Het merendeel van de stukken die we maken zijn kopieën van bestaande onderdelen, dus het probleem zal blijven bestaan.

Oké, maar als je bestaande onderdelen terugneemt, heb je nog twee klikken nodig om het aan te passen, zodat de dxf niet al te veel problemen oplevert voor de programmeerafdeling.

1 like

Hallo

U kunt de wijziging van deze parameter aan het begin van de macro toevoegen, kijk HIER, u zou moeten vinden wat u nodig heeft (IModelDocExtension::SetUserPreference...) met de voorbeelden die goed gaan.

Vriendelijke groeten

Grasse heeft al je antwoorden, ik vond IFlatPatternFeatureData met de eigenschap MergeFace.

Ik moet nog even kijken hoe dit werkt, maar het lijkt me mogelijk om het in mijn macro te integreren.

Hallo

Om bij ons te testen kun je een stuk en de macro vragen.

Moge de kracht met je zijn.

 

Dankzij jouw antwoorden, een beetje onderzoek en het pijnigen van mijn hersens heb ik een macro gemaakt die de waarde van 'merge faces' van de uitgevouwen toestand (of swFlatPatternFeatureData.MergeFace) wijzigt. 

Bedankt voor je hulp

Sub main()
    
    Dim SwApp                       As SldWorks.SldWorks
    Dim Part                        As SldWorks.ModelDoc2
    Dim boolstatus                  As Boolean
    Dim swFeature                   As SldWorks.Feature
    Dim swFlatPatternFeatureData    As SldWorks.FlatPatternFeatureData
    
    Set SwApp = Application.SldWorks
    
    Set Part = SwApp.ActiveDoc
    Set swFeature = Part.FirstFeature
    While Not swFeature Is Nothing
        If swFeature.GetTypeName = "FlatPattern" Then
            
            Set swFlatPatternFeatureData = swFeature.GetDefinition
            
            If swFlatPatternFeatureData.MergeFace = 1 Then
                swFlatPatternFeatureData.MergeFace = False
            Else
                swFlatPatternFeatureData.MergeFace = True
            End If
            
        boolstatus = swFeature.ModifyDefinition(swFlatPatternFeatureData, Part, Nothing)
        
        End If
        Set swFeature = swFeature.GetNextFeature
    Wend

End Sub

 

2 likes