Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro um Dokumenteigenschaften zu ändern

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
  
The VISUALIZER: Die gerenderte Realität
Autor Thema:  Makro um Dokumenteigenschaften zu ändern (2335 mal gelesen)
shorty674
Mitglied


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

Beiträge: 8
Registriert: 20.01.2015

erstellt am: 23. Mrz. 2015 11:59    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 zusammen,

ich suche als aller erstes mal ein makro um die Dokumenteigenschaften zu ändern, da wir momentan bei alten zeichnungen gleiche Linienstärke bei Bemaßung und sichtbaren kanten haben und andere kleinere Dinge.

da ich für DIN A4 und den anderen unterschiedliche Eigenschaften habe, brauche ich 2 .sldstd Dateien.
Ich habe mich an ein makro versucht, aber es selber leider nicht hin bekommen.

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc

    If (Round(SheetWidth, 4) = 0.21) And (Round(SheetHeight, 4) = 0.297) Then
        boolstatus = Part.Extension.LoadDraftingStandard("Q:\...\DIN-MODIFIZIERT-A4.sldstd")

    Else
      boolstatus = Part.Extension.LoadDraftingStandard("Q:\...\DIN-MODIFIZIERT-A3-A0.sldstd")

End Function


Hat jemand einen Tipp, was ich falsch mache?

Des weiteren, ist es möglich die Dateieigenschaften automatisch beim öffnen einer Datei auszutauschen oder zu prüfen?

MfG
Max

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

Spirou85
Mitglied
Konstruktuer und CAD-Betreuer


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

Beiträge: 70
Registriert: 01.12.2014

HP ZBook 15 G5
Intel Xeon 2,9 GHz - 32GB Ram
NVIDIA Quadro P2000M
Windows 10 Pro 64Bit Version 1809
Build 17763.1098
SWX2020-64Bit-SP1.0
MaxxDB 2020 SP0.06
DraftSight Enterprise 2019 x64 SP3
3DCONNEXION SpaceMouse Enterprise mit CadMouse

erstellt am: 23. Mrz. 2015 12:17    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 shorty674 10 Unities + Antwort hilfreich

Hallo Max,

ohne Deinen Code probiert zu haben kann ich auf den ersten Blick schon mal sagen, dass am Ende auf jeden Fall "End Sub" und nicht "End Function" stehen muss. Außerdem kann das nur ein Auszug aus dem Makro sein, da "SheetWidth" und "SheetHeight" keine Werte zugewiesen bekommen.

------------------
Viele Grüße aus Brackenheim

Lars Pauly

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 23. Mrz. 2015 16:14    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 shorty674 10 Unities + Antwort hilfreich

Hallo Max

Wie Lars schon geschrieben hat, fehlen einige Sachen oder sind falsch.

Hier meine Ergänzungen dazu
- Eine If-Abfrage wird mit "End If" abgeschlossen.
- Variablen sollten deklariert werden. (z.B. Dim swApp As SldWorks.SldWorks)
- Der Dokument-Typ, für welchen das Makro gilt, sollte abgefragt werden.

Welchen Standard soll geladen werden wenn ein A4 und ein A3 im selben Dokument sind?

Hier der korrigierte Code (Lädt den Standard für das aktive Blatt)

Code:
Sub main()
   
    Dim swApp As SldWorks.SldWorks
    Dim ModelDoc As SldWorks.ModelDoc2
    Dim swSheet As SldWorks.Sheet
    Dim SheetProps() As Double
    Dim SheetWidth As Integer, SheetHeight As Integer
   
    Set swApp = Application.SldWorks
    Set ModelDoc = swApp.ActiveDoc
   
    If ModelDoc Is Nothing Then
        End
    End If
   
    If ModelDoc.GetType <> swDocDRAWING Then
        End
    End If
   
    Set swSheet = ModelDoc.GetCurrentSheet()
    SheetProps = swSheet.GetProperties()
   
    SheetWidth = SheetProps(5)
    SheetHeight = SheetProps(6)
   
    If (Round(SheetWidth, 4) = 0.21) And (Round(SheetHeight, 4) = 0.297) Then
        boolstatus = Part.Extension.LoadDraftingStandard("Q:\...\DIN-MODIFIZIERT-A4.sldstd")
    Else
        boolstatus = Part.Extension.LoadDraftingStandard("Q:\...\DIN-MODIFIZIERT-A3-A0.sldstd")
    End If
   
End Sub

Zu deiner Zeiten Frage, lies dir mal diesen Beitrag durch:
http://ww3.cad.de/foren/ubb/Forum2/HTML/028185.shtml#000006

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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