Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro dxf import

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Mit komplexer Geometrie und organischen Formen arbeiten
Autor Thema:  Makro dxf import (1422 mal gelesen)
GVolker
Mitglied


Sehen Sie sich das Profil von GVolker an!   Senden Sie eine Private Message an GVolker  Schreiben Sie einen Gästebucheintrag für GVolker

Beiträge: 4
Registriert: 10.05.2017

erstellt am: 10. Mai. 2017 22:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

bin ein kleiner Anfänger was SolidWorks angeht. Arbeite viel mit AutoCAD und ISYCam.

Ich würde gerne meine DXF files automatisch als Skizze in ein Bauteil importieren. Nur wenn ich das Makro aufzeichne und ein dxf file importiere klappt das zwar bei der Aufzeichnung , aber beim abspielen bleibt später die Skizze leer.

Kann mir das einer erklären?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 11. Mai. 2017 06:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GVolker 10 Unities + Antwort hilfreich

Hallo,

sollte machbar sein, hier nur ein paar wichtige Grundsatzfragen:

1. Sind das unterschiedliche dxf oder ist es immer die gleiche?
2. Ist die Skizze zum Startzeitpunkt des Macros bereits aktiv?
3. Auf welche Ebene soll die dxf eingefügt werden bei nicht aktiver Skizze?
4. Soll eine Batch Abarbeitung ablaufen oder nur einzelne dxf separat?

In der API Hilfe gibt es für den ersten Ansatz ein gutes Beispiel dazu >Hier entlang<.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GVolker
Mitglied


Sehen Sie sich das Profil von GVolker an!   Senden Sie eine Private Message an GVolker  Schreiben Sie einen Gästebucheintrag für GVolker

Beiträge: 4
Registriert: 10.05.2017

erstellt am: 11. Mai. 2017 17:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

danke für die schnelle Antwort :

zu 1. es sind immer die gleichen benamungen der dxf files.(für unterschiedliche Projekte)

zu. 2. ich habe nur einen Rohling als model. klicke auf die Ebene und füge dann die Skizzen ein welche dann mit einem Feature versehen werden.

zu3. siehe 2 glaube ich

zu 4 was ist eine Batch Abarbeitung ?? sorry hoffe das ist keine so schlimme Frage.

Danke.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 12. Mai. 2017 07:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GVolker 10 Unities + Antwort hilfreich

Hallo,

Zitat:
zu 4 was ist eine Batch Abarbeitung ?? sorry hoffe das ist keine so schlimme Frage.

Das heißt ob du z.B. das Macro auf eine Liste von Datein (Datein in einem Ordner) automatisch der Reihe nach anwenden willst, sowas wie der Taskplaner von SWX zum konvertieren der Datein. Aber aus deiner Frage würde ich die Antwort "nein" vermuten.

Hast du mal das von mir verlinkte Macro getestet evtl. mit einer test dxf von dir?

Eine Grundsatzfrage, wieso muss es eine DXF sein? Du könntest diese doch einmalig einfügen und dann zu einem Block (alternativ Bibliotheksfeature) umwandeln und dann über die Standard SWX Funktionen ziemlich geschmeidig in mehreren Teilen verwenden?

Gruß
Bernd

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GVolker
Mitglied


Sehen Sie sich das Profil von GVolker an!   Senden Sie eine Private Message an GVolker  Schreiben Sie einen Gästebucheintrag für GVolker

Beiträge: 4
Registriert: 10.05.2017

erstellt am: 12. Mai. 2017 22:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Jo die Anleitung aus der API hat mir sehr weitergeholfen. Läuft mittlerweile. Leider finde ich gerade keine einfache Methode den Skizzennamen gleich mit umzubenennen. Kann es sein das dieser immer Markiert sein muss oder bin ich da wieder zu blöd. Bei Google finde ich nur meterlangen Code. Dachte aber eher an sowas einfaches wie setName "XXX".

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GVolker
Mitglied


Sehen Sie sich das Profil von GVolker an!   Senden Sie eine Private Message an GVolker  Schreiben Sie einen Gästebucheintrag für GVolker

Beiträge: 4
Registriert: 10.05.2017

erstellt am: 13. Mai. 2017 23:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

