Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Innen oder Aussen Gewinde ?

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:  Innen oder Aussen Gewinde ? (1575 mal gelesen)
Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 29. Jul. 2014 00: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


RemoveHoleThreadsInProduct.txt

 
Hallo Programmier Experten.

Ich verzeifle zurzeit an eine Programm... 

Meine Kollegen beschwehren sich oft, dass das interference-checking von Catia, in grossen Baugruppen nicht wirklich benutzbar sei. Das liegt daran, das zuviele Clashs angeben sind, die gar keine richtigen sind. Das liegt meistens daran, dass Catia die Gewinde nicht richtig verwaltet. Schrauben und Muttern sind beispielsweise systematish Clashs.
Ich habe mir also gedacht,das Ich mit einer Makro ein geladenes Catprodukt durchlaufe, all die Gewinde (weiblich) suche, und sie auf Nominal Durchmesser "aufbohre". Mit den "Hole" Elementen funktionniert es prima, nur mit den "Threads" komm' Ich ncht weiter.

Dass Problem ist das es nichts (?) gibt, dass ein maennliches von einem weiblichen gewinde unterscheidet. (Gewindestange sollen so bleiben wie sie sind!)

Ich dachte also an vergleichen des Thread Parameter "Diameter" mit dem Radiuswert der Flaesche (LateralFaceElement) auf dem das Thread liegt: Sind sie gleich, handelt es sie und eine Stange,ist der "Diameter" groesser, handelt es sich um ein Loch.

Mein Programm stuerzt ab, wenn es beim Radius lesen ist:

        Set ObjThreadedCyl = objThread.LateralFaceElement
        objSel.Add(ObjThreadedCyl)
        Set objFace = objSel.Item(objSel.Count).Reference
        Set spabench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
        Set objMeasure = spabench.GetMeasurable(myFace)
        myRadius = objMeasure.Radius * 2    <= Source CATIAMeasurable : The method Radius failed.

Waere fuer jede Hilfe dankbar.

PS: Mein Programm hat schon funktionniert, habe aber dummerweise weiter daran "gebastelt" und wahrscheinlich etwas vertellt. (Program im Anhang)

Salut,  Frànz

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Jul. 2014 08: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 Elsass-Franz 10 Unities + Antwort hilfreich

Servus
Kannst du nicht "ObjThreadedCyl" direkt an die Messung übergeben? Gemäß Doku liefert dir "LateralFaceElement" gleich eine Reference zurück und nicht dir Fläche selbst.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 29. Jul. 2014 09: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

Moin Bernd.
Das war eine schnelle Reaktion; Danke.

Ich hatte (und habe erneut) das auch probiert, und bekomme aber leider die selbe Fehlermeldung.
Ich habe auch "Radius" mit "Area" getestet (ist ja 'ne Flaesche) ersetzt. Geht auch nicht.

Wenn Ich objThreadedCyl.DisplayName anzeige lasse, krieg Ich "RSur Face Pad.2;0 Brp Sketch.1;1)));None );Cf11 ));WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)
Sagt mir ueberhaupt nichts, aber entnehme al dass es sich um ein "Face" handelt.


Tschuess

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Jul. 2014 10: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 Nur für Elsass-Franz 10 Unities + Antwort hilfreich

Servus
In meinem Kurztest hat es funktioniert aus dem BRep-Reference der Methode "LateralFaceElement" direkt den Radius zu bestimmen.
Geht es manuell den Radius der Fläche zu messen (Flächenqualität)?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 30. Jul. 2014 09: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

Hallo.

Ja, manuell funktionniert es. Am CATPart scheint es nicht zu liegen.
Ich habe noch ein cleaning, mit CATDUA gemacht. Alles OK.
An der komplexitaet eines Modells kann es auch nicht liegen : Ein Sketch mit eine Quadrat und ein Kreiss. Extrudiert. Dann ein zweites Sketch auf einer der Flaesche, und ein Zylinder daraus. Letzlich ein Thread auf beiden zylinder.

Hast Du ein neues Programm geschrieben, oder meins probiert ?

Salut,    Frànz

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Aug. 2014 11:09    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 Elsass-Franz 10 Unities + Antwort hilfreich

Servus Franz
Ich hab es mit folgendem Code probiert:
Code:
Sub GetGewinde()

Dim osel As Object
Dim sel As Selection
Dim SPAWorbench As SPAWorkbench
Dim objMeasure As Measurable
Dim ObjThreadedCyl As Object
Dim myradius As Double
Dim objThread As Thread

Set osel = CATIA.ActiveDocument.Selection
Set sel = osel

Set objThread = sel.Item2(1).Value
Set ObjThreadedCyl = objThread.LateralFaceElement
Set SPAWorbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set objMeasure = SPAWorbench.GetMeasurable(ObjThreadedCyl)
MsgBox objMeasure.Radius

End Sub


Bei R20 geht es, bei bei R19 nicht.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 07. Aug. 2014 09: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

Hallo Bernd.
Vielen dank fuer die Antwort.
Da Ich noch auf R19 bin, ist es "Normal" dass es nicht funzt. Allerdings, kann Ich bestaedigen, dass es manchmal doch laeuft. Ich habe in den letzten Tagen, so manches probiert (In Catia, und im Programm) und das Problem war verschwunden. Leider, nach eimen Catia-neustart, ging es wieder nicht mehr. Es scheinen sich Settings zu aendern, die machen dass es geht. Leider habe Ich nicht gefunden welch' Befehl helfen koennte.
Ich kann also nur warten, bis unsere Firm sich entschliesst R20 zu installieren!

Andere Frage : Ich will ja nur wissen ob ein Thread aussen oder innen ist. Die Ikone, im Spezifikationsbaum in Catia ist in beiden Faellen verschieden.
Gibt's da ein Makrobefehl der den Namen der Ikone auslesen kann ?

Danke fuer die Hilfe.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Aug. 2014 16:20    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 Elsass-Franz 10 Unities + Antwort hilfreich

Servus
Du könntest mal folgendes probieren:
- mit "SetExplicitPolarity" auf Innengewinde umschalten
- Gewinde updaten
- falls das Update scheitert war es ein Außengewinde
- falls erforderlich wieder auf Außengewinde umschalten.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Elsass-Franz
Mitglied
CAD Administrator


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

Beiträge: 26
Registriert: 16.03.2006

V5R19

erstellt am: 09. Aug. 2014 17: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

Hallo Bernd.
Tolle Idee !!!
Ich habe es ausprobiert und alles funktionniert wie gewuenscht.     

In diesem Forum hat einer folgendes Zitat "Warum einfach, wenn es auch kompliziert geht."    Trifft's genau in diesem Fall. Mein Programm ist ein ganzes Stueck kuerzer.

Ich moechte mich mit "Units" bedanken, leider Weiss Ich nicht wie das geht. 

Vielen Dank.
Tschuess.

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)2023 CAD.de | Impressum | Datenschutz