Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Prüfmaße, Prüftabelle

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:   Prüfmaße, Prüftabelle (2454 mal gelesen)
DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 15. Mrz. 2017 13:58    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 habe das Forum bereits durchgeschaut und konnte einen Beitrag finden, bei dem die Prüfmaße in einer externen Excel-Liste aufgelistet werden.
Gäbe es eine Möglichkeit, dass diese nicht in eine Excel-Liste geschrieben werden, sondern mit einer "Prüfmaßtabelle" direkt auf die Zeichnung eingefügt werden?
Hintergrund ist: Wir geben unseren Lieferanten die Zeichnung mit und alle Maße, die mit als Prüfmaße gekennzeichnet werden müssen nachgemessen und der "reale" Wert eingetragen werden. Damit der Konstrukteur die Maße nicht von Hand einfügen müssen, soll ein Makro dies übernehmen.

Hat von Euch einer da schon eine Lösung?

Freue mich über jede Antwort! 

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

nahe
Mitglied



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

Beiträge: 1333
Registriert: 18.01.2001

arbeite mit:
HP Z440 Workstation
Xenon (12-Kern) 3.5GHz
32GB RAM
238GB SSD
------------------------
SWX-2016 SP5.0
DBWorks-R15 SP2.17
----------------
Windows 7 64 bit
----------------
VB
VBA
Lotus Notes Datenbanken
erste Schritte mit Swift

erstellt am: 15. Mrz. 2017 17:11    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Dirk,

statt in eine Excel-Tabelle in eine SWX Tabelle zu schreiben, sollte kein großes Problem sein.
Hängt halt auch davon ab, was Du Dir davon erwartest z.B.:
- Positionierung der Tabelle
- Berücksichtigung der versch. Formaten
- Wann und Wie soll aktualisiert werden
- ...

Ohne das Makro zu kennen, würde ich als größtes Problem sehen,
Wie werden "Prüfmaße" gehandelt die keine Maße sind und als solche nicht mit der Eigenschaft
Prüfmaß versehen sind.
z.B.: Härteangaben, Form- Lagetoleranzen, ....

Sorry, ich weiß, dass Dir das jetzt nicht viel weiterhilft.
Ich würde einfach mal versuchen das Makro das Du gefunden hast, abzuändern.

------------------
Grüße
Heinz

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP)


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

Beiträge: 1004
Registriert: 20.12.2003

SolidWorks 2017 SP5, Windows 10 x64,
Workstation:
Fujitsu Celsius M740 Power, Xeon E5-1650v4, 32 GB DDR-Ram, Quadro K4000
Laptop:
HP ZBook 17 G4, i7-7820HQ, 32 GB DDR-Ram, Quadro P-3000

erstellt am: 15. Mrz. 2017 18:40    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Dirk,

wenn ihr häufiger mit Erstmusterprüfberichten usw. zu tun habt, dann
solltet ihr euch vlt. mal das Solidworks Inspection Modul anschauen.
Ich habe keine Ahnung, was der Spaß kostet, aber vielleicht rechnet sich
das für euch.

------------------
==========
Gruß
Andreas
==========

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

DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 17. Mrz. 2017 13: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

Hallo Heinz, Hallo Andreas,

vielen dank für eure Antworten!

Also Härteangaben, Form und Lagetoleranzen werden hier nicht geprüft.
Es geht vorerst rein um die Maße. Deswegen muss ich hier auch nicht überprüfen, ob etwas vergessen wurde. D.h. alle Maße, die das "Kästchen" bekommen sollen in einer Tabelle eingefügt werden. Die Position kann der Konstrukteur danach noch bestimmen. Die Tabelle soll einfach auf der Zeichnung auftauchen 


@Andreas: Problem ist bei uns, dass wir im Sondermaschinenbau tätig sind, hier sind die Fertigungsteil zu 80% neue Teile. Da wäre es denke ich zu aufwendig, für jedes Teil ein Erstmusterprüfbericht zu erstellen.

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

Jörg W
Mitglied
Maschinenbautechniker und CAD Admin


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

Beiträge: 1227
Registriert: 12.07.2001

Win 7 64bit
Intel Core I7 3,40GHz
SW2014 SP5
HP z230
16GB Ram
Quadro K2000

erstellt am: 23. Mrz. 2017 11:01    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Dirk,

Wir nutzen hierzu INRETO von mbm Solution
Das ist ein AddIn mit dem man Prüfmarken in einer Zeichnung setzten kannst und die Informationen dann nach Excel oder Word ausgegeben werden können.
Auf der Webseite kannst Du dir eine Demo runterladen die du 20 mal starten kannst.