H, sry das ich nochmal störe. Habe da leider doch noch einen kleinen Fehler. Ich weiß nur noch nicht wie ich den weg bekomme.
Und zwar bekomme ich das ImportData nicht in meine aktuelle baugruppe rein sondern das Makro erstellt jedes mal eine neue Baugruppe. Und wenn ich es über den Feature Manager importiere habe ich es zwar in der Baugruppe aber nicht mit den importData Einstellungen. Hier der Code :

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.33559972235372, 0.221830771072007, 9.99999999982037E-03, False, 0, Nothing, 0)
    Dim filename As String
    Dim longerrors As Long
    Dim retVal As Boolean
    filename = "D:\3D_test\xxx.dxf"
    Dim importData As SldWorks.ImportDxfDwgData
    Set importData = swApp.GetImportFileData(filename)
    ' Import method
    importData.ImportMethod("") = Part.FeatureManager.InsertDwgOrDxfFile("D:\3D_Doku_test\075mil.dxf")

    importData.LengthUnit("") = SwConst.swLengthUnit_e.swMM


Dim myFeature As Object
Set myFeature = Part.FeatureManager.InsertDwgOrDxfFile("D:\3D_Doku_test\075mil.dxf")
  ' Gets
    Debug.Print "Part Sketch Gets:"
    Debug.Print "  Add constraints:  " & importData.AddSketchConstraints("")
    Debug.Print "  Merge points:      " & importData.GetMergePoints("")
    Debug.Print "  Merge distance:    " & (importData.GetMergeDistance("") * 1000#) & " mm"
    Debug.Print "  Import dimensions: " & importData.ImportDimensions("")
    Debug.Print "  Import hatch:      " & importData.ImportHatch("")
    'Sets    Debug.Print "Part Sketch Sets:"
    importData.AddSketchConstraints("") = True
    Debug.Print "  Add constraints:  " & importData.AddSketchConstraints("")
    retVal = importData.SetMergePoints("", True, 0.000002)
    Debug.Print "  Merge points:      " & retVal
    Debug.Print "  Merge distance:    " & (importData.GetMergeDistance("") * 1000#) & " mm"
    importData.ImportDimensions("") = True
    Debug.Print "  Import dimensions: " & importData.ImportDimensions("")
    importData.ImportHatch("") = True
    Debug.Print "  Import hatch:      " & importData.ImportHatch("")
   
    Part.ClearSelection2 True
    Part.SketchManager.InsertSketch True
   
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Absolvent / Trainee Konstruktion & Entwicklung (m/w/d)

Seit über 50 Jahren bringen wir Menschen mit dem zusammen, was sie begeistert. In unseren sechs Fachbereichen Maschinen- und Anlagenbau, Fahrzeugtechnik, Energietechnik, Elektrotechnik sowie Bauwesen & TGA bringen unsere Mitarbeiter ihr Know-How genau dort ein, wo es gebraucht wird - in abwechslungsreichen Engineering-Projekten. Werden auch Sie Teil des Teams und verbinden Sie das klassische Ingenieurwesen mit der digitalen Zukunft....

Anzeige ansehenKonstruktion, Visualisierung
bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 15. Mai. 2017 07:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für GVolker 10 Unities + Antwort hilfreich

Hallo Volker,

laut API-Hilfe sollte die Methode "InsertDwgOrDxfFile" bei Baugruppen eigentlich garnicht funktionieren. 
Hab mal das Macro etwas gekürzt, optisch überarbeitet, auf die neuere "InsertDwgOrDxfFile2" umgestellt und am Ende wird der Name der Skizze auch gleich geändert in derzeit "SketchName". Dieses Mmacro funktioniert aber nur bei Teilen (Parts) nicht bei Baugruppen (assemblies).

Code:

Dim swApp As SldWorks.SldWorks
Dim swModelDoc As ModelDoc2
Dim importData As ImportDxfDwgData
Dim swFeature As Feature
Dim boolstaus As Boolean

Sub main()

Set swApp = Application.SldWorks
Set swModelDoc = swApp.ActiveDoc

filename = "D:\3D_Doku_test\075mil.dxf"

Set importData = swApp.GetImportFileData(filename)

importData.ImportMethod("") = SwConst.swImportDxfDwg_ImportMethod_e.swImportDxfDwg_ImportToExistingPart
importData.LengthUnit("") = SwConst.swLengthUnit_e.swMM
importData.AddSketchConstraints("") = True
boolstatus = importData.SetMergePoints("", True, 0.000002)
importData.ImportDimensions("") = True
importData.ImportHatch("") = True

Set swFeature = swModelDoc.FeatureManager.InsertDwgOrDxfFile2(filename, importData)
swModelDoc.ClearSelection2 True
swModelDoc.SketchManager.InsertSketch False

swFeature.Name = "SketchName"

swModelDoc.ViewZoomtofit2

boolstatus = swModelDoc.ForceRebuild3(False)

End Sub


------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz