Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  E3.series
  Script zum Import mehrerer DWG Blätter

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
Autor Thema:  Script zum Import mehrerer DWG Blätter (385 / mal gelesen)
Thomas6789
Mitglied
CAE-Admin


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

Beiträge: 31
Registriert: 24.10.2018

Zuken E3

erstellt am: 19. Apr. 2022 10:04    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,

hat jemand zufällig ein Script, mit dem man mehrere DWG Blätter, die in einem bestimmten Ordner abgelegt sind, auf einmal zu importieren?
Für jedes DWG Blatt müsste ein Blatt im E3 automatisch erstellt werden, und das DWG mit der entsprechenden Skalierung platziert werden. In E3 ist es leider nur möglich jedes DWG einzeln zu importieren, was bei 100 Blättern ziemlich umständlich ist.

Vielen Dank
LG

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

K0NFUZIUS
Moderator



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

Beiträge: 258
Registriert: 06.02.2006

erstellt am: 19. Apr. 2022 12:35    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 Thomas6789 10 Unities + Antwort hilfreich

Hallo Thomas,
was Fertiges habe ich nicht aber:
SheetInterface::ImportDXF() sollte hier helfen.
Kannst Du denn programmieren? Sag bescheid wenn Du weitere Hilfe brauchst.

Gruß Jörg

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

Thomas6789
Mitglied
CAE-Admin


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

Beiträge: 31
Registriert: 24.10.2018

Zuken E3

erstellt am: 19. Apr. 2022 13:22    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 Jörg,

danke für deine Antwort. Ich habe schon das eine oder andere Script angepasst und kleinere Scripts erstellt. Ich versuche mal wie weit ich komme, für den ein oder anderen Tip bin ich aber natürlich immer offen :-)

Gruß Thomas

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

Sevy4791
Mitglied



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

Beiträge: 70
Registriert: 28.01.2022

erstellt am: 19. Apr. 2022 14:50    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 Thomas6789 10 Unities + Antwort hilfreich

Hallo zusammen

Hier ein kurzes Programm welches alle DXF Dateien aus einem Ordner
in E3 importiert. Das Programm läuft extern.
Bitte passt die entsprechenden Variablen und Ordner an.

Gruss Sevy

Code:
Sub Import_DXF()
    Set App = CreateObject("CT.Application")
    Set Prj = App.CreateJobObject
    Set sht = Prj.CreateSheetObject
    Dim DXF_Scale: DXF_Scale = 0.5 'scale
    Dim xPos: xPos = 20#  'placement position on the x axis
    Dim yPos: yPos = 20#  'placement position on the y axis
    Dim fontName: fontName = "Verdana"
    Dim flags: flags = 0
    Dim FSO As Object
    Dim SourceFolder As Object
    Dim FileItem As Object


    shtCount = 100
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = FSO.GetFolder("c:\dxf\")
 
    For Each FileItem In SourceFolder.Files
        strFileExt = FSO.GetExtensionName(FileItem)
        If strFileExt = "dxf" Then
            fileName = FileItem.Name
            sht.Create 0, shtCount, "DINA3", 0, 0
            result = sht.ImportDXF(fileName, DXF_Scale, xPos, yPos, 0, fontName, flags)
            Debug.Print result
            shtCount = shtCount + 10
        End If
    Next FileItem
End Sub


[Diese Nachricht wurde von Sevy4791 am 26. Apr. 2022 editiert.]

[Diese Nachricht wurde von Sevy4791 am 26. Apr. 2022 editiert.]

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

Sevy4791
Mitglied



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

Beiträge: 70
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 26. Apr. 2022 10:27    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 Thomas6789 10 Unities + Antwort hilfreich

Eher eine Spielerei aber noch recht eindrücklich was alles möglich ist.
Jeweils 4 DXF werden auf einer Seite angeordnet. Damit lässt sich Papier sparen  

Code:
Sub Import_DXF()
    Set App = CreateObject("CT.Application")
    Set Prj = App.CreateJobObject
    Set sht = Prj.CreateSheetObject
    Dim DXF_Scale: DXF_Scale = 0.45 'scale
    Dim xPos
    Dim yPos
    Dim fontName: fontName = "Verdana"
    Dim flags: flags = 1
    Dim FSO As Object
    Dim SourceFolder As Object
    Dim FileItem As Object

    shtCount = 100
    PosCount = 1
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = FSO.GetFolder("c:\dxf\")
 
    For Each FileItem In SourceFolder.Files
        strFileExt = FSO.GetExtensionName(FileItem)
        If strFileExt = "dxf" Then
            Select Case PosCount
                Case 1: xPos = 25: yPos = 157: sht.Create 0, shtCount, "DINA3", 0, 0: shtCount = shtCount + 10
                Case 2: xPos = 220: yPos = 157
                Case 3: xPos = 25: yPos = 22
                Case 4: xPos = 220: yPos = 22
            End Select
            fileName = FileItem.Name
            result = sht.ImportDXF(fileName, DXF_Scale, xPos, yPos, 0, fontName, flags)
            Debug.Print result
            PosCount = PosCount + 1
            If PosCount >= 5 Then PosCount = 1
        End If
    Next FileItem
End Sub


[Diese Nachricht wurde von Sevy4791 am 26. Apr. 2022 editiert.]

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)2023 CAD.de | Impressum | Datenschutz