Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Bemaßungsfavoriten

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
  
SOLIDWORKS im Browser: Freiformflächen (Sub-D-Modeling) mit 3D Sculptor
Autor Thema:  Bemaßungsfavoriten (1843 mal gelesen)
Stefan65
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 48
Registriert: 14.02.2014

Dell Precision 5820
Windows 10 Enterprise 64bit
Intel Xeon W-2123 @ 3.60GHz
16GB RAM
NVIDIA Quadro P2000
SolidWorks 2018 SP5
DBWorks-R17 SP2.5

erstellt am: 09. Jul. 2015 17:45    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


Bemassungsfavoriten.JPG

 
Hallo Zusammen,

gibt es eine Möglichkeit die Bemaßungsfavoriten ( Stil ) über ein Makro zu löschen und danach neue hinzu zu fügen? Leider ist es mir nicht gelungen ein Makro aufzuzeichnen und so an die API Befehle heranzukommen. Da ich beim Rahmentausch ja diese Bemaßungsfavoriten ( Stil ) nicht mit austauschen kann suche ich eine Möglichkeit dieses per Makro zu realisieren um auch alte Rahmen auf den neusten Stand zu bringen.

Gruß
Stefan

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: 10. Jul. 2015 06:37    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 Stefan65 10 Unities + Antwort hilfreich

Hallo Stefan,

wenn ich das richtig aus der API-Hilfe rausgelesen habe geht das nur über das allgemeine iAnnotation (Beschriftung) Objekt in deinem Fall muß ein Bemassung markierte/selectierte sein bevor du die unten stehenden Methoden verwenden kannst.

LoadStyle Method (IAnnotation)
DeleteStyle Method (IAnnotation)

Hier mal ein Beispielcode:

Code:
Option Explicit

Dim swApp As SldWorks.SldWorks

Dim swDraw As SldWorks.ModelDoc2
Dim swView As SldWorks.View
Dim swAnno  As SldWorks.Annotation


Dim boolstatus As Boolean

Sub main()

Set swApp = Application.SldWorks
Set swDraw = swApp.ActiveDoc
Set swView = swDraw.GetFirstView

Do Until swView Is Nothing

If swView.Type = swDrawingStandardView Or swView.Type = swDrawingNamedView Then
Exit Do
Else
Set swView = swView.GetNextView
End If

Loop

'Debug.Print swView.GetName2

Set swAnno = swView.GetFirstAnnotation3()

Do Until swAnno Is Nothing

If swAnno.GetType = swDisplayDimension Then
Exit Do
End If

Set swAnno = swAnno.GetNext3()

Loop

'Debug.Print swAnno.GetType

If swAnno Is Nothing Then

Msgbox "Keine Ansicht oder Bemassung gefunden", vbInformation

Else

boolstatus = swAnno.LoadStyle("SPEICHERPFAD_DES_STILES")
boolstatus = swAnno.DeleteStyle("NAMEN_DES_STILES")

End If

End Sub


Gruß
Bernd

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

Staatlich anerkannte Deutschniete  

[EDIT] Beispielcode ergänzt. [/EDIT]

[Diese Nachricht wurde von bk.sc am 10. Jul. 2015 editiert.]

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

Stefan65
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 48
Registriert: 14.02.2014

Dell Precision 5820
Windows 10 Enterprise 64bit
Intel Xeon W-2123 @ 3.60GHz
16GB RAM
NVIDIA Quadro P2000
SolidWorks 2018 SP5
DBWorks-R17 SP2.5

erstellt am: 10. Jul. 2015 17:49    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 Bernd,

recht herzlichen Dank für deinen Beispielcode und deine Hilfe. Es ist genau das, was ich schon lange gesucht habe und der Code funktioniert hervorragend. Ich habe das Makro gleich auf unsere Bedürfnisse angepasst.

Nochmals vielen Dank!!!

Gruß
Stefan

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: 10. Jul. 2015 21:31    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 Stefan65 10 Unities + Antwort hilfreich

Hallo Stefan,

kein Problem, hatte mich selber gereitzt das mal als Übung zu machen auch wenn ich noch keine Verwendung dafür habe  .
Mit ein bisschen SWX auf Englisch umgestellt, Macro Recorder und viel API / VBA Hilfe war das in ca. 2h zu realisieren.
Mit mehr Zeit und Muse könnten die Schleifen vielleicht besser aussehen und verschachtelt sein aber da fehlen mir noch paar Übungsstunden was Schleifen angeht  .

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

Stefan65
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 48
Registriert: 14.02.2014

Dell Precision 5820
Windows 10 Enterprise 64bit
Intel Xeon W-2123 @ 3.60GHz
16GB RAM
NVIDIA Quadro P2000
SolidWorks 2018 SP5
DBWorks-R17 SP2.5

erstellt am: 11. Jul. 2015 18:13    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


Bemassung.JPG


Bemassung1.JPG

 
Hallo Bernd,
ich bin auch ein ziemlicher Laie was Programmierung angeht und ich bin froh wenn das Makro seinen Dienst verrichtet auch wenn es nicht so professionell aufgebaut ist. Ich habe es soweit hinbekommen das wenn die erste Ansicht keine Bemaßung enthält solange in den Ansichten gesucht wird bis eine Bemaßung in den nächsten Ansichten gefunden wird. Alles läuft soweit ganz gut nur bei manchen Zeichnungen wird die Toleranz an den Maß durch den zuletzt geladenen Stiel ersetzt und teilweise kommt auch noch ein Durchmesser dazu, wie bei dem Maß 5 +0,5 links in den beiden angehängten Zeichnungen. Ich bin da echt ratlos was man dagegen machen kann.

Anbei noch der von mir veränderte Code

Gruß Stefan


Option Explicit

Dim swApp          As SldWorks.SldWorks
Dim swDraw          As SldWorks.ModelDoc2
Dim swView          As SldWorks.View
Dim swAnno          As SldWorks.Annotation
Dim swModel        As SldWorks.ModelDoc2
Dim boolstatus      As Boolean

Sub main()

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swApp.ActiveDoc


    If swModel Is Nothing Then
        MsgBox "Kein Dokument offen", vbSystemModal, "Fehlermeldung"
        Exit Sub
    End If
Set swView = swDraw.GetFirstView
Do Until swView Is Nothing
      Set swView = swView.GetNextView
        'Debug.Print swView.GetName2
        'MsgBox swView.GetName2
        If swView Is Nothing Then
        MsgBox "Keine Ansicht mit Bemassung gefunden", vbInformation
        Exit Sub
        End If
        Set swAnno = swView.GetFirstAnnotation3()
        Do Until swAnno Is Nothing
            If swAnno.GetType = swDisplayDimension Then
            Exit Do
            End If
            Set swAnno = swAnno.GetNext3()
        Loop
    'Debug.Print swAnno.GetType
    If swAnno Is Nothing Then
   
    Else
    '----vorhandene Bemaßungsfavoriten löschen
    boolstatus = swAnno.DeleteStyle("NAMEN_DES_STILES")
   
   
    '----neue Bemaßungsfavoriten hinzu fügen
    boolstatus = swAnno.LoadStyle("SPEICHERPFAD_DES_STILES")
   
   
    Set swApp = Nothing
    Set swModel = Nothing
    Set swDraw = Nothing
    Set swView = Nothing
   
    MsgBox "Die Bemaßungsfavoriten wurden aktualisiert. Die Zeichnung muss neu gespeichert werden!!!!!", vbInformation
Exit Sub
End If
Loop
End Sub

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: 13. Jul. 2015 06:32    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 Stefan65 10 Unities + Antwort hilfreich

Hallo Stefan,

kann es sein dass im geladenen Still das Durchmesserzeichen bzw. eine Toleranz mitgespeichert sind, weil diese informationen sind ja im Still auch gespeichert. Bei mir konnte ich so ein verhalten nicht reproduzieren, SWX hat immer nur den Stile ersetzt wie er sollte.

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

Stefan65
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 48
Registriert: 14.02.2014

Dell Precision 5820
Windows 10 Enterprise 64bit
Intel Xeon W-2123 @ 3.60GHz
16GB RAM
NVIDIA Quadro P2000
SolidWorks 2018 SP5
DBWorks-R17 SP2.5

erstellt am: 14. Jul. 2015 18:24    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 Bernd,
ja, in den Stielen sind Toleranzen mit gespeichert aber kein Durchmesserzeichen. Das Phänomen mit dem Durchmesserzeichen tritt auch nur bei normaler Bemaßung auf und nicht bei Ordinatenbemaßung. Ich werde das bei Gelegenheit mal unter Solidworks 2015 ausprobieren um zu schauen ob dort auch das Phänomen mit dem Durchmesserzeichen auf tritt. Wenn ich das unter Solidworks 2015 getestet habe, melde ich mich noch mal.

Nochmal herzlichen Dank für deine Mühe

Gruß
Stefan

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