| | | Liebherr-Mischtechnik spart Zeit mit intelligenter Datenbank, eine Pressemitteilung
|
Autor
|
Thema: Script zum Import mehrerer DWG Blätter (401 / mal gelesen)
|
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 19. Apr. 2022 10:04 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 271 Registriert: 06.02.2006
|
erstellt am: 19. Apr. 2022 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für Thomas6789
|
Thomas6789 Mitglied CAE-Admin
Beiträge: 32 Registriert: 24.10.2018 Zuken E3
|
erstellt am: 19. Apr. 2022 13:22 <-- editieren / zitieren --> Unities abgeben:
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 |
Ex-Mitglied
|
erstellt am: 19. Apr. 2022 14:50 <-- editieren / zitieren -->
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.] |
Ex-Mitglied
|
erstellt am: 26. Apr. 2022 10:27 <-- editieren / zitieren -->
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.] |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|