Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Problem bei BReps für Fasenerstellung

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:  Problem bei BReps für Fasenerstellung (1820 mal gelesen)
gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 27. Aug. 2007 10: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

Hallo Forum,

hab mal ne kleine Frage wegen den BReps. Arbeite zur Zeit zum ersten Mal so richtig damit und mir gelingt es nicht die richtige Fläche für die Fase anzusprechen.

Das ist mein Quelltext bisher (durch Makrorecorder aufgenommen):

Dim Block As AnyObject
Set Block = Bauteil.Shapes.Item("Mittelstueck")

Set Referenz(1) = Part.CreateReferenceFromBRepName("RSur: (Face: (Brp: (Pad.1;0: (Brp: (Sketch.1;1)));None: ();Cf11: ());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", Block)

Natürlich kommen noch ein paar Zeilen davor...

Habe nun versucht "Pad.1" und "Sketch.1" mit den entsprechenden Objekten zu ersetzen damit die Sache dann in verschiedenen Bauteilumgebungen läuft. Liegt hier mein Fehler? Worauf bezieht sich denn "Pad.1"? Direkt auf das Objekt, welches ich mit "Block" definiert habe oder immer auf den ersten Block in der gesamten Bauteilumgebung?

Im Ziethen wird das nicht richtig geklärt und im Forum kann ich auch nichts dazu finden...Über Hilfestellung würde ich mich freuen.

Danke im Voraus

Gehirnsuelze

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

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 27. Aug. 2007 23: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 gehirnsuelze 10 Unities + Antwort hilfreich

Hallo gehirnsuelze,

"Pad.1" ist eigentlich Dein "Mittelstueck", Du kannst also anstelle von 'Pad.1' auch 'Mittelstueck' schreiben. Ansonsten sagt Dein "BRep" aus, das Du die Fläche vom Block "Mittelstueck" gewählt hast, die sich durch Extrusion des 1.Elementes (Sketch.1;1) Deiner Skizze "Sketch.1" ergibt.
Du kannst das Ganze auch so vereinfachen:

Code:
Set Referenz(1) = Part.CreateReferenceFromBRepName("RSur:(Face:(Brp: (Mittelstueck;0:(Brp:(Sketch.1;1)));None:();Cf11:()))",Block)

Ich hoffe, das bringt Dich weiter.


mfg,
Lusilnie

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

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 30. Aug. 2007 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Bauteil.JPG

 
Danke erstmal an Lusilnie,

komme trotzdem nicht damit klar.
Ich hab mal noch ein Bild angehangen. Liegt des vielleicht an der Skizze des Grundkörpers, da diese Löcher hat? Hab jetzt schon ne ganze Menge verschieden Varianten probiert, aber leider ohne Erfolg. Beim Anklicken der erzeugten Fase scheint er auch eine Kante bzw. Fläche ausgewählt zu haben aber ich kann nicht erkennen welche (Part kann nicht aktualisiert werden).

Vielleicht kann mir jemand anhand der Grafik mal was zusammenbasteln und dann anschließend erklären!?!

Besten Dank im Voraus...

Gehirnsuelze

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

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 30. Aug. 2007 13: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

P.S. die gelbe Fläche soll ausgewählt werden (bzw. deren Kante)

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

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 30. Aug. 2007 23: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 gehirnsuelze 10 Unities + Antwort hilfreich

Hallo gehirnsuelze,

die gelbe Fläche kann ich auch interaktiv nicht "befasen"! Also muß man hier die Kanten wählen. Je nachdem, wie Du die Teile aufgebaut hast, mußt Du bei der Zahl beim "Grundkörper" bzw. "Mittelstueck" 0, 1 oder 2 schreiben. "0" bedeutet Mantelfläche und wird durch (Brp(Sketch.X,Y)) erweitert, je nachdem welches Sketch-Element an der Bildung der Fläche beteiligt war. "1" ist die Grundfläche (Limit2) und "2" die Deckfläche (Limit1).
Bei Dir sollte es folgende 2 Kombinationen geben:

Code:
Set Referenz(1) = Part.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(Mittelstueck;0:(Brp:(Sketch.2;1)));None:();Cf11:());Face:(Brp:(Mittelstueck;2);None:();Cf11:());None:(Limits1:();Limits2()  );Cf11:()))",Block)

Set Referenz(2) = Part.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(Mittelstueck;0:(Brp:(Sketch.2;1)));None:();Cf11:());Face:(Brp:(Grundkoerper;1);None:();Cf11:());None:(Limits1:();Limits2()  );Cf11:()))",Block)


Die erste stellt die Kante zwischen Kreisfläche und Zylindermantelfläche vom "Mittelstueck" dar, die zweite die Kante zwischen "Mittelstueck" und "Grundkoerper". Hier könnten die ";1" bzw. ";2" nach "Mittelstueck" bzw. "Grundkoerper" auch ";2" bzw. ";1" sein, je nach dem, wie der "Pad" ("Block") aufgebaut wurde.

Falls Du noch mehr Hilfe brauchst, mach doch nochmal ein Bild und blättere die Sketche im Baum mit auf und mach sie im 3D sichtbar. Dann muß man bei den Nummern nicht mehr raten. 


mfg,
Lusilnie


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

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

[Diese Nachricht wurde von Lusilnie am 30. Aug. 2007 editiert.]

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 31. Aug. 2007 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


Bauteil.JPG

 
Hallo Lusilnie,

nochmals vielen Dank für den Hilfe, leider bekomm ich es immer noch nicht hin. Es scheint bei mir ein kleines Verständnissproblem zu geben. Hab mal im Folgenden aufgezeigt, was ich so gemacht habe und noch mal eine bessere Grafik angehangen...vieleicht kannst du mir nochmal helfen.
Ich hab mich erstmal auf die Kante des Mittelstuecks beschränkt, da das Problem wohl bei beiden Kanten das selbe ist.


Definition der benötigten Sachen ist wie folgt durchgeführt:

Code:
Dim SkizzeMittelstueck As Sketch
Dim Mittelstueck As Pad
Dim Block As AnyObject

die Sachen wurden nun per Makro erstellt und das im Bild gezeigte Resultat ist rausgekommen

nun hab ich im Sub Anfasen()

Code:
Set Block = Adapter.Shapes.Item("Mittelstueck")

wenn ich nun die Kante haben möchte, dann komme ich durch die zwei Flächen an sie ran

Fläche 1 ist die Deckfläche:

Code:
Face:(Brp:(Mittelstueck;2);None:())

Fläche 2 ist die Mantelfläche:

Code:
Face:(Brp:(Mittelstueck;0:(Brp:(SkizzeMittelstueck;1)));None:())

Die Sache hab ich dann noch mit der Kantendefinition und der entsprechenden Endung versehen:

Code:
Set Referenz(1) = Part.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(Mittelstueck;0:(Brp:(SkizzeMittelstueck;1)));None:();Cf11:());Face:(Brp:(Mittelstueck;2);None:();Cf11:());None:(Limits1:() ;Limits2());Cf11:()))",Block)

Wenn ich das Makro jetzt ausführe, dann meckert CATIA bei dieser Zeile: "Object doesnt support this property or methode"

Bin mit meinem Latein am Ende

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

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 03. Sep. 2007 23: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 gehirnsuelze 10 Unities + Antwort hilfreich

Hallo gehirnsuelze,

ich geb zu, es ist nicht ganz trivial. Das ganze Beispiel hat erstens einen Schreibfehler, es muss "...Limits2:())..." lauten, und zweitens ist der Zugriff auf die Skizze nicht mit "...(SkizzeMittelstueck;1)..." getan. Hier ist nämlich der wirkliche Name der Skizze gefragt. D.h., man kann hier nicht mit dem geänderte Namen arbeiten.
Doch hier hilft uns folgender Beitrag: http://ww3.cad.de/foren/ubb/Forum137/HTML/002077.shtml
Daraus ergibt sich dann folgender Code (speziell für Deinen Fall!):

Code:
Set Reference(1) = Part.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(Mittelstueck;0:(Brp:(" & Sketch.GetItem("ModelElement").InternalName & ";1)));None:();Cf11:());Face:(Brp:(Mittelstueck;2);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:()))", Block)


Dann sollte Deine Fase erstellt werden! ODER?


mfg,
Lusilnie


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

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

[Diese Nachricht wurde von Lusilnie am 03. Sep. 2007 editiert.]

[Diese Nachricht wurde von Lusilnie am 03. Sep. 2007 editiert.]

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Sep. 2007 13: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

SUPER,

genau das was ich gesucht habe.

Würde dir gern tausende von Us geben...


THX gehirnsuelze

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

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

gehirnsuelze
Mitglied
Student


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

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 06. Sep. 2007 15:35    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 nochmal,

muss das Problem doch nochmal aufgreifen. Ich habe jetzt die BRep-Methode eingesetzt, um ein Skizze auf einer bestimmte Fläche zu erzeugen. Das klappt auch ganz gut...

...aber wenn ich die erzeugte Geometrie ein zweites mal erzeugen möchte, bricht CATIA mit "Click OK to terminate" ab, obwohl die ganze Sache doch dynamisch gestaltet ist.

Woran kann das liegen? Bin ratlos.

MfG

Gehirnsuelze

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

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