Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Selektion einer Fläche und anschließendes Extract

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:  Selektion einer Fläche und anschließendes Extract (2143 mal gelesen)
zizorro
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 468
Registriert: 21.02.2002

erstellt am: 07. Okt. 2004 16:05    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!

Mal wieder eine sicher sehr einfach zu lösende Frage:

Ich möchte in einem vorhandenen Modell eine Fläche selektieren und diese dann ableiten.

Die Auswahl krieg ich hin mit:

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

Dim Was(0)
Was(0) = "Shape"

Dim UserSel As Selection
Set UserSel = CATIA.ActiveDocument.selection
UserSel.Clear

Dim Auswahl As CATBStr
Auswahl = UserSel.SelectElement(Was, "Innenfläche wählen!", False)

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

Dann kommt die Extraktion bei mir mit:

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

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = MyPart.HybridShapeFactory

Dim Ref As Object
Set Ref = UserSel.Item(1).Value

UserSel.Clear
UserSel.Add Ref 
 
Dim hybridShapeExtract1 As HybridShapeExtract
Set hybridShapeExtract1 = hybridShapeFactory1.AddNewExtract(Ref)

hybridShapeExtract1.PropagationType = 2

hybridShapeExtract1.ComplementaryExtract = False

hybridShapeExtract1.IsFederated = False

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

Und da bekomm ich immer eine Fehlermeldung und weiss nicht warum.

Beim Aufzeichnen mit dem Makroeditor erzeugt er immer eine Referenz. Die kann ich aber doch vor der Selektion nicht wissen. Wie kann ich also die Auswahl mit der Extraktion verknüpfen?

Vielleicht kann mir jemand helfen.

Gruß, zizo

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

zizorro
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 468
Registriert: 21.02.2002

erstellt am: 07. Okt. 2004 17:18    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,

bin inzwischen etwas weiter:

Sub CATMain()

'-------------------------------- Selektion der Innenfläche

Dim Box

Box = MsgBox ("Bitte selektieren Sie die zu extrahierende Fläche", 64, "Selektion der Fläche")

Dim Was(0)
Was(0) = "Shape"

Dim UserSel As Selection
Set UserSel = MyPartDocument.selection
UserSel.Clear

Dim Auswahl As CATBStr
Auswahl = UserSel.SelectElement(Was, "Fläche wählen!", True)

'-------------------------------- Extrahieren der selektierten Fläche

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = MyPart.HybridShapeFactory

Dim Flaeche As HybridShape
Set Flaeche = UserSel.Item(1).Value

Dim neueRef As Reference
Set neueRef = MyPart.CreateReferenceFromObject(Flaeche)

Dim hybridShapeExtract1 As HybridShapeExtract
Set hybridShapeExtract1 = hybridShapeFactory1.AddNewExtract(neueRef)

hybridShapeExtract1.PropagationType = 2

hybridShapeExtract1.ComplementaryExtract = False

hybridShapeExtract1.IsFederated = False

hybridBody3.AppendHybridShape hybridShapeExtract1

MyPart.InWorkObject = hybridShapeExtract1

MyPart.Update

End Sub

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

Jetzt bekomme ich keine Fehlermeldung mehr, sondern das Skript läuft durch. Es wird sogar ein Extract erzeugt, allerdings ist es leer, d.h. die Selektion der Fläche wurde nicht übernommen.

Wer weiß was? Vielen Dank im Voraus

Gruß, zizo

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

Tim2007
Mitglied
Konstrukteur


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

Beiträge: 143
Registriert: 02.01.2007

Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton

erstellt am: 15. Jun. 2012 12: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 Nur für zizorro 10 Unities + Antwort hilfreich

Hi zizo,

hast du zufälligerweise was vergessen:

Dim HybridBody1 As HybridBody
Set HybridBody1 = PartDocument.Part.HybridBodies.Add

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 19. Jun. 2012 13:07    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 zizorro 10 Unities + Antwort hilfreich

Probier mal

Code:
Dim selection as Object
statt
Code:
as selection

du kannst übrigens auch direkt auf die Referenz verweisen:

Code:
set Ref = selection.item(1).reference

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 19. Jun. 2012 13: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 zizorro 10 Unities + Antwort hilfreich

ich seh grad noch dass du

Code:
selectelement

verwendet hast. Der Befehl lautet

Code:
selectelement2

kannst mal in der Hilfe nachschaun

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: 19. Jun. 2012 21:28    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 zizorro 10 Unities + Antwort hilfreich

Servus
Ist euch beiden klar, dass ihr auf einen acht Jahre alten Beitrag antwortet?

Gruß
Bernd

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

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

Tim2007
Mitglied
Konstrukteur


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

Beiträge: 143
Registriert: 02.01.2007

Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton

erstellt am: 09. Jul. 2012 10:00    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 zizorro 10 Unities + Antwort hilfreich

Klar Bernd,

aber es heißt doch immer: dahinschreiben, wo es auch dazu gehört.
Der Nächste sucht doch dann da wieder.

Grüße, Tim

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