Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Darstellung von Regelgewinden

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 Autodesk Produkte
  
Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !
Autor Thema:  Darstellung von Regelgewinden (2503 mal gelesen)
Pisarz
Mitglied



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

Beiträge: 280
Registriert: 05.03.2002

AIP2011 Win7x64
HP Z400/W3565(3.2GHz) 12GB RAM
100GB SSD / 1TB Raid1
MSI R5770 Hawk
SpacePilot

erstellt am: 19. Nov. 2002 18: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


Gewinde.bas.txt

 
Hallo Gemeinde!
Hier mal wieder was aus meiner kleinen Werkzeugkiste.

Es geht um die Darstellung von Gewinden im Modellbereich und deren Bezeichnungsdarstellung in der Ableitung.

Bekanntlich kann IV im Modellbereich die Gewinde nur rendern, wenn die Bezeichnung in der entsprechenden Exeltabelle die Steigung enthält, und zwar mit Punkt als Dezimalzeichen. Beispiel: "M10x1.5" oder "M10x0.75".

Dieser Wert wird angezeigt, wenn in der Zeichnung eine Bohrungs-/Gewindeinfo erstellt wird. Während das bei Feingewinden gerade noch so zu verschmerzen ist, stimmt es für Regelgewinde nicht mehr, hier ist die Steigung nicht mit anzugeben (DIN 202 schreibt das explizit vor). "M10x1.5" muss also in der Zeichung als "M10" bezeichnet werden. Leider gibt es bisher keine Möglichkeit, das "M10" oder den Nenndurchmesser "10" in der Gewindeinfo als Parameter abzurufen.

Ein Workaround, den manche von Euch sicher gehen, ist es, die Bezeichnungen in der Excel-Tabelle anzupassen. Leider gibt es dann aber keine Darstellung in der Modellansicht mehr.

Ungenügsam wie ich nunmal bin, will ich aber beides: Rendering im Modell, korrekte Bezeichnung in der Ableitung. Hier hilft jetzt das beigefügte Makro.

Das Programm durchforstet das gesamte Modell (egal, ob assembly oder part) nach Gewindeeinträgen und tauscht die Bezeichnungen mit Steigung bei den Regelgewinden gegen Bezeichnungen ohne Steigung aus. D.h. aus "M10x1.5" wird "M10", aus "M8x1" wird "M8" usw. Wenn man das nun macht, verschwinden im Modell alle Regelgewindedarstellungen, in der Ableitung stehen aber die korrekten Bezeichnungen.
Für diejenigen, die jetzt aber das Modell nochmal ordentlich sehen wollen, gibt es die passende Umkehrroutine: aus "M10" wird dann wieder "M10x1.5".

Wenn ihr die beigefügte Datei in Gewinde.bas umbenennt, könnt ihr das Programm wie in http://www.cad.de/foren/ubb/Forum50/HTML/000603.shtml beschrieben installieren.
Anschließend stehen euch die beiden Makros "Gewinde.SteigungVerbergen" und "Gewinde.SteigungZeigen" zur Verfügung, die Ihr aufrufen könnt, wenn ihr Euch in dem Modell befindet (.iam/.ipt), nicht in der Zeichnung (.idw).

Laufen tut's für alle Regelgewinde nach DIN 13 Teil 1.

Bleibt dann nur noch die lästige Gewindeklasse (z.B. 6H), die gem. DIN ebenfalls nur anzugeben ist, wenn es nicht die Standard-Klasse ist. Bei Bohrungen lässt sich dass gut abschalten: Dazu geht man dann in der Zeichnungsvorlage in den Dialog "Format - Bemaßungsstile...", ruft die Seite "Bohrungen" auf und ändert die Darstellung bei den Gewindentypen so ab, dass überall der Ausdruck "- <THRC>" verschwindet.

Viel Spaß damit. 

------------------
Grüße Jörgen

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

Charly Setter
Moderator





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

Beiträge: 11977
Registriert: 28.05.2002

Der vernünftige Mensch paßt sich der Welt an;
der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab.
(George Bernard Shaw)

erstellt am: 19. Nov. 2002 20: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 Pisarz 10 Unities + Antwort hilfreich

Super....

Habe hier schon Fertiger gehabt, die gefragt haben, warum alles Feingewinde sind und ums verrecken keinen Feingewindebohrer M6x1
beschaffen wollten ;-).

Gruß Mathias

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012 64Bi

erstellt am: 19. Nov. 2002 21: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 Pisarz 10 Unities + Antwort hilfreich

Hallo,

Du wirst es nicht glauben, welches "issue" ich heute bei ADN eröffnet habe. Und natürlich noch keine Antwort bekommen. Ich glaube langsam, dass Du Gedanken lesen kannst 

Aber, wtf ist If InStr(sGMS, "|" + sPitch + "|") > 0 Then ?!?

Sag nur nicht, dass + = & ?!? Muhahaha... Komische Sprachen gibt es 

Naja, Gott segne Dich

daywa1k3r

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

steffl
Mitglied
Maschinenbautechniker


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

Beiträge: 294
Registriert: 13.03.2002

erstellt am: 20. Nov. 2002 07:51    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 Pisarz 10 Unities + Antwort hilfreich

Morgen,

gut dass sich mal jemand darüber gedanken gemacht hat. Den das hat mich die ganze zeit schon genervt!
Hoffe nur daß das mal ein ansporn für autodesk ist es besser zu machen!

Gruß

Stefan

------------------

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

WoisetJo
Mitglied
Konstrukteur


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

Beiträge: 323
Registriert: 11.06.2002

SW2009 - Fremdgeher, der es sich nicht verkneifen kann im Inventorforum zu spionieren

erstellt am: 20. Nov. 2002 08: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 Pisarz 10 Unities + Antwort hilfreich

Ob es besser wird, kann niemand vorhersehen, es wird anders gelöst werden, wieder neue Probleme geben, neue Lösungen werden von den Usern vorgeschlagen.....
Eigentlich wollten wir ja NUR eine richtige Gewindebezeichnung, oder ?

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

Lucky Cad
Mitglied
...Malen nach Zahlen...


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

Beiträge: 699
Registriert: 11.11.2002

Intel Core i9-11900KK
32GB Ram
NVIDIA RTX A4000
Spacemouse XT plus
Inv Professional 2023.4.1
Vault Professional 2023.4.1
Win11

erstellt am: 20. Nov. 2002 08:16    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 Pisarz 10 Unities + Antwort hilfreich


Gewinde.jpg

 
Hallo,
ich habe eben mal direkt die Makros getestet, erhalte jedoch nur diese Fehlermeldung. Was habe ich falsch gemacht?

Ansonsten finde ich die Sache super, ich frage mich nur, wie ich demnächst den Werkzeugbau weiter irritieren kann

Gruß
Stefan

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

Pisarz
Mitglied



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

Beiträge: 280
Registriert: 05.03.2002

AIP2011 Win7x64
HP Z400/W3565(3.2GHz) 12GB RAM
100GB SSD / 1TB Raid1
MSI R5770 Hawk
SpacePilot

erstellt am: 20. Nov. 2002 10: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

@Lucky Cad:
'Tschuldigung, hab vergessen zu sagen, das es erst ab IV6 funktioniert.

@daywalker:
Das + ist schon seit Unzeiten ein gültiger Zeichenkettenzusammenkleber in Basic. Das & ist glaube ich erst dazugekommen, als Excel modern wurde....


Noch ein kleiner Nachtrag zum Thema Gewindebezeichnung: Wer Linksgewinde verwendet, muss die Gewindeklasse anzeigen, da der Hinweis "LH" Bestandteil der Klasse ist. Ist ja auch völlig logisch, denn ob Links- oder Rechtsgewinde ist ja nun mal eine Toleranzfrage...

------------------
Grüße Jörgen

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012 64Bi

erstellt am: 22. Nov. 2002 08:19    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 Pisarz 10 Unities + Antwort hilfreich

Hallo Pisarz,

endlich mal Zeit gefunden Dein Quelltext näher anzuschauen. Einfach super. Ich konnte dabei sehr viel lernen. Weiter so, wir wollen mehr davon. Das einzige, dass ich anders machen würde, sind die

Dim sGMS As String
Dim sGOS As String

Wären da nicht zwei Array's besser ? Auch bei der Suche

If bZuRegel Then
  'Verbergen: Suche in GMS, ersetzte durch GOS
  If InStr(sGMS, "|" + sPitch + "|") > 0 Then
    Regelgewinde = Mid(sGOS, InStr(sGMS, "|" + sPitch + "|") + 1, 10)
    Regelgewinde = Left(Regelgewinde, InStr(Regelgewinde, "|") - 1)
  End If
Else
  'Wiederherstellen
  If InStr(sGOS, "|" + sPitch + "|") > 0 Then
    Regelgewinde = Mid(sGMS, InStr(sGOS, "|" + sPitch + "|") + 1, 10)
    Regelgewinde = Left(Regelgewinde, InStr(Regelgewinde, "|") - 1)
  End If
End If

denke ich, dass man da über den Index schneller weiter kommen könnte. Ausserdem dachte ich, dass es bei 256 Zeichen schluß mit lustig ist bei einem String, aber so kann man sich ( als Excel Generation  ) täuschen.

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

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

Pisarz
Mitglied



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

Beiträge: 280
Registriert: 05.03.2002

AIP2011 Win7x64
HP Z400/W3565(3.2GHz) 12GB RAM
100GB SSD / 1TB Raid1
MSI R5770 Hawk
SpacePilot

erstellt am: 22. Nov. 2002 13:51    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

Hi Daywalker,

Ich hatte nicht so sehr darüber nachgedacht, es schien mir vom Gefühl her die einfachste und schnellste Variante zu sein, außerdem die geringste Tipparbeit.

Ich habe jetzt mal eine Array-Variante programmiert, weil es mich interessiert, wie schnell die ist.

Hier der (gekürzte) Code:

Code:

Private Function Regelgewinde2(bZuRegel As Boolean, sPitch As String) As String
Dim sGMS(39) As String
Dim sGOS(39) As String
Dim I As Integer


sGMS(0) = "M1x0.25"
sGMS(1) = "M1.1x0.25"
....
sGMS(38) = "M64x6"
sGMS(39) = "M68x6"

sGOS(0) = "M1"
sGOS(1) = "M1,1"
....
sGOS(38) = "M64"
sGOS(39) = "M68"

Regelgewinde2 = sPitch
If bZuRegel Then
  For I = 0 To 39
    If sPitch = sGMS(I) Then
      Regelgewinde2 = sGOS(I)
      Exit For
    End If
  Next
Else
.......
End If
End Function


Der Testlauf dürfte dich überraschen:
bei M1 (ein For-Next Durchlauf):  InStr = 3µs, Array = 29µs
bei M68 (40 For-Next Durchläufe):  InStr = 7µs, Array = 36µs 

Das Problem ist der Aufbau des Arrays. Das Füllen der Werte dauert alleine schon länger als der gesamte Durchlauf der InStr-Routine.

Es macht meist Sinn, beim VBA-Programmieren auf interne Funktionen zu setzen, da diese effektiver programmiert sind als man es selbst nachbauen könnte.

Man müsste jetzt also das Feld außerhalb aufbauen und als Globale Variable im Speicher halten, dann sieht es etwas anders aus. Aber bei den Zeiten, die diese Routine verbraucht, ist das verlorene Liebesmühe...

So, genug gespielt, wieder an die Arbeit.... 

BTWBy the way = Nebenbei bemerkt: Strings in VB dürfen 64K groß sein.

------------------
Grüße Jörgen

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012 64Bi

erstellt am: 22. Nov. 2002 15: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 Pisarz 10 Unities + Antwort hilfreich

Ja, ich bin schon ein wenig überascht. Aber jetzt fehlt mir wieder ein Beispiel, wo ein 100MB grosser String durchsucht wird. Und das dauerte auch nur Bruchteile von Sekunden. Der Witz ist, dass binär gesucht wird. Wenn ich mich nicht täusche, kann man in "instr" sogar optional auf binär umstellen (bin mir aber nicht sicher, da ich schon zuhause bin). Bzw. binär ist die Standard Einstellung.

Zu den Arrays, selbst wenn die in dem Speicher wären, würde die Suche doppelt so lang dauern. Hätte ich nicht gedacht.

Die Strings dürfen 64K gross sein ?!? Naja, ich war ja nah dran

Danke für die interessanten Infos, und Sorry, dass ich dir unnötig Arbeit gemacht habe. Ich hätte es auch ausprobieren können, aber zur Zeit ist das fürchtbar mit der Zeit.

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

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