Autor
|
Thema: Referenz -> Objekt (2832 mal gelesen)
|
drcmda Mitglied
Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 04. Aug. 2003 13:05 <-- editieren / zitieren --> Unities abgeben:
hallo ich habe es endlich geschafft die catia "search-grammar" sprache nachvollziehen zu können und bin nun in der lage jede fläche eines bauteils, ohne interactive selektion, auszulesen. sehr gut, genau das wollte ich... nur jetzt habe ich ein array vollgestopft mit referenzen... wie gelange ich nun auf die wirklichen objekte? in der catia vba-hilfe habe ich zum bsp. ein "plane" objekt gefunden das genau die eigenschaften vorweißt die ich so dringen brauche, origin- und axen-informationen. um es besser zu veranschaulichen, hier ist eine meiner flächen als referenz: Selection_RSur :(Face :(Brp :(Pad.1;0 :(Brp :(Sketch.1;3)));None :());Pad.2_ResultOUT) nun habe ich mit FindObjectByName und anderen methoden rumgespielt aber ich komme einfach nicht auf das flächen-objekt. ich will doch nur die eigenschaften der flächen meines bauteils auslesen, das muß doch irgendwie möglich sein... bitte falls irgendjemand auch nur eine ahnung hat, alles würde mir weiterhelfen... viele grüße, paul
[Diese Nachricht wurde von drcmda am 04. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
drcmda Mitglied
Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 04. Aug. 2003 13:51 <-- editieren / zitieren --> Unities abgeben:
noch ganz kurz... eine sache die mich stutzig macht... sollte ".Value" nicht eigentlich schon auf mein gewünschtes objekt zeigen anstatt mir eine referenz zu geben? beide methoden (value & reference) geben mir aber die gleichen resultate... Code:
Selection.Search ("Topology.CGMFace,all") For i = 1 To Selection.Count Set myFace = Selection.Item(i).Value 'myFace = "type: reference", warum ??? Next
[Diese Nachricht wurde von drcmda am 04. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u01dz Mitglied
Beiträge: 76 Registriert: 12.07.2003 V5R15GA
|
erstellt am: 05. Aug. 2003 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Hi, wenn Du die funktionalen Flächen eines Volumenkörpers suchst und findest, kann CATIA Dir hierzu nur eine Referenz aufbauen, da es sich nicht um ein Flächenobjekt handelt. Objekte sind nur Elemente, die auch im Konstruktionsbaum verfügbar sind. ------------------ Tschüß, Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
drcmda Mitglied
Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 05. Aug. 2003 15:23 <-- editieren / zitieren --> Unities abgeben:
hallo dieter, heißt das jetzt das es generell keine möglichkeit gibt den ursprungspunkt bzw. den normal vektor einer fläche auszulesen? in jedem anderem cad-system geht das doch auch ohne probleme - habe ich vieleicht eine chance wenn ich caa-mitglied werde (hatte ich eh vor) ... ist deren c++ interface vieleicht flexibler als die normale vb com schnittstelle? ich kann's nur hoffen viele grüße, paul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u01dz Mitglied
Beiträge: 76 Registriert: 12.07.2003 V5R15GA
|
erstellt am: 05. Aug. 2003 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Hi, an ein richtiges Flächenobjekt kämest Du, wenn Du eine Ableitung der Funktionsfläche bildestest: Set Ableitung = HSFactory.AddNewExtract (Reference) Aber aus meiner Sicht hilft das nicht weiter, da Du hierzu keinen Ursprung und keine Orientierung auslesen kannst. Was ist, wenn Du eine Parallelebene mit einem Abstand von "0 mm" über die Flächenreferenz erstellst? Über eine Fehlerabfrage müssten die Fälle ausgeschlossen werden, in denen eine Funktionsfläche des Volumenkörpers nicht planar ist. Ich weiß allerdings nicht, ob der Ebenenursprung mit dem der Funktionsfläche übereinstimmt. ------------------ Tschüß, Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u01dz Mitglied
Beiträge: 76 Registriert: 12.07.2003 V5R15GA
|
erstellt am: 05. Aug. 2003 17:55 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
... und noch eine zweite Idee: Die Funktion "AddNewPointOnSurface" verwendet eine Flächenreferenz, eine Richtung und einen Abstand zum Flächenursprung. Das könnte weiterhelfen. ------------------ Tschüß, Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
drcmda Mitglied
Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 06. Aug. 2003 11:48 <-- editieren / zitieren --> Unities abgeben:
|
TKO Mitglied
Beiträge: 17 Registriert: 29.05.2001
|
erstellt am: 17. Okt. 2003 17:01 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Ich habe auch schon verzweifelt versucht mir den normalen Vektor auf einer Fläche auszulesen! Im Augenblick löse ich das Problem über eine Hilfskonstruktion: Mit "HybridShapeLineNormal" erzeuge ich eine Normale auf der Fläche durch einen Punkt und "hole" mir danach den Richtungsvektor dieser Linie. Danach lösche ich die Linie wieder. Der Nachteil an dieser Methode ist ganz klar die Geschwindigkeit, da die Linie erst mal erzeugt werden muss! Bin für jeden besseren Vorschlag dankbar. Gruss Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Desi Mitglied Student
Beiträge: 1 Registriert: 17.11.2003
|
erstellt am: 26. Nov. 2003 19:23 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Hallo Thomas, ich besitze selber kein Catia (bin hier quasi ins forum gestolpert und hab das posting gesehen..). Ich weiss noch nicht genau wie Catia an sich funktioniert, aber gibt es Polygone in Catia (Ist die Fläche ein Polygon?) ? Bzw. hast du die Flächedefinierenden Vektoren? Dann sollte es kein Problem sein die Flächennormale zu errechnen, denke ich. Gruss Desi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
QUESTMan Mitglied
Beiträge: 12 Registriert: 21.05.2008
|
erstellt am: 20. Nov. 2008 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Zitat: Original erstellt von drcmda: halloich habe es endlich geschafft die catia "search-grammar" sprache nachvollziehen zu können. [Diese Nachricht wurde von drcmda am 04. August 2003 editiert.]
Glückwunsch! Daran haperst es bei mir immer noch... Die Hilfe ist leider auch nicht sehr ergiebig - hast jemand einen Tip für mich, wo ich die Syntax herbekomme? Für selection.search scheint sie ja doch etwas anders zu sein als auf der Oberfläche. Mein aktuelles Problem: Die Suchanweisung oSel.Search ("Name='Hauptkörper' & 'Part Design'.Körper,all") soll nur noch im aktuelle Subprodukt tätig werden. Ich denke mal, das "all" muss durch etwas ersetzt werden - nur wodurch? Vielen Dank, Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 78 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 20. Nov. 2008 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Hallo QUESTMan Wenn du eine Suche mit dem Makrorecorder aufzeichnest, kannst du die einzelnen Optionen durchtesten. Beim Suchfenster einfach unter Suchen >Überall< durch das Produkt ersetzen. Beispiel: Language="VBSCRIPT"
Sub CATMain() Dim productDocument1 As Document Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection ‘ selection1.Search "CATAsmSearch.MfConstraint,all" selection1.Search "CATAsmSearch.MfConstraint,in" End Sub
Gruß CadV5UserR Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 20. Nov. 2008 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für drcmda
Hallo Matthias, all bezieht sich bekanntlich auf das ganze Document, also Part/Product. Wenn du im Strukturbaum allerdings schon etwas selektiert hast, kannst du in der Suche mit "sel" (=selected?!) darauf zurückgreifen. Grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |