Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parallele als Einzelelemente in Skizze projizieren

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:  Parallele als Einzelelemente in Skizze projizieren (1622 mal gelesen)
martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 09. Mrz. 2018 11:58    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


Infobild_09032018.png


Parallele_projizieren.zip

 
Hallo,

da der ursprüngliche Thread (http://ww3.cad.de/foren/ubb/Forum137/HTML/006477.shtml) leider nicht mehr vorhanden ist, starte ich den hier...

Folgende Situation: (siehe auch Bild)
a) Ich befinde mich innerhalb einer Skizze - z.B. "Skizze.2"
b) Ich möchte eine Parallele - z.B. "Parallel.1" - in die Skizze mittels dem Befehl "3D-Elemente projizieren" projizieren. (gelbe Linien werden erzeugt)
c) Ich möchte als Ergebnis aber nicht eine einzelne projizierte Gesamtkontur erhalten, sondern stattdessen die Parallele als einzelne Elemente projiziert haben. (so als ob man jede Linie und jeden Kreis der Parallelen einzeln anklickt. Hintergrund: Später soll es möglich sein, auch einzelne Elemente in der Skizze löschen zu können, ohne dabei wieder alles zu verlieren.)

Ich habe hierfür das im Anhang ersichtliche Makro begonnen - jedoch sind da noch einige Probleme enthalten 

Die Probleme im einzelnen sind:
a) Ich ermittle in welcher Skizze ich mich aktuell befinde - wie kann ich eine Fehlermeldung generieren, wenn ich mich aber in noch keiner Skizze befinde?
b) Wie zerlege ich die zu projizierende Parallele in einzelne Elemente, die ich dann einzeln ansprechen und projizieren kann? (BReps?)
c) Die Projektion selbst funktioniert zwar - erzeugt mir aber nach der ersten Projektion eine Fehlermeldung. Warum ist das so bzw. wie kann ich das abstellen?

Vielen Dank schon mal im voraus!

Martin


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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2018 bis V5-6R2022

erstellt am: 09. Mrz. 2018 12:32    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,
das dritte Problem konnte ich mittlerweile lösen:

    'Selektierte Elemente in die Skizze projizieren
    Dim GeometricElements_1 As GeometricElements
    Dim GeometricElement_1 As GeometricElement

    Dim factory2D_1 As Factory2D
    Set factory2D_1 = sketch_1.OpenEdition()
   
    For i = 1 To Sel_1.Count
        MsgBox i & ": " & Sel_1.Item(i).Value.Name
        'Set GeometricElement_1 = factory2D_1.CreateProjection(Sel_1.Item(i).Value)
        Set GeometricElement_1 = factory2D_1.CreateProjection(oSelArray(i))
    Next


Gruß
Martin

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 09. Mrz. 2018 13:45    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


Parallele_projizieren.zip

 
Hallo nochmal,

Problem Nr. 1 konnte ich auch noch lösen - anbei der aktuelle Stand.

Bleibt immer noch die Frage, wie ich die Parallele in einzeln auswählbare Elemente zerlege. 

P.S. Die Errorhandler sind noch auskommentiert.

Gruß
Martin

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: 09. Mrz. 2018 18:36    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 martin2 10 Unities + Antwort hilfreich

Servus Martin

Ich würde es über die Suche nach den Kanten lösen:

Code:
Redim Filter(0)
Filter(0) = "HybridShapeCurvePar"

Status = oSel.SelectElement2(Filter, "Parallel-Feature wählen", False)

if Status <> "Normal" then
  exit Sub
end if

'nach Kanten suchen
oSel.Search "Topology.CGMEdge,sel"

'jede Kante projezieren
For i = 1 To oSel.Count2     
    Set GeometricElement_1 = factory2D_1.CreateProjection(oSel.Item2(i).Value)
Next


Gruß
Bernd

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

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 12. Mrz. 2018 07:44    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


Fehlermeldung_12032018.png


Parallele_projizieren.zip

 
Guten Morgen,

vielen Dank für die Hilfe; leider bekomme ich die Sache aber nicht ans Laufen. 

Kannst Du mir da nochmals behilflich sein?

Gruß
Martin

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: 12. Mrz. 2018 08:14    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 martin2 10 Unities + Antwort hilfreich

Servus Martin

Ergänze mal ein: Set oSel = partDocument_1.Selection
Falls du das Paralell-Feature nicht vom User selektieren lassen willst, kannst du dieses natürlich auch direkt per Code selektieren.

Gruß
Bernd

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

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 12. Mrz. 2018 09:32    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


Parallele_projizieren.zip

 
Hallo nochmal,

Vielen Dank - ich hab's hinbekommen. (Im Anhang das fertige Makro)

(Unities sind unterwegs)

Danke und Gruß
Martin

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2018 bis V5-6R2022

erstellt am: 12. Mrz. 2018 09:36    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


MakroCenter_1_12032018.png


MakroCenter_2_12032018.png


MakroCenter_12032018.zip

 
Hallo nochmal,

da Du offensichtlich viel mit Makros zu tun hast - anbei ein kleines von mir einst erstelltes Makro, welches Du bei Deiner Arbeit evtl. gebrauchen kannst. Ich hoffe die Geschichte ist soweit selbsterklärend...

Viel Spaß

Martin

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