Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Section Create

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:  Section Create (2997 mal gelesen)
pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 26. Okt. 2009 21:04    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,

ich bin derzeit dabei ein Macro zu schreiben, welches mir Schnitte von 3D-Geometrien erzeugt. Jedoch habe ich noch keinen wirklichen Ansatz gefunden wie ich dieses Realisieren soll (keine nützlichen Methoden in der Dokumentation und der Ziehten steigt bei solches Angelegenheiten schon längst aus).

Die Basis soll ein Sketch sein, in dem die Schnittlinie gezeichnet wurde.
Nun soll ein Schnitt erzeugt werden (Section), der orthogonal auf dem SketchSupport liegt und in der Breite genau der Linie entspricht (nicht länger und nicht kürzer).

Falls es solch ein Makro schon gibt brauche ich das Rad nicht neu erfinden und wäre froh wenn es jemand zur Verfügung stellen könnte, ansonsten bin ich gespannt auf Vorschläge, wie das Problem zu lösen sein könnte.

Derzeit denke ich, dass ich die Koordinaten der Punkte im Sketch ermitteln muss, den Ursprung des Schnittes zwischen diesen Punkten ausmittel und dann Breite und Tiefe setzen kann. Aber vlt gibt es auch eine elegantere Methode.

Danke schon einmal für sämtliche Anregungen.
pitty

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 27. Okt. 2009 08:39    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 pittyplatsh 10 Unities + Antwort hilfreich

Hallo Pitty,
ein paar Verständnisfragen:
1. Soll mit der Section ein Bauteil beschnitten werden - also das Ganze in einem CATPart ablaufen? Oder ist mit Section der Baugruppenschnitt gemeint?
2. Methodisch gesehen wird aufgrund der Skizze eine Fläche erzeugt mit der die 3D-Geometrie beschnitten wird?

Kannst du vielleicht ein screenshot oder ein 3D-PDF hier einstellen damit man sich das besser vorstellen kann?

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing
Kochbuch - CATIA V5 automatisieren

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 27. Okt. 2009 18:06    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


Section.jpg

 
Es ist eine Section der Module Assembly bzw einiger DMU Module gemeint. Es soll also kein Beschnitt des Bauteils erfolgen. Jediglich die geschnitte Geometrie soll mit dem Section erfolgen, welche ich dann über Export als tote Geometrie in ein Part einfüge.

Der Hintergrund ist folgender: Im Drafting sollen bei Schnitte ebenfalls die Anschlussgeometrien anderer Bauteile angezeigt werden. Dafür nutze ich ein Produkt, auf denen die Drafting-Elemente Referenzieren. Darin befindet sich ein Part, welches die Schnitt enthält, das eigentliche Bauteil, ein Produkt, wo temporär die Anschlussgeometrie liegt (nur zum erstellen der Schnittgeometrie nötig, zb. in Form von cgr-Daten), ein weiteres Part das die tote Schnittgeometrie der Anschlussteile hält und in einem Ordner (DMUReview) die einzelnen Groups, Scenes und Sections, welche zum erstellen der Schnittgeometrie durch die Anschlussteile notwendig ist.

Da die Zeichnung ihre View-Links auf ein zwischengeschaltetes Produkt referenziert, ist ein Austausch des Bauteils und der Anschlussgeometrie ohne weiteres möglich (die UUID des Produktes ändert sich nicht, nur die der darin enthaltenen Elemente, auf denen keine Referenz der Zeichnung liegt)

Ich habe mal versucht das darzustellen

Edit: Da ich nun eine Möglichkeit im Hinterkopf habe ein paar Konkrete Fragen:

Es wird über eine Selektion vom User die Schnittachse gewählt. Jetzt muss ich herausfinden, aus wievielen !! sichtbaren !! Linien (keine Konstruktionselemente) dieser Sketch besteht (abgesetzte oder abgewinkelte Schnitte) und wie ich an die Koordinaten der jeweiligen Start- und Endpunkte herankomme. Wenn ich das habe ist der Rest eher weniger problematisch. Dann kann ich jeweils die beiden Punkte mitteln, lege dort die Section hinein, nehme die Länge der Linie als Breite und gebe die Tiefe an.
Nächstes Problem: Die Orientierung der Section wird mittels Vektoren angegeben. Also muss ich herausfinden, welches Referenzkoordinatensystem die Support-Plane des Sketches besitzt. Da diese immer negativ in Z zu ihren Koordinatensystemen stehen kann ich definiert die Orientierung angeben.

Danke vielmals für die Hilfe

[Diese Nachricht wurde von pittyplatsh am 27. Okt. 2009 editiert.]

Edit2: Gleich noch eine weitere Frage.

Ich möchte Szenen erstellen. Jedoch will ich keine Szenen im SceneWorkbench haben sondern die ProductScenes. Jedoch scheitere ich an der Deklaration dieser Collection. Habe die Dokumentation schon durchforstet. Dort steht zwar dass es in die Collection muss, aber nicht wie diese deklariert wird   Habe schon die gängisten Methoden (Product.ProductScenes, Product.GetTechnologicalObject("ProductScenes") probiert.)

[Diese Nachricht wurde von pittyplatsh am 27. Okt. 2009 editiert.]

Scenes-Problem selbst gelöst 

[Diese Nachricht wurde von pittyplatsh am 27. Okt. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 27. Okt. 2009 23: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

Kaum ein Problemchen gelöst kommen 5 weitere hinzu. Habe jetzt die Scenen. Habe aber noch keine Ahnung wie ich einzelne Teile in diesen Scenen ins Hide schalten kann   Dachte zuerst daran, sie zuerst ins Hide schalten, dann die Scene erstellen und danach die Teile wieder ins Show. Doch leider übernimmt die Scene die Hide/Show Attribute des Products. Nur in der Scene selbst gesetzte Attribute wirken dort unabhängig vom Product selbst.

[Diese Nachricht wurde von pittyplatsh am 28. Okt. 2009 editiert.]

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: 28. Okt. 2009 06:54    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 pittyplatsh 10 Unities + Antwort hilfreich

Servus

Könntest du bitte die (Teil)Lösung deines Szenenproblem posten? Andere haben vielleicht das gleiche Problem.

Gruß
Bernd

PS: Bitte Systeminfo ausfüllen

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

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 28. Okt. 2009 20: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

Werde ich nachreichen wenn ich ein wenig mehr zusammen habe. Habe die Hide/Show Attribute der Szenen nun setzen können.
Erstmal eine Pause ^^

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 28. Okt. 2009 23:42    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

Wiedermal hänge ich an einen schier einfachen Problem:

Code:
Dim inputObjectType(1)As CATVariant
inputObjectType(0) = "Product"
inputObjectType(1) = "Group"

statusSelection = selectedItems.SelectElement3(inputObjectType, "Product(s) und/oder Group(s), die geschnitten werden sollen, selektieren", true, CATMultiSelTriggWhenUserValidatesSelection, false)
If (statusSelection ="Cancel") Then
MsgBox("Abbruch durch Benutzer")
Exit Sub
End If


Er nimmt den CATVariant "Group" zwar an, lässt ihn aber dennoch nicht selektieren.

Code:
MsgBox(TypeName(GroupName)) liefert "Group"
Selection.Add GroupName
MsgBox(Selection.Item(1).Type) liefert ebenfalls "Group"

Edit: Problem gelöst...

Wenn die Reihenfolge vertauscht wird funktioniert es, warum auch immer.


Code:
Dim inputObjectType(1)As CATVariant
inputObjectType(0) = "Group"
inputObjectType(1) = "Product"

[Diese Nachricht wurde von pittyplatsh am 29. Okt. 2009 editiert.]

[Diese Nachricht wurde von pittyplatsh am 29. Okt. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 29. Okt. 2009 01: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

So nun das letzte Problem für heute:

Es sollen die Elemente gewählt werden, die geschnitten werden.

Da man auch bereits bestehende Groups wählen kann wird die Selektion per Schleife durchlaufen und bei einer Group die Auswahl (Extrahieren, Instantiieren (verschachteln) oder Übernehmen (keine neue Group)) gegeben.

Wird Extrahieren gewählt, so soll der Inhalt der selektieren Gruppe extrahiert werden (Group.FillSelWithExtract) und dieser der Selektion hinzugefügt werden. Genau hier hängt es bisher. Denn FillSelWithExtract fügt die Auswahl nicht einfach nur der Selektion hinzu sondern überschreibt diese komplett.
Nun können ja noch weiter vom User selektierte Elemente kommen die nun nicht mehr in der Selektion sind. Also muss ich mir da jetzt was einfallen lassen. Ich würde ja die übrigen Elemente in ein Array schieben, dann FillSelWithExtract machen und alle weiteren Selektionen wieder anhängen. Doch habe ich bisher die Erfahrung gemacht dass kein Array über eine Variable erzeugt werden kann, z.B: Array(Selection.Count)

Wenn jemand einen guten Geistesblitz hat wäre ich sehr dankbar 

Danke im vorraus,
Liebe Grüße

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 29. Okt. 2009 21:38    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


Sectioning_Create.txt

 
So mal die ersten Zwischenergebnisse

ToDo:
- wenn eine Group und EXTRAHIEREN gewählt wurde, die Group aber weitere Groups beinhaltet, soll eine Abfrage erfolgen ob die darin befindlichen Groups ebenfalls extrahiert werden sollen
- Erzeugung der Schnitte (auf Basis eines Grundmodelles)

Edit: Endlos-Schleife noch beseitigt

[Diese Nachricht wurde von pittyplatsh am 29. Okt. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 30. Okt. 2009 00:29    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


Sectioning_Create.txt

 
Und wieder ein Enpass (ob die wohl jemals aufhören).

Diesmal kann ich mir beim besten Willen den "Fehler" (falls es einen gibt) nicht erklären.

Es dreht sich um folgende Zeilen:

Code:

[...]
MsgInput = MsgBox("Es wurden [... gekürzt ...] extrahiert werden?", vbYesNo, "EXTRAHIEREN weiterer Groups")
If (MsgInput = vbYes) Then
Dim s As Integer
s = selectedItems.Count
While ( s <= selectedItems.Count)
If (TypeName(selectedItems.Item(s).Value) = "Group") Then
[...]

Ich habe die Werte von s und selectedItems.Count überprüft in einem Beispiel (beide 2)
Ich habe sie vergleichen lassen ( s = selectedItems.Count) -> Ergebnis: Wahr
Ich habe überprüft ob eine Endlosschleife vorliegt -> Nein, MsgBox nach While wird ausgegeben

Dennoch hängt sich CATIA bei der Anweisung

Code:
TypeName(selectedItems.Item(s).Value)) oder selectedItems.Item(s).Value.Name

auf. Mir gehen aber grade die Ideen aus was die Ursache sein kann.

Sehe ich grade den Wald vor lauter Bäumen nicht mehr?

Ich Lösche vorher im Quelltext auch eine Group aus der Selektion (Selektion.Remove). Habe aber durch Versuche festgestellt, dass die nachfolgenden Elemente der Selektion die Plätze nach vorne auffüllen. Daher sollte Selection.Item(2) also existieren, sonst bricht VB auch erfahrungsgemäß mit einem Laufzeitfehler ab...

[Diese Nachricht wurde von pittyplatsh am 30. Okt. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 03. Nov. 2009 23:55    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


Sectioning_Create.txt

 
So ich mal wieder^^

Habe den Punkt mit den Groups in den Groups beim EXTRAHIEREN nun fallen gelassen. Für meine Zwecke wird man auch nicht so stark verschachteln.

Bin nun bei den Sections angekommen. Auf einer Schnittebene klappt alles super.
Bei der Wahl eines Sketches als Schnittlinie bin ich auch schon gut voran. Ich kann einen Sketch wählen, dieser wird nach Linien durchsucht, dann ob die Linie ein Konstruktionselement ist und die Start- und Endpunkte ermittelt. Damit habe ich Breite der Section und (Länge zwischen den Punkten) und Ursprung der Section (Mittel aus beiden Punkten).

Nur sind diese Koordinaten auf die Sketch-Achsen bezogen. Über die Sketch erhalte ich die beiden Achsen (H und V) sowie deren Ursprung. Nun könnte ich natürlich die 3D-Koordinaten bezogen auf das Absolte System berechnen lassen, aber mich würde natürlich interessieren ob das nicht einfacher geht. Irgend einen Trick wie man direkt an die 3D-Koordinaten der Point2D kommt.

Einzigster Trost: Die Richtungsvektoren der H- und V-Achse sind Einheitsvektoren ^^

Edit: Habe es nun erstmal über die Vektoren-Variante gemacht. Wäre aber noch für einen "einfacheren" Weg offen.
Und möchte gleich das nächste Problemchen anmelden.

Ich erzeuge die Sections und setze den Status auf Freeze per Makro. Nach der Erstellung sehe ich die Schnittgeometrie. Jedoch sobald ich per Hand einmal in die Section hineingehe ist die Schnittgeo weg. Erst durch ein Update der Section erscheint sie wieder...

[Diese Nachricht wurde von pittyplatsh am 04. Nov. 2009 editiert.]

Edit2: Das bisherige Makro mal angehängt. Ein paar Schönheitskorrekturen noch, aber ansonsten läuft es bisher stabil. Zur Erzeugung der Schnittgeometrie mit geraden, abgesetzen und gewinkelten Schnitten.

ToDo: wahrer Schnitt und ein weiteres Makro für den Export der Geometrie

[Diese Nachricht wurde von pittyplatsh am 04. Nov. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 04. Nov. 2009 22: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

Wie genau funktioniert der Section.Export?

Habe versuchsweise mal eingetippt:

Code:
Dim PartDoc As Document
Set PartDoc = sectionSelection.Export

sectionSelection ist meine Section. Das Macro läuft sauber durch, jedoch passiert nichts. Er meckert zwar nicht am Code, macht aber auch nichts. Habe es mit den Einstellungen Update, Manuell Update und Freeze probiert.
Da auch hier die Dokumentation mit Informationen nicht grade verschwenderich umgeht, weis ich nicht woran es liegt.

Weis einer Rat? Übersehe ich irgendetwas?
Danke für die Antworten,
pitty

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: 05. Nov. 2009 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 Nur für pittyplatsh 10 Unities + Antwort hilfreich

Servus
Gemäß Doku sollte es zB so gehen:
Code:
Dim PartDoc As Document
Set PartDoc = sectionSelection.Export
PartDoc.ExportData("c:\Temp\test.igs", "igs")

Gruß
Bernd

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

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 05. Nov. 2009 08: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

Danke, dann ist meine Doku wohl nicht mehr ganz up to date. Aber geht es auch ohne speichern des Exports?

Liebe Grüße, pitty

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 05. Nov. 2009 19:55    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

Ich habe mal ein wenig rumprobiert, bin aber noch nicht weiter gekommen.

TypeName(Section.Export) gibt ein PartDocument zurück. Es muss also doch möglich sein dieses Dokument zu visualisieren ohne es vorher zu exportieren.

Section.Export.Name liefert "SectionResult1.CATPart"
Interessanterweise bekommt man mit Section.Export.NewWindow aber das eigentliche RootDocument ein zweites mal geöffnet.

Edit: Habe mir das Part mal exportieren lassen und kann nun auf dem Export den Pfad der Geometrie nachverfolgen:

Code:
For i = 1 To (Section.Export.Part.HybridBodies.Item(1).HybridShapes.Count) Step 1
   Selection.Add Section.Export.Part.HybridBodies.Item(1).HybridShapes.Item(i)
Next

Das dann kopieren und im einfügen wo man möchte. Ganz ohne speichern...

[Diese Nachricht wurde von pittyplatsh am 05. Nov. 2009 editiert.]

Gleich nochmal eine Schönheitsfrage:

Der User selektiert die Gewünschten Produkte und/oder Gruppen.Dann wird die Selektion gelöscht (Selection.Clear) und eine weitere Selektion des Benutzers steht an (Schnittelemente). Doch trotz Selection.Clear wird noch visualisiert, dass Elemente selektiert wären. Sind es aber nicht. Ist nur optisch der Fall und sieht einfach nicht gut aus wenn alles orange ist während man Selektieren soll.

Gibt es hierfür eine Abhilfe?

Danke schon einmal für die Antworten,
pitty

[Diese Nachricht wurde von pittyplatsh am 05. Nov. 2009 editiert.]

Edit: Auch hier kam ein zündender Gedanke. Einmal die Selektion löschen und wieder neu anlegen mit Set Selection = Nothing und dann wieder Set Selection = Document.Selection

[Diese Nachricht wurde von pittyplatsh am 05. Nov. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 05. Nov. 2009 20: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

Nächstes Problem.

Ich möchte zwei Objekte miteinander vergleichen, ob es sich dabei um das gleiche Objekt handelt.

Hintergrund: User selektiert eine Group. Alle mit dieser Group verbundenen Sections (Section.Group) sollen herausgefunden werden für ein Update.

Die Unterscheidung kann leider nicht anhand des Namens erfolgen. Aber CATIA schafft es ja auch gleichnamige Objecte zu unterscheiden. Also gibt es ein eineindeutiges Merkmal jeden Objektes. Das denke ich werde ich vergleichen müssen.

[Diese Nachricht wurde von pittyplatsh am 05. Nov. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 06. Nov. 2009 19:49    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

Warum muss die Makro-Programmierung von CATIA nur immer so umständlich sein?
Habe den Objektvergleich gelöst (If ... Is ... Then).

Allerding gleich auf das nächste Problem aufgelaufen. Wie kann ich eine Section updaten, ohne dabei das gesamte Product durch ein Update zu schicken? UpdateObject gibts ja nur innerhalb den Parts und die simple Lösung Section.Update scheint wohl wieder zu trivial gewesen zu sein.

Danke für eventuelle Antworten,
pitty

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 07. Nov. 2009 18:21    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

Obriges Problem besteht leider noch und ein weiteres drängt sich mir auf.

Ich möchte dem User die Selektion einer Section ermöglichen, aber das scheint nicht so einfach zu sein wie gedacht.

TypeName(Section) liefert erwartungsgemäß "Section" zurück
Section.Type jedoch liefert "0".

Genau hier ist der springende Punkt. SelectElement3 gibt sich zwar mit dem FilterType "Section" zufrieden, lässt diese aber nicht anwählen. "0" lässt sich hingegen nicht als FilterType übergeben.
Und "AnyObject"... nein. Ich brauch keinen FilterType der alles durchlässt.

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 07. Nov. 2009 21:29    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

Und noch eine Frage:

Ich habe festgestellt dass man die Elemente aus einen Section.Export nur kopieren kann, wenn das RootDocument (vlt auch beliebige Documente darin) sich im Edit befinden (blau hinterlegt). Wie kann ich per Makro ein beliebiges Object in diesen Status versetzen?

Weitere noch offene Themen:

Wie Section updaten?
Welcher ObjectType für Selektion einer Section (es ist nicht "Section")?

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 08. Nov. 2009 03: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

Habe jetzt mal auf V5R19 probiert. Jetzt kann ich zwar die Section auswählen, aber dafür treten scheinbar neue Probleme auf.

Einmal das Section.Export nun als Sketch gespeichert wird (hab schon gelesen dass das scheinbar irgendwo abzustellen geht... aber wo)

Zum zweiten scheinen sich dort fehler eingeschliechen zu haben:

Code:
For i = 0 To Ubound(selectedObjects) Step 1
If (TypeName(selectedObjects(i)) = "Section") Then
stringSection =selectedObjects(i).Name
stringGroup = selectedObjects(i).Group.Name

Hier kommt seit R19 der Fehler: Methode Group failed.
Es handelt sich bei selectedObjects(i) definitiv um eine Section (siehe Bedingung) und sie besitzt definitiv eine Group. Über Sections.Item(...).Group funktioniert es.

Hoffe das nicht noch mehr dieser Bugs vorhanden sind. Kennt jemand Abhilfe?

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 08. Nov. 2009 15:49    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

So, nun habe ich wirklich das Gefühl dass sich ein wenig auf den Lorbeeren ausgeruht wird. Die Makroprogrammierung ist in R19 ja nur schlimmer anstatt besser geworden.

Code:
Dim Selempty As String
If (TypeName(selectedItems.Item(1).Value) = "Section") Then
Selempty = selectedItems.Item(1).Value.IsEmpty
MsgBox(Selempty)
End If

Was würde man von dem Code erwarten? In einer Selektion werden die Typen der Elemente geprüft, wenn es sich um eine Section handelt wird daraf .IsEmpty ausgeführt. Wenn ich das direkt auf die Section anwende klappt es, wenn ich es auf ein SelektionsElement vom Typ Section anwende scheint es als ob bis auf den TypeName die Selektion nichts mehr mit dem selektieren Element gemein hat.

Auch der Vergleich mit dem eigentlichen selektieren Objekt über (Section Is Selection.Item(1).Value) liefert FALSE

Mit Groups scheint es alles zu funktionieren.

Wenn das so weiter geht weis ich warum viele die Programmierung in CATIA meiden. Ich verlier grade auch die Lust daran.

Edit: Ich kann eine Section nicht mal über Selection.Add Section (bzw Selection.Add(Section) ) hinzufügen -> Methode Add failed.

Edit: Auch die neuen Mothoden Item2 und Count2 (V5R19) bringen die gleichen Fehler.

Problem tritt auf: CATIA V5R19 SP2

[Diese Nachricht wurde von pittyplatsh am 08. Nov. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 21. Nov. 2009 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

Hi, ich wollte dem Thread mal wieder Leben einhauchen da ich immer noch zwei ungeklärte Probleme habe:

1) Wie kann ich ein Update einer Section fahren?
2) Warum verliert das SelectElement die Verbindung zum Objekt wenn es sich um eine Section handelt? (siehe Post darüber) Wie könnte man dieses Problem umgehen (ohne dabei über den Namen das Objekt zu suchen, da dieser Weg nicht eineindeutig ist)

Danke für Anregungen,
Liebe Grüße,
pitty

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: 22. Nov. 2009 12:03    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 pittyplatsh 10 Unities + Antwort hilfreich

Servus

zu 2): schon mal probiert das Objekt der Selection zuerst einer Variable zuzuweisen und dann erst "IsEmpty" durchzuführen?
Set Schnitt = selectedItems.Item(1).Value
Selempty = Schnitt.IsEmpty

Ist wirklich was in der Selection?
Zu 1): Schnitt.Update hast du mit Sicherheit schon ausprobiert?

Gruß
Bernd

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

[Diese Nachricht wurde von bgrittmann am 22. Nov. 2009 editiert.]

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 22. Nov. 2009 12:21    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

Section.Update habe ich schon probiert in R16 schon ausprobiert, leider ist es das nicht. Auch mögliche Variationen davon nicht. In R19 hab ich es noch nicht probiert, mache mir da aber auch keine großen Hoffnungen.

Habe die Selektion auch schon einem Objekt zugeordnet... ohne Erfolg. Wenn ich die Section direkt ansteuer funktioniert es, nur sobald sie in einer Selektion aufgenommen wurde ist sie über das SelectElement nicht mehr ansprechbar bis auf die Rückgabe des Objekttyps. Dies tritt in R19 auf, in R16 konnte man keine Section selektieren.

Danke für die Antwort, hat noch jemand Ideen?

Liebe Grüße,
pitty

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

mgheinz1001
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 109
Registriert: 17.03.2005

erstellt am: 30. Nov. 2009 08: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 Nur für pittyplatsh 10 Unities + Antwort hilfreich

Hi,

wenn du das Section-Object hast, dann ändere einfach den Wert einer Eigenschaft. Dadurch wird die Section aktualisiert. Etwa so:

objSection.Width = objSection.Width

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

pittyplatsh
Mitglied



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

Beiträge: 62
Registriert: 27.12.2008

CATIA V5 R16 SP3

erstellt am: 30. Nov. 2009 18:03    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, dass ist gar nicht mal so eine schlechte Idee... zwar nicht unbedingt sauber aber es wird sicher seine Zwecke tun. Werde es demnächst einarbeiten 

Dann bleibt ja nur noch ein offener Punkt (auf den ich ungern verzichten möchte aber es zur Not auch kann).

Liebe Grüße,
pitty

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