Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Skizzenmaße per Makro auslesen und ä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
  
DCAM integriert in SOLIDWORKS., ein Webinar am 17.03.2026
Autor Thema:  Skizzenmaße per Makro auslesen und ändern (7375 mal gelesen)
ceronics
Mitglied



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

Beiträge: 31
Registriert: 12.12.2008

SolidWorks Premium 2011 (SP2.0)

erstellt am: 24. Aug. 2011 15:56    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,

gibt es bei SoWo bzw. VBA eine Funktion um alle Maße einer Skizze zu bekommen, sodass man sie ändern kann? Also direkt per Schleife und das dann für jedes vorhandene Modellierungsfeature.
Wenn ich ein Quader erstellt habe möchte ich dann für alle Seiten plus die Tiefe z.B. 0.1mm addieren. Wenn er noch eine Austragung hat, dort jeden Wert um 0.1 verringern usw. Ist was ein größeres Vorhaben, aber ich wüsste jetzt nicht mal wie ich die Werte auslesen kann.
Weiß da jemand mehr?
Danke schon mal für die Hilfe!

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 24. Aug. 2011 16: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 ceronics 10 Unities + Antwort hilfreich

Die Maße in einer Skizze werden dazu nicht reichen...
deswegen:

Wenn dein Quader fertig ist, dann geh mal auf Einfügen -->Tabelle-->Tabelle und wähle automatisch auf der linken Seite.

Dann erhältst du eine Exceltabelle mit allen Skizzenparametern, die du vorher in dem aufpoppenden Fenster markieren musst-->markiert hast.

in der nächsten Zeile ganz links in der Spalte gibst du dann einen Namen ein(der Name der neuen Konfiguration).
und in den wieteren Spalten nach rechts trägst du die entsprechenden geänderten Parameter ein.
Wenn das immer 0,1 ist, dann kannst das mit den typischen Excelkopierfunktionen relativ zügig erstellen.

Dann neben die Tabelle im Grafikbereich klicken-->die Tabelle schließt sich, danach kommt eine Meldung, dass eine neue Konfiguration erstellt wurde unter dem Namen, den du ganz links in die Tabelle eingetragen hast.
That's it.

Wenn ich dich richtig verstanden habe, würde ich das so machen... 

------------------
CSWST/CSWI/CSWP/  3DVia

DPS-Niederlassung Apolda
...strebe niemals nach den Dingen, die auch dümmeren gelingen.....
   

[Diese Nachricht wurde von Olaf Wolfram am 24. Aug. 2011 editiert.]

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

ceronics
Mitglied



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

Beiträge: 31
Registriert: 12.12.2008

SolidWorks Premium 2011 (SP2.0)

erstellt am: 25. Aug. 2011 10: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

Danke für die Antwort!
An sich lässt sich damit (zumindest manuell) schon mal viel erreichen.
Etwas blöd ist natürlich dass ich dann bei der Meldung einfach zig Maße (D?@SkizzeXY) bekomme wo ich nicht weiss wo sie hingehören (Aufsatz, Schnitt, Bohrung,...).
Der Sinn des Ganzen ist, um es mal deutlicher zu machen, eine Schleife die jedes Maße vergrößert/verkleinert. Das Soll mir nachher ein Modell hinterlassen mit den obersten/unteresten Grenzmaße.
Vielleicht stell ich mir das auch etwas zu einfach vor. Aber an sich dachte ich, es müsste reichen die Maße auszulesen mit der angegebenen positiven/negativen Toleranz zu addieren oder eine vorher definierte Standardtoleranz zu benutzen und das Modell dadurch zu skalieren. Also eine Art einfache Toleranzanalyse. Klar geht das nachher nicht bei beliebig komplexen Teilen, aber für einfache würde es mir schon reichen.

Das Vorgehen wäre grob folgendermaßen:

Code:
Lese Typ des Features
  Wenn "Linear aufgetragener Aufsatz" dann
      Lese alle Maße aus (in ein Array o.ä.)
        Gehe das Array einzeln durch und erhöhe den Wert um die angegebene/Standard-Toleranz
  Wenn "Linear ausgetragener Schnitt" dann
      Lese alle Maße aus (in ein Array o.ä.)
        Gehe das Array einzeln durch und verringere den Wert um die angegebene/Standard-Toleranz
  ...
  ...
Gehe zum nächsten Feature


Vielleicht ist es nun etwas klarer was ich vorhabe 

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 25. Aug. 2011 10:52    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 ceronics 10 Unities + Antwort hilfreich

Benenne die Maße doch um.

Wenn du das Maß selektierst, dann Kannst du es in dem Fenster auf der Linken Seite umbenennen.
Von D1@Sketch1 in Höhe.
Das Sketch+Nummer schreibt SWX dann wieder selber dahinter!

Wenn deine Anforderung ist, per Makro die oberste und unterste Toleranzmaße zu erstellen, dafür gibt es was.
Normalerweise ist aber eher die Anforderung, die auf Null modellierten Parts wegen der Fertigung auf Toleranzmitte zu switchen.

------------------
CSWST/CSWI/CSWP/  3DVia

DPS-Niederlassung Apolda
...strebe niemals nach den Dingen, die auch dümmeren gelingen.....

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

ceronics
Mitglied



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

Beiträge: 31
Registriert: 12.12.2008

SolidWorks Premium 2011 (SP2.0)

erstellt am: 25. Aug. 2011 11:08    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

Hab mich grad auch mal durch die API Hilfe geschlagen und ein Beispiel gefunden. Dort geht es auch um genau das Thema. Dort werden alle Maße auf eine mittlere Toleranz gesetzt.
Kennst du noch ein anderes vorhandenes Makro. Würde mir gern die Zeit dafür sparen und dan Rad nicht nochmal erfinden müssen 

Warum braucht man aber normalerweise die mittlere Toleranz?
Ich muss doch wissen ob zwei Teile zu einander Passen, wenn sie die oberste/unterste Toleranz haben.

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

Olaf Wolfram
Ehrenmitglied V.I.P. h.c.
CAD-Mutti und Konstrukteur CSWP CSWI



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

Beiträge: 2431
Registriert: 30.06.2008

I7-3770 CPU 3,40 Ghz
32 Gb RAM
64 bit
WIN 10
SWX 2019 SP5
NVIDIA Quadro K2000<P>
Lenovo ThinkStation

erstellt am: 25. Aug. 2011 11:23    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 ceronics 10 Unities + Antwort hilfreich

Das was du suchst ist (warscheinlich) für eine Toleranzanalyse notwendig.

Das was ich meine,ist für die Fertigung notwendig!
Der Fertiger versucht , immer in Toleranzmitte zu fertigen.
Dadurch enstehen nicht immer gleich Ausschußteile, nur weil sich die Schneidengeometrie durch Abnutzung und Temperaturunterschiede "verändert"

im CAD wird "eigentlich immer auf "0" konstruiert, die angetragene Toleranz/Passung ist eher eine Beschriftung und erzwingt keine Modelländerung.
Das Makro, was ich meine, macht drei Konfigurationen im Teil
Unteres Abmaß
Oberes Abmaß
Toleranzmitte...

Das Makro ist nicht von mir Programmiert, deswegen kann ich es dir nicht senden.
Du kannst mir aber ne PN schicken mit deinen Kontaktdaten, dann schicke ich dir die Adresse, von der Firma, die entwickelt hat!

------------------
CSWST/CSWI/CSWP/  3DVia

DPS-Niederlassung Apolda
...strebe niemals nach den Dingen, die auch dümmeren gelingen.....

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 25. Aug. 2011 11:29    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 ceronics 10 Unities + Antwort hilfreich

Hallo ceronics,

Zitat:
Original erstellt von ceronics:
Der Sinn des Ganzen ist, um es mal deutlicher zu machen, eine Schleife die jedes Maße vergrößert/verkleinert. Das Soll mir nachher ein Modell hinterlassen mit den obersten/unteresten Grenzmaße.
Vielleicht stell ich mir das auch etwas zu einfach vor.

Ja, ich glaube, das stellst du dir viel zu einfach vor. Über alle Maße einer Skizze zu traversieren und die alle mit einem festen Wert zu multiplizieren ist sicher nicht so schwierig. Aber einen Algorithmus zu entwickeln, der abhängig von der Geometrie und den Maßen entscheidet, wann es ein Innen- oder Außenmaß ist, ob es in der Kett überhaupt skaliert werden muss usw. ist die Kunst. Deswegen ist Toleranzanalyse auch nicht so ganz trivial - bei einem Würfel mag das noch gehen, bei einer Nut wird das schon schwieriger, je nachdem, wie du deine Parameter setzt und die Konstruktionsabsicht ist.

Als Basis kannst du doch das Beispiel aus der API Hilfe (Set Dimensions to Mid-Tolerance Example (VBA)
) nehmen, das klappert im Modell ja alle Parameter ab und macht was damit; du musst praktisch "nur" in der Routine ProcessDimension deine Logik unterbringen 

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

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

ceronics
Mitglied



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

Beiträge: 31
Registriert: 12.12.2008

SolidWorks Premium 2011 (SP2.0)

erstellt am: 29. Aug. 2011 13:47    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

Ja da hast du natürlich Recht mit dem Algorithmus. Villeicht sollte ich das Makro einfach mehr durch den Benutzer steuern lassen. Dass man einfach ein Feature anklickt und im Makro dann vorgibt ob + oder -. Hauptsache man muss das nicht alles selbst eintippen. gerade die Standardtoleranzen.
Das Beispiel aus der API Hilfe ist auch dafür gut geeignet.
Danke!

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

nahe
Ehrenmitglied



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: 1764
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 30. Aug. 2011 07: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 ceronics 10 Unities + Antwort hilfreich


toleranz.zip

 
Hallo

dafür hätte ich auch gern eine Lösung
siehe auch hier

leider ist das Ganze wie Stefan schon geschrieben hat nicht so einfach.
Wenn Du Dir die 2 Bilder ansiehst die ich bei dem Link oben angehängt
habe dann wird es glaub ich verständlich.
Die maximale Außenkontur ergibt sich eben leider nicht einfach
dadurch, dass alle Maße auf das Größtmaß gesetzt werden.
Und auch wenn man ein Makro hat, bei dem man die Maße einzeln wählen kann,
bei etwas aufwendigeren Konturen ist es nicht mal so einfach
gleich zu erkennen welches Maß die max. Kontur ergibt.

Das Makro aus der Online Hilfe hab ich so abgeändert und hier angehängt, dass
es möglich ist zu entscheiden ob die Maße auf Toleranzmitte, Größtmaß oder Kleinstmaße gesetzt werden.
Aber Achtung, das ergibt eben nicht die max bzw. min Geometrie.

PS
ich weiß nicht ob das jetzt auch noch so ist, aber das Makro aus der
Online Hilfe hat Maße mit Passungen falsch berechnet.

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

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

ceronics
Mitglied



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

Beiträge: 31
Registriert: 12.12.2008

SolidWorks Premium 2011 (SP2.0)

erstellt am: 30. Aug. 2011 10:08    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

Danke für den Link nahe!
Hab das mal durchgelesen und denke ich werde mich in eine ganz andere Richtung bewegen - fast so wie geplant 
Ich werde mich nun darauf beschränken einzelne Maße zu verändern um an dieser Stelle die Toleranzen zu überprüfen.
Das Ganze will ich folgendermaßen machen:
Es soll ein Minifenster geben sobald man das Makro startet, in der man eine neue Konfiguration für die Änderung anlegen oder auswählen kann (evtl. lass ich auch das erst mal weg, manuell geht das ja auch schnell). Zusätzlich gibt es einfach 4 Buttons: Plus, Minus, Mitte, ürspr. Wert.
Klickt man auf einen der Buttons, kann man nun einfach Maße auswählen, die mit der Standardtoleranz oder angegebenen bemaßt werden. Wenn man das alles bestätigt hat, hat man das Modell an dieser Stelle in dem gewünschten Toleranzbereich.
Das ist zwar nocht nicht super automatisch, aber besser als wenn ich jedes einzelne Maß anklicken, schauen in welcher Standarttoleranz es sich befindet und die dann eintragen muss.
Mal sehen ob wenigstens das geht. Mit VBA kenn ich mich hauptsächlich in Office aus...

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