------------------
Pfürti Jörg W 

www.hydac.com / Waleska Webdesign / CAD.de Hilfeseite / CAD.de Stammtisch Saar

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 530
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 29. Mrz. 2017 12: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 Nur für DirkM94 10 Unities + Antwort hilfreich


Tabelle.sldtbt.txt

 
Da ich zufällig grade was gebastelt habe, lass ich euch direkt mal teilhaben.

Das Makro fügt die VorlageTabelle (Pfad anpassen!) unten links ein (falls der Verankerungspunkt für allg. Tabellen im Blattformat eingestellt ist, das false bei InsertTableAnnotation2 auf true ändern). Danach geht das alle Ansichten und alle Maße durch und wirft die Prüfmaße in die Tabelle. Anschließend wird vor das jew. Maß noch die laufende Nr. gesetzt.

Es werden nur Bemaßungen geprüft, keine Form- und Lagetoleranzen.

HTH.

Gruß, Jens

Code:

Dim swApp As Object
Dim Part As Object
Dim Gtol As Object
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim view As Object
Dim DisplayDimension As Object
Dim Dimension As Object
Dim Wert As Double
Dim tol As Variant
Dim dimstring As String
Dim myTable As Object
Dim myTextFormat As Object
Dim Präfix As String

Sub main()

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

'Schrifthöhe für allg. Tabellen auf 2.5 setzen
Set myTextFormat = Part.Extension.GetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingGeneralTableTextFormat, swUserPreferenceOption_e.swDetailingGeneralTable)
myTextFormat.CharHeight = 0.0025
boolstatus = Part.Extension.SetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingGeneralTableTextFormat, swUserPreferenceOption_e.swDetailingGeneralTable, myTextFormat)

Vorlage = "...\Tabelle.sldtbt" <- Hier Pfad zur Vorlage eintragen

Set myTable = Part.InsertTableAnnotation2(False, 0.02495, 0.01289, 3, Vorlage, 3, 8)  '(Am Verankergspkt einfügen, X, Y, Verankergspkt li unten, Vorlage, Zeilen, Spalten)

Set view = Part.GetFirstView
nr = 1

Do While Not view Is Nothing
    Set DisplayDimension = view.GetFirstDisplayDimension
   
    For j = 0 To view.GetDimensionCount - 1
        Set Dimension = DisplayDimension.GetDimension
        If DisplayDimension.Inspection = 1 Then
            Wert = Dimension.SystemValue
            tol = Dimension.GetToleranceValues
            Set btol = Dimension.Tolerance
            Präfix = DisplayDimension.GetText(swDimensionTextPrefix)
           
            If Dimension.GetToleranceType = swTolSYMMETRIC Then tol(0) = -tol(1)
            If Dimension.GetToleranceType = swTolFIT Then
                BohrPass = btol.GetHoleFitValue
                WellPass = btol.GetShaftFitValue
            End If
           
            If nr > 1 Then
                boolstatus = myTable.InsertRow(swTableItemInsertPosition_Last, myTable.TotalRowCount)
            End If
           
            ' Zellen mit Werten belegen, Umwandlung in mm
            myTable.Text(nr + 1, 0) = nr                    'Nummer
           
            If Dimension.GetToleranceType = swTolFIT Then  'Wenn Passung
                myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " " & BohrPass & WellPass
            ElseIf Dimension.GetToleranceType = swTolSYMMETRIC Then 'Wenn symm.
                myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " ±" & tol(1) * 1000
            Else
                myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " +" & tol(1) * 1000 & " " & tol(0) * 1000
            End If
           
            myTable.Text(nr + 1, 2) = Präfix & (Wert + tol(1)) * 1000          'oberes Grenzmaß
            myTable.Text(nr + 1, 3) = Präfix & (Wert + tol(0)) * 1000        'unteres Grenzmaß
         
            'Bemaßung nummerieren
            dimstring = "[" + CStr(nr) + "] " & Präfix
            DisplayDimension.SetText swDimensionTextPrefix, dimstring
            nr = nr + 1
        End If
       
        Set DisplayDimension = DisplayDimension.GetNext
   
    Next
   
    Set view = view.GetNextView
   
Loop

boolstatus = Part.ForceRebuild3(True)

End Sub


------------------
CSWA, CSWP, CSWPA-SM =)

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

DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 29. Mrz. 2017 16:05    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 Jens,

das ist genau, was ich gesucht habe   

leider taucht bei mir immer ein Fehler auf. Kannst du mir hierbei evtl. noch helfen?

Wenn ich das Makro ausführe, dann wird bei mir ein Laufzeitfehler angezeigt:

Laufzeitfehler 91:

Objektvariable oder with-Blockvariable nicht festgelegt


ich habe mal einen Screenshot eingefügt, wo der Fehler auftaucht.


[Diese Nachricht wurde von DirkM94 am 29. Mrz. 2017 editiert.]

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 530
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 29. Mrz. 2017 16:30    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 DirkM94 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DirkM94:
ich habe mal einen Screenshot eingefügt, wo der Fehler auftaucht.

Ich seh zwar keinen Screenshot, aber meine Glaskugel sagt mir, dass du vermutlich den Vorlagenpfad noch nicht geändert hast bzw. mein Kommentar noch drin steht:

aus

Code:
Vorlage = "...\Tabelle.sldtbt" <- Hier Pfad zur Vorlage eintragen

muss z.B.

Code:
Vorlage = "C:\Temp\Tabelle.sldtbt"

werden.

Edit: Und die Tabelle muss natürlich auch an dieser Stelle gespeichert sein. 

Gruß, Jens


------------------
CSWA, CSWP, CSWPA-SM =)

[Diese Nachricht wurde von CAD-Maler am 29. Mrz. 2017 editiert.]

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

DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 30. Mrz. 2017 10:44    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 Jens,

hatte einen Schreibfehler im Pfad, funktioniert wunderbar  

Ich habe noch folgendes eingefügt, falls das Makro ausgeführt wird, wenn keine Zeichnung bzw. ein Dokument geöffnet ist:


    '* Prüfung ob ein Dokument aktiv ist
    If Part Is Nothing Then
      MsgBox "Keine Zeichnung geladen!", vbMsgBoxSetForeground + vbInformation, "Fehler"
      Exit Sub
    End If
    '* Prüfung ob das aktuell aktive Dokument eine Zeichnung ist
    If Part.GetType <> swDocDRAWING Then
     MsgBox "Aktive Datei ist keine Zeichnung!", vbMsgBoxSetForeground + vbInformation, "Fehler"
    End If

[Diese Nachricht wurde von DirkM94 am 30. Mrz. 2017 editiert.]

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 530
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 30. Mrz. 2017 11:34    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 DirkM94 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DirkM94:
Hallo Jens,

hatte einen Schreibfehler im Pfad, funktioniert wunderbar    

Ich habe noch folgendes eingefügt, falls das Makro ausgeführt wird, wenn keine Zeichnung bzw. ein Dokument geöffnet ist:


    '* Prüfung ob ein Dokument aktiv ist
    If Part Is Nothing Then
      MsgBox "Keine Zeichnung geladen!", vbMsgBoxSetForeground + vbInformation, "Fehler"
      Exit Sub
    End If
    '* Prüfung ob das aktuell aktive Dokument eine Zeichnung ist
    If Part.GetType <> swDocDRAWING Then
     MsgBox "Aktive Datei ist keine Zeichnung!", vbMsgBoxSetForeground + vbInformation, "Fehler"
    End If

[Diese Nachricht wurde von DirkM94 am 30. Mrz. 2017 editiert.]


Fehlerabfragen und so einen Kram spar ich mir meistens. Sich selbst unentbehrlich machen und so.      

*Klug******er-Modus*

Da fehlt noch ein "Exit Sub" bei der 2. Abfrage...

*/Klug******er-Modus*

Gruß, Jens  


------------------
CSWA, CSWP, CSWPA-SM =)

[Diese Nachricht wurde von CAD-Maler am 30. Mrz. 2017 editiert.]

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

DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 31. Mrz. 2017 09:39    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

Das muss ich mir merken  
Nun manche Spezialisten ändern dann das Makro wenn ein Fehler auftritt  

funktioniert sogar ohne End Sub


eine Frage hätte ich noch, vllt. weißt du da ja bescheid:

in der Tabelle füge ich ganz unten noch eine Zeile ein, in der der Werker dann unterschreiben muss.

Ich habe den Befehl gefunden, mit dem man Zellen verbinden kann.
Nur habe ich nicht herausgefunden, wie man die letzte Zeile ansprechen kann.

myTable.MergeCells()

[Diese Nachricht wurde von DirkM94 am 31. Mrz. 2017 editiert.]

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 530
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 31. Mrz. 2017 11:54    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 DirkM94 10 Unities + Antwort hilfreich

Ich werde nicht müde zu erwähnen, was für eine große Hilfe die API-Hilfe von SolidWorks ist...   

Da findest du alles, was du mit einer Tabelle so anstellen kannst, unter anderem dieses Beispiel.   

Alternativ müsstest du den Index der letzten Spalte ja aus der Laufzeit des Makros haben. Oder du holst dir den Index mit TotalRowCount. Oder du fügst die letzte Zeile schon in der Vorlage ein, dann musst du halt die Füllzeilen für die Maße nicht ganz hinten einfügen, sondern vor der letzten Spalte.  Oder oder oder... Viele Wege führen nach Rom.   

Gruß, Jens

------------------
CSWA, CSWP, CSWPA-SM =)

[Diese Nachricht wurde von CAD-Maler am 31. Mrz. 2017 editiert.]

[Diese Nachricht wurde von CAD-Maler am 31. Mrz. 2017 editiert.]

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

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


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

Beiträge: 530
Registriert: 17.01.2007

SWX 2015 SP5
AutoCAD 2015
Win 8.1 64 bit
Intel Xeon 3,2GHz
16GB RAM
Nvidia Quadro K2200
SWx EPDM

erstellt am: 12. Apr. 2017 12:21    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 DirkM94 10 Unities + Antwort hilfreich


Pruefmasstabelle.zip


20170412_Pruefmasstabelle.jpg

 
Update:

Auf Wunsch meiner Kollegen habe ich das Prüfmasstabellen-Makro noch etwas aufgebohrt: Neben den Prüfmaßen werden nun auch alle (!) Form- und Lagetoleranzen mit in die Tabelle übernommen.

Wie üblich muß im Makro selbst der Pfad zur Tabellenvorlage angepasst werden. Bei uns hängt die Tabelle immer rechts oben auf der Zeichnung. Sollte das anders gewünscht werden, müssen die x- und y-Koords und evtl. der Ankerpunkt der Tabelle noch angepasst werden.

Fehler und Anregungen: Wie immer her damit!

Ansonsten: Viele Spässe damit!

Gruß, Jens

------------------
CSWA, CSWP, CSWPA-SM =)

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

Maria2010
Mitglied
Konstrukteurin

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

Beiträge: 3
Registriert: 09.01.2018

SolidWorks 2018

erstellt am: 09. Jan. 2018 09: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 DirkM94 10 Unities + Antwort hilfreich


Beispiel.pdf


Beispiel2.JPG

 
Moin,
Ich habe nun beide Makros zusammen gepackt (Ich habe eigentlich gar keine Ahnung davon, klappt aber trotzdem). Nun habe ich aber ein paar Probleme:
- die Tabelle aktualisiert sich nicht, wenn man den Befehl (STRG + Q) gibt?
- Außerdem habe ich manchmal auch die Situation, dass meine Toleranzen nur negativ sind, dann schmeist er mir komische Sachen raus (siehe Bild "Beispiel"). Vom ding her richtig, sieht bloß komisch aus.
- Wenn ich die Tabelle eingefügt habe, kann ich sie nur an den Fixpunkten verschieben, aber nicht "freihändig". Der Hacken zum deaktivieren ist ausgegraut. (siehe Bild "Beispiel 2)

Wäre klasse, wenn mir jemand helfen könnte, bin total unerfahren im programmieren von Makros.

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 09. Jan. 2018 11: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 DirkM94 10 Unities + Antwort hilfreich

Hallo Maria,

Zitat:
- die Tabelle aktualisiert sich nicht, wenn man den Befehl (STRG + Q) gibt?

Das Makro kann darauf auch nicht reagieren da keine automatische Aktualisierung eingebaut ist.

Zitat:
- Außerdem habe ich manchmal auch die Situation, dass meine Toleranzen nur negativ sind, dann schmeist er mir komische Sachen raus (siehe Bild "Beispiel"). Vom ding her richtig, sieht bloß komisch aus.


Da fehlt im Code eine Fallunterscheidung was passieren soll wenn beide Werte negativ bzw. beide Werte positiv sind. Hier kannst du dann folgendes tun:
Code:
myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " +" & tol(1) * 1000 & " " & tol(0) * 1000

ersetzen durch
Code:
If tol(1) > 0 And tol(0) > 0 Then
myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " +" & tol(0) * 1000 & " +" & tol(1) * 1000
ElseIf tol(1) < 0 And tol(0) < 0 Then
myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " " & tol(1) * 1000 & " " & tol(0) * 1000
Else
myTable.Text(nr + 1, 1) = Präfix & Wert * 1000 & " +" & tol(1) * 1000 & " " & tol(0) * 1000
End If

Das du deine Tabelle frei ziehen kannst, könntest du folgende Zeile im Code nach der Set myTable = ... Anweisung einfügen.

Code:
myTable.Anchored = False

Mich wundert hier nur wieso verankert wird obwohl "False" für das Verankern in der Set myTable Anweisung gesetzt ist. 

Gruß
Bernd

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

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 09. Jan. 2018 editiert.]

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

Maria2010
Mitglied
Konstrukteurin

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

Beiträge: 3
Registriert: 09.01.2018

SolidWorks 2018

erstellt am: 09. Jan. 2018 12:26    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 DirkM94 10 Unities + Antwort hilfreich


Beispiel3.JPG

 
Hallo Bernd,

Danke für die Hilfe.
- Punkt 2 funktioniert super. Die einzelnen Fälle werden jetzt unterschieden.
- Hast du oder jemand anderes eine Idee wie man Punkt 1 ändern kann?
- Punkt 3 funktioniert leider immer noch nicht. Sorry. (siehe Beispiel 3)

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 09. Jan. 2018 15: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 Nur für DirkM94 10 Unities + Antwort hilfreich

Hallo Maria,
Zitat:

- Hast du oder jemand anderes eine Idee wie man Punkt 1 ändern kann?

Ideen ja, nur ist dass dann nicht mehr ganz so einfach und auf die schnelle umgesetzt, weil hier müsstest du dann mit Events arbeiten wenn es denn unbedingt bei STRG + Q aktualisiert werden soll.

Zitat:
- Punkt 3 funktioniert leider immer noch nicht. Sorry. (siehe Beispiel 3)

Dass wundert mich aber, da es bei mir so einwandfrei funktioniert, evtl. könnte sich da in der API von SWX 2018 was geändert haben, was ich leider nicht nachprüfen kann.

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 09. Jan. 2018 15:26    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 DirkM94 10 Unities + Antwort hilfreich


Laufzeitfehler.PNG

 
Moin,
das ist ja ein super Makro!!
Könnten wir in unserer Abteilung richtig gut gebrauchen.

Nur leider funktioniert es bei mir nicht bei Winkelmaßen.
Bei mir kommt immer:
Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument (siehe Screenshot).

Hat jemand ne Idee, woran das liegen könnte?

LG
Henrik

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

nahe
Mitglied



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

Beiträge: 1333
Registriert: 18.01.2001

arbeite mit:
HP Z440 Workstation
Xenon (12-Kern) 3.5GHz
32GB RAM
238GB SSD
------------------------
SWX-2016 SP5.0
DBWorks-R15 SP2.17
----------------
Windows 7 64 bit
----------------
VB
VBA
Lotus Notes Datenbanken
erste Schritte mit Swift

erstellt am: 09. Jan. 2018 19:25    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

ich kenn den Code des Makros zwar nicht. Aber schau Dir mal in der Online Hilfe
an welche Werte GetPrimaryPrecision2 liefert.
Wenn ich mich nicht  verlesen habe, nämlich nur negative Werte

------------------
Grüße
Heinz

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 10. Jan. 2018 07:36    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

GetPrimaryPrecision2 liefert nur zurück wie die Genauigkeit definiert ist d.h. sie liefert also nicht wie hier wahrscheinlich vermuttest die Anzahl der Nachkommastellen.

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 10. Jan. 2018 10:40    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 DirkM94 10 Unities + Antwort hilfreich

Moin,

ein Kollege (kein "SolidWorker") hat mir den Code umgeschrieben...jetzt funktionierts, soweit ich es beurteilen kann.
Falls jemand Interesse hat:
von:

Code:
          If BemTyp = 1 Then
                Typ = "Winkel"
                Wert = 360 / (2 * pi) * Wert
                Wert = Round(Wert, DisplayDimension.GetPrimaryPrecision2)

in:

Code:
            If BemTyp = 1 Then
                Typ = "Winkel"
                Wert = 360 / (2 * pi) * Wert
                PrimaryDimension2 = DisplayDimension.GetPrimaryPrecision2
                If PrimaryDimension2 < 0 Then
                    PrimaryDimension2 = PrimaryDimension2 * (-1)
                End If
                Wert = Round(Wert, PrimaryDimension2)

Zusätzlich hat er oben PrimaryDimension2 als Interger definiert:

Code:
Dim PrimaryDimension2 As Integer

Ich weiß nicht, ob es die eleganteste Lösung ist, aber es läuft 

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 10. Jan. 2018 11:54    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Hernik,

was sollen diese Zeilen den bitte machen? Weil ich glaube nicht das der Code irgendwie was sinnvolles macht.
Die möglichen Rückgabewerte von GetPrimaryPrecision2 sind nähmlich:

-swDoNotChangePrecisionSetting / -1
-swPrecisionFollowsDocumentSetting / -2
-swTolerancePrecisionFollowsNominal / -3

Diese sind daher immer negativ.

Ich denke auch wenn du diese Zeilen weglässt sich nichts am Ergebnis ändert.

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 10. Jan. 2018 12: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 DirkM94 10 Unities + Antwort hilfreich

OK ...war mir nicht klar, dass die Zahlen für bestimmte Einstellungen stehen.
Mein Kollege hat das Ganze natürlich nicht aus SolidWorks-Sicht betrachtet und ich hab kaum Erfahrung mit VBA.
Aber: Auch wenn der Code nix sinnvolles macht: Die Fehlermeldung ist weg 

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 10. Jan. 2018 14:33    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 DirkM94 10 Unities + Antwort hilfreich

Hab die Rückgabewerte jetzt noch einmal genauer angeschaut und habe folgendes herausgefunden:

- Wenn die Genauigkeiten manuell eingestellt werden gibt GetPrimaryPrecision2 die Nachkommastellen zurück, nur wenn die Eisntellung auf z.B. ".123(Dokument)" gestellt ist bekommt man die -2 als Rückgabewert.

- Wenn bei der Toleranzgenauigkeit auf "wie Nominal" gestellt wird gibt GetPrimaryTolPrecision2 -3 als Rückgabewert und analog wie oben bei ".12(Dokumet) auch die -2.

Das heist bei deinem Code bei ungünstiger Kombination von den Dokumenteinstellungen für die Genauigkeiten, wird in der Tabelle falsch gerundet, weil immer auf 2 bzw 3 Nachkommastellen gerundet wird.

Zum Hintergrund, diese Prozedur mit dem Auswerten der Einstellungen für die Nachkommastellen benötigt mann, weil SWX intern mit Radiant arbeitet und hier beim umrechnen auf Grad Rundungsfehler im Bereich der glaub 10. Nachkommastelle entstehen. Ohne diese Prozedur würden die rechnerischen Werte auch mit dieser Anzahl von Nachkommastellen in der Tabelle angeziegt werden.

Hier mal ein korrigierter Code der alle Eventuallitäten berücksichtigen sollte, hierzu muss nur noch ModelDocExt deklariert werden und entsprechend zugewiesen.

Code:
    'Bemaßungen
    Set DisplayDimension = view.GetFirstDisplayDimension
   
    For j = 0 To view.GetDimensionCount - 1
        Set Dimension = DisplayDimension.GetDimension
        If DisplayDimension.Inspection = 1 Then
            Wert = Dimension.SystemValue
           
            BemTyp = Dimension.GetType
           
            If BemTyp = 1 Then
                Typ = "Winkel"
                Wert = 360 / (2 * pi) * Wert
                If DisplayDimension.GetPrimaryPrecision2 < 0 Then
                    BemPrecision = ModelDocExt.GetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingAngularDimPrecision, swUserPreferenceOption_e.swDetailingAngleDimension)
                Else
                    BemPrecision = DisplayDimension.GetPrimaryPrecision2
                End If
               
                Wert = Round(Wert, BemPrecision)
            Else
                Typ = "Länge"
            End If
           
            tol = Dimension.GetToleranceValues
            If BemTyp = 1 Then
              
               If DisplayDimension.GetPrimaryTolPrecision2 = -2 Then
                    TolPrecision = ModelDocExt.GetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swDetailingAngularTolPrecision, swUserPreferenceOption_e.swDetailingAngleDimension)
               ElseIf DisplayDimension.GetPrimaryTolPrecision2 = -3 Then
                    TolPrecision = BemPrecision
               Else
                    TolPrecision = DisplayDimension.GetPrimaryTolPrecision2
               End If
              
               tol(0) = 360 / (2 * pi) * tol(0)
               tol(0) = Round(tol(0), TolPrecision)
              
               tol(1) = 360 / (2 * pi) * tol(1)
               tol(1) = Round(tol(1), TolPrecision)

            End If


Code:

Dim ModelDocExt as Object
Set ModelDocExt Part.Extesion

Gruß
Bernd

[EDIT] U.a. Hintergrund wieso diese Prozedur nötig ist ergänzt.

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

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 11. Jan. 2018 editiert.]

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

Maria2010
Mitglied
Konstrukteurin

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

Beiträge: 3
Registriert: 09.01.2018

SolidWorks 2018

erstellt am: 11. Jan. 2018 12:02    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 DirkM94 10 Unities + Antwort hilfreich

Moin,

"Hier mal ein korrigierter Code der alle Eventuallitäten berücksichtigen sollte, hierzu muss nur noch ModelDocExt deklariert werden und entsprechend zugewiesen."

Da ich ja wirklich keine Ahnung habe, funktioniert es leider bei mir nicht.
Vielleicht kann mir jemand sagen, was ich da deklarieren muss?

Sorry für die doofen Fragen, aber ich wurde von meinen Chef an diese Aufgabe gesetzt, obwohl ich keine Ahnung habe. Dank eurer Hilfe bin ich aber schon ziemlich weit.   

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 11. Jan. 2018 12:36    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Maria,

das "Dim ModeldocExt As Object" fügst du ganz oben bei den anderen Deklarationen ein also da wo auch z.B. "Dim Part As Object" steht.
Das "Set ModelDocExt = Part.Extension" fügst du unter der Zeile "Set Part = swApp.ActiveDoc" ein, dann sollte es klappen.

Sag deinem Chef aber vorher das du für nichts garantieren kannst wenn du Macros aus dem WWW verwendest ohne zu wissen was diese wirklich tun, weil es gibt auch sehr mächtige Macros mit dennen du bei falscher Anwendung gut Schaden anrichten kannst. Hier im Brett ist das Risiko etwas geringer, weil in den meisten Threads dazu auch beschrieben ist auf was mann achten muss bzw. was sie wie tun, dies ist aber natürlich nicht bei allen anderen Quellen auch so.

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 11. Jan. 2018 13: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 Nur für DirkM94 10 Unities + Antwort hilfreich


PruefmasseV1.zip

 
Hallo zusammen,

anbei das überarbeitete Macro.

Anpassungen:

    -Überarbeitung der Auswertung der Nachkommastellen für Winkelbemaßungen
    -Fallunterscheidung bei zweiseitigen Toleranzen wenn beide Toleranz-Werte positiv bzw. negativ sind

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 16. Jan. 2018 15:46    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 DirkM94 10 Unities + Antwort hilfreich

Sorry...ich muss noch mal um Hilfe bitten 
Bei mir werden Winkelmaße jetzt wunderbar gerundet.
Längenmaße werden jedoch mit extrem vielen Nachkommastellen in die Tabelle eingetragen:
Ich habe einen Durchmesser von 4mm im Teil.
Das Makro liest als Wert schon (komische) "3,9999999999999999E-03" ein und rundet danach nicht (ist ja auch kein Befehl dafür vorhanden bei Längenmaßen soweit ich sehen kann).
Wenn ich mir aber auch bei Längenmaßen mit "GetPrimaryPrecision2" die Genauigkeit hole und anschließend runden lasse, rundet das Makro von 4 auf 0 runter...es ignoriert einfach die ausgelesenen Nachkommastellen (im Debugging kann ich sehen, dass SolidWorks 2 Nachkommastellen "anfordert")

Hat jemand eine Idee, woran das liegen könnte?

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 17. Jan. 2018 07:53    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

kannst du den Code Abscchnitt den du geändert hast hier posten, dann sehen wir auch was du wirklich geändert hast.

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 17. Jan. 2018 09:10    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 DirkM94 10 Unities + Antwort hilfreich


TEST.zip

 
Moin,

ich habe gestern das Makro anscheinend "zerbastelt" ...wenn ich deine V1 neu lade, funktioniert das Runden wieder.
Leider habe ich aber dann weiterhin eine Fehlermeldung wegen den Toleranzgenauigkeiten beim Ausführen des Makros (Laufzeitfehler '13': Typen unverträglich).
Solange die Toleranzgenauigkeit auf ".12 (Dokument)" steht, gibt es diese Fehlermeldung. Selbst wenn gar keine Toleranz angewählt ist.
Sobald ich eine Toleranz aktiviere, die Genauigkeit manuell umstelle und dann die Toleranz wieder deaktiviere (weil ich keine Brauche), funktioniert das Makro ohne Probleme.

Ich hab mal eine Beispielzeichnung angehängt.

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 17. Jan. 2018 09: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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

kann die Datei leider nicht öffnen, bin noch mit der Version 2016 unterwegs.
Ich kann kein Fehlverhalten reproduzieren egal was ich bei Tolranztyp bzw. Toleranzgenauigkeit einstelle.

Kannst du bitte Mal einen Screenshot machen wo du den Laufzeitfehler im Macro bekommst und am besten auch gleich mit dem Ausschnitt der Zeichnung mit der Bemaßung welche deiner Meinung nach den Fehler produziert.

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 17. Jan. 2018 11:12    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 DirkM94 10 Unities + Antwort hilfreich


Typenunvertraeglich.jpg


Mas.jpg


Dokumenteigenschaften.PNG

 
Hi,

anbei ein paar Screenshots.
Das Makro bleibt bei mir leider schon beim ersten Maß hängen. Tol(0) sowie tol(1) zeigen bei mir <Typen unverträglich> an.
Ich gucke jetzt mal per Einzelschritt, ab wann die Typen unverträglich werden.

EDIT: Ich habe gerade gemerkt, dass das Makro weiterläuft, sobald ich bei dem Maß die Toleranz einmal von "Keine" auf "Grundlegend" und dann wieder zurück auf "Keine" schalte (ohne die Toleranzgenauigkeit umzuschalten).
Dann hängt das Makro dafür aber beim nächsten Maß wieder genauso fest (ich könnte jetzt bei allen Maßen 1x hin und her schalten, dann läuft das Makro komplett sauber durch)

[Diese Nachricht wurde von Captain Feature am 17. Jan. 2018 editiert.]

[Diese Nachricht wurde von Captain Feature am 17. Jan. 2018 editiert.]

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 17. Jan. 2018 14:30    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

ich kann das irgendwie nicht reproduzieren egal was ich da für den Toleranztyp einstelle, evtl. hängt das Problem mit der Version 2017 zusammen. Ich werde Mal versuchen das die Obsolete Methode "Dimension.GetToleranceValues" durch die neueren GetMaxValue Method (IDimensionTolerance) / GetMinValue Method (IDimensionTolerance) zu ersetzten.

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

bk.sc
Ehrenmitglied
Maschinenbautechniker


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: 1922
Registriert: 18.07.2012

HP Z400 Workstaion
CPU: Intel Xeon 6x 3,33GHz
GPU: NVIDEA Quadro 2000
RAM: 12 GB DDR3
Win 7 x64
CAD Hauptberuflich
-Solid Works 2014 SP4
-Creo Elements Direct Drafting (ME10)
DMS/PDM
-Pro.File V8 (8.4)
Simulation
-Simufact Forming 11.0
CAD Nebenberuflich
-Pro Engineer WF 3+4
-Creo Parametric 2.0

erstellt am: 18. Jan. 2018 07:57    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 DirkM94 10 Unities + Antwort hilfreich

Hallo Henrik,

versuch mal

Code:
tol = Dimension.GetToleranceValues

zu ersetzten durch

Code:
Dim tol(1) As Double
           
lWarning = Dimension.Tolerance.GetMinValue2(tol(0))
lWarning = Dimension.Tolerance.GetMaxValue2(tol(1))

Die Dim Anweisung kannst du auch nach ganz oben zu den anderen Deklarationen schieben.

Gruß
Bernd

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

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 18. Jan. 2018 editiert.]

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

Captain Feature
Mitglied



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

Beiträge: 107
Registriert: 26.03.2012

erstellt am: 18. Jan. 2018 11:33    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 DirkM94 10 Unities + Antwort hilfreich

Du bist der Hammer!!!
So funktioniert das Makro ohne Fehlermeldungen.
Vielen vielen Dank für deine ganze Mühe, die du hier reinsteckst!

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

DirkM94
Mitglied



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

Beiträge: 19
Registriert: 15.03.2017

Solidworks 2014
Keytech 13
Office 2010

erstellt am: 01. Feb. 2018 15:02    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,

weiß jemand von euch, ob es eine Möglichkeit gibt die Tabelle automatisch erstellen zu lassen, wenn beispielsweise ein Speicherbefehl o.Ä. ausgeführt wird?

Sprich wir haben Keytech im Einsatz und wenn man dann "Keytech speichern" klickt, dass die Tabelle dann automatisch generiert bzw. aktualisiert wird?

Grüße
Dirk

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an jörg.jwd  Schreiben Sie einen Gästebucheintrag für jörg.jwd

Beiträge: 2752
Registriert: 05.11.2003

Win XP, Win7-64,
SWX 2010/11/12/13/14/15/16/17/18,
Immer das aktuellste SP
Autodesk Product Design Suite Standard 2013/14/16
DraftSight Énterprise 2017SP2
CIM Database auf Dell Precision M4800 16GB RAM. NVIDIA Quadro K2100M

erstellt am: 01. Feb. 2018 15: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 Nur für DirkM94 10 Unities + Antwort hilfreich

Hallo Dirk,

ich denke da musst du dich mit den Herstellern von keytec in Verbindung setzen. Die müssten das ja in ihr AddIn mit einbauen.

------------------
Grüße

Jörg

man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen

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)2018 CAD.de