Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  GSMBiDim.1;1 ???

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:  GSMBiDim.1;1 ??? (2275 mal gelesen)
danielsc
Mitglied



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

Beiträge: 45
Registriert: 18.06.2009

erstellt am: 03. Jul. 2009 11: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

Also ich habe ein Makro geschrieben welches um ein Part einen "Quader" mit den Extremmaßen legt. Aus diesem erzeuge ich dann durch close surface einen geschlossenen Körper. Jetzt soll aber noch auf alle 6 (wenn ichs hinbekomm auf 5) Seiten ein Aufmaß mit Thikness gelegt werden. hat bei meinem testkörper auch super funktionier aber jetzt habe ich es einmal bei anderen Parts ausprobiert und bei manchen geht es bei manchen wiederum nicht. Habe auch schon den Fehler gefunden aber weiß trotzdem nicht so richtig weiter. hier erst einmal die Codestelle in der, der Fehler steckt:

Bei meinem Testkörper:

Code:
Dim seite1 As Reference
Set seite1 = part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(CloseSurface.1;(Brp:(GSMBiDim.1;1)));None:();Cf11:());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFB RepVersion_CXR15)", closeSurface1)

und so bei einem anderen Körper:

Code:
Dim seite1 As Reference
Set seite1 = part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(CloseSurface.1;(Brp:(GSMBiDim.2;1)));None:();Cf11:());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFB RepVersion_CXR15)", closeSurface1)

Nur leider finde ich nirgends eine Beschreibung was sich hiner dem: (GSMBiDim.2;1) wirklich verbirgt. Darauf zu kommen das sich die letzte Zahl auf eine Seite des Körpers bezieht war ja nicht schwer aber warum ändert sich die Zahl davor obwohl ich vorher immer genau mit den selben Makros diesen Körper erstell?

MfG danny

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 03. Jul. 2009 19: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 danielsc 10 Unities + Antwort hilfreich

Hallo danny,

willkommen im Welt der B-Reps  .
Ein Paar Zeilen über diese kannst du sowohl im Ziethen Buch, als auch bei Jens Hansen sein Buch finden.
Zu deine Frage aber: "GSMBiDim.2" ist die sog. Internal Name einer Flächenobjekt, die CATIA intern verwendet. Im ganzen B-Rep String ist beschrieben, wie diese Flächenstück in CATIA erstellt ist.
Da B-Reps nicht allzu gut dokumentiert sind, versuche ich die nach Möglichkeit zu vermeiden.
Dir würde ich in diesen Fall vorschlagen, die 6 Seiten des Quaders mit der CATIA Suchfunktion zu ermitteln. Das würde etwa so gehen:

Code:
dim oSel as selection
set oSel = catia.activedocument.selection
osel.clear
osel.Add oDeinCloseSurfaceObject
osel.Search "Topology.CGMFace,sel"
dim seite as reference
if osel.count2>0 then
  dim i as integer
  for i=1 to osel.count2
    'hier wird dein B-Rep string ausgegeben. Ggf. kannst du aus diesen Entscheiden, welchen du nicht den Aufmaß verpassen möchtest
    msgbox(osel.item(i).reference.name)
    set seite = osel.item(i).reference
    'Hier kannst du dein Thickness aufsetzen
  next
end if
Ich hoffe, dass das dir weiterbringt.

Gruß,
Zoltan

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

danielsc
Mitglied



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

Beiträge: 45
Registriert: 18.06.2009

erstellt am: 06. Jul. 2009 13: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

Danke klappt perfekt    Ich möchte mich hiermit auch mal bei allen anderen bedanken die ich in den letzten wochen mit meinen Fragen genervt hab 

Echt ein super Forum hier in dem einem wirklich immer geholfen wird.

Also in diesem Sinne danke an alle und macht so super weiter 

MfG Danny

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