Erstellen eines Makros Öffnen der Solidwork-Datei Makrohilfe

Hallo

Lassen Sie mich mein Problem erklären, ich habe derzeit eine Excel-Datei, aus der ich mein 3D öffnen möchte (was mir auch gelingt)

dann.... Speichern Sie sie in . DXf in einen bestimmten Ordner mit dem Pfad "G:\DAO\Iges-fao" und benennen Sie sie mit dem ERP-Code um, der in der Datenkarte sowie im Index (Revision) erscheint

Ich habe angefangen, den Anfang des Makros zu schreiben, aber ich bleibe bei der Aufnahme von 3D in DXF stecken :-(

Ich hänge den Code sowie den Ausdruck der Datenkarte bei

Kannst du mir helfen

 
   Dim choix_liste As String     'type de pi?ce choisi dans la liste d?roulante pour l'ouverture des pi?ces
   Dim nb_de_piece As Integer    'nombre de lignes de la colonne F correspondant aux nombres de pi?ces
   Dim increment As Integer      'incr?ment de 1 pour effectuer la boucle de recherche ligne par ligne sur la colonne F
   Dim myCell As String          'variable pour fusionner l'incr?ment et la colonne F pour la plage de recherche
   Dim path As String            'chemin du dossier d'enregistrement de la pi?ce
   Dim nom As String             'nom de la pi?ce
   Dim path_complete As String   'chemin complet de la pi?ce
   Dim myBool As Boolean
   Dim myError As Long, myWarning As Long
   Dim swApp As Object
   Dim Part As Object
   Dim longstatus As Long
 
 
 'ouverture de SolidWorks :
 
   myBool = Shell("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe", vbNormalFocus)
   Application.Wait Now + TimeValue("0:00:10")
 
Set swApp = CreateObject("SldWorks.Application")
 
 
 'Set swApp = Application.SldWorks

 
  Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.OpenDoc6("C:\_FICHETBAUCHE\03 projets\01 safes\pbz00371\technical file\02 cad\millium-newton feu, cadre modifi? caisse ext pop?e\SW00239874.sldprt", 1, 1, "", myError, myWarning)
    
    Set Part = swApp.ActiveDoc
  
    ' Named View
Part.ShowNamedView2 "*Dessus", 5
Part.ViewZoomtofit2

Set Part = swApp.ActiveDoc

' Save As
Set swModel = Part.SaveAs3("G:\DAO\Iges-fao\SW00246182.DXF", 0, 0)

' Save As
'swModel.SaveAs2 Left(path, (Len(path) - 6)) & "dxf", 0, True, False
 
' boucle a creer

'definition de la plage sur lequel va s'appliquer la macro :
 
'Initialisation de certaines variables:
 
   ' valeur de la conne x = "Nouveau" et Valeur de la colonne Y = " Fabriquée" et "Pièces/Opé panoplies"

   nb_de_piece = Application.WorksheetFunction.CountA(Feuil1.Range("$H:$H")) 'nombre de cellules non vide dans la colonne F, soit le nombre de pi?ces
   increment = 1
 

'For increment = 1 To der lign
 
  ' End If
 
'Next increment 'on passe ? la ligne suivante
 
End Sub

 

Vielen Dank im Voraus

 

 

 

 

 


image.docx

Hallo

Ich sehe, dass Sie einen Epdm-Tresor haben, also zu der Bemerkung "Ich möchte mein 3D öffnen (was ich tun kann)" stimme ich nicht ganz zu, Ihr Makro funktioniert nur, wenn Ihre Dateien in Ihrem lokalen Cache sind, andernfalls müssen Sie die Epdm-APIs (EPDM. Interop.epdm_namespace) Um eine Verbindung zum Tresor herzustellen, suchen Sie nach der Datei, geben Sie sie in den lokalen Cache zurück und laden Sie sie dann (ganz zu schweigen von den Extraktions-, Sicherungs- und Archivierungsfunktionen, falls erforderlich).
Da Ihre Variablen dann aus Epdm in SW-Eigenschaften exportiert werden, können Sie die Funktion "Get6" verwenden, um ihre Werte abzurufen.
Und schließlich, um ein 3D-Modell in DWG oder DXF zu speichern, müssen Sie die Funktion "ExportToDWG2" verwenden.
Beispiele, die die Verwendung dieser verschiedenen Funktionen veranschaulichen, finden Sie unter den verschiedenen oben angegebenen Links.

Herzliche Grüße

2 „Gefällt mir“

Hallo d.Roger 

Vielen Dank für die Bemerkungen und Ratschläge  mich, die dachten, ich hätte gefunden :-(  ....

Könnten Sie mir ein wenig helfen, genau diesen Teil des Makros zu schreiben.... weil ich ein Anfänger in VB bin und jetzt verloren bin.....

Im Grunde möchte ich nur eine SW00-Datei lesen?????? die sich im folgenden Pfad befindet: "C:\_FICHETBAUCHE\03 projects\01 safes\pbz00371\technical file\02 cad\millium-Newton fire, modified framework?

und speichern Sie es dann in .dxf an dieser Stelle "G:\DAO\Iges-fao und benennen Sie es mit dem ERP-Code und dem Index der Datenkarte um

und schließen Sie die geöffnete schreibgeschützte Datei

Vielen Dank für Ihre Hilfe, ich hoffe, Sie können mir nur für diesen Teil des Makros helfen

Herzliche Grüße

Sebastian

 

Hallo

Hier ist ein Beispiel für die Verbindung mit einem Epdm-Tresor und das Hochladen einer Datei in eine SW. Sie müssen den Namen Ihres Tresors und den Namen Ihrer Datei angeben, die in das Makro hochgeladen werden soll. Vergessen Sie nicht, die Referenzen "SldWorks xxxx Type Library" und "PDMWorks Enterprise xxxx Type Library" in Ihr Makro einzufügen (Tools/References). 

Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim longstatus As Long
Dim longwarnings As Long
Dim Coffre as string
Dim Fichier as string

Sub main()

    myBool = Shell("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe", vbNormalFocus)
    Application.Wait Now + TimeValue("0:00:10")
   
    Set swApp = CreateObject("SldWorks.Application")

    Dim Vault As New EdmVault5
    Dim File As IEdmFile5
    Dim Folder As IEdmFolder5

	Coffre = "x" 'Mettre le nom du coffre fort Epdm à la place du x
	Fichier = "x" 'Mettre le nom complet du fichier à la place du x

    Vault.LoginAuto Coffre, 0

    Set File = Vault.GetFileFromPath(Fichier, Folder)
    
    Set Part = swApp.OpenDoc6(Folder.LocalPath & "/" & File.Name, 1, 2, "", longstatus, longwarnings)
    
    Set Part = swApp.ActiveDoc
    
    Part.ViewZoomtofit2
    
    MsgBox Part.GetPathName

End Sub

 

Für die anderen Funktionen gibt es HIER  für die Funktion Get6 und HIER für die Funktion ExportToDWG2 konkrete Beispiele . Um die geöffnete Datei in Sw zu schließen, müssen Sie die CloseDoc-Funktion verwenden, es gibt ein Beispiel für die Verwendung HIER .

Herzliche Grüße

 

1 „Gefällt mir“