| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: Punkt durch Verschneidung exportieren (3001 mal gelesen)
|
Solidos Mitglied
 
 Beiträge: 328 Registriert: 26.06.2002 V5 R18
|
erstellt am: 22. Apr. 2009 09:54 <-- editieren / zitieren --> Unities abgeben:         
Hallo Catia-Users Ich habe ein Problemchen. Ich habe sehr viele Punkte durch Verschneiden erstellt (über Linien und Ebenen) und habe nun ein Punktenetz. Von diesem Netz an Punkten, möchte ich nun Koordinaten punkte exportieren, also die X,Y,Z Werte auslesen. Klar, ich könnte nun an jeden Punkt eine Koordinate setzen, und dann mit Koordinaten-Export Makro auslesen, aber leider sind es über 750 Punkte, was den Rahmen sprengt. Kennt jemand von Euch vielleicht einen anderen Weg? Bin für jeden Tip dankbar. Gruss, Solidos ------------------ V5 R18 Zeit ist das, was man an der Uhr abliest. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
   
 Beiträge: 1385 Registriert: 13.01.2007
|
erstellt am: 22. Apr. 2009 10:37 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
Du kannst in CATIA "so tun", als ob du einen Design Table erzeugst. Vorher musst du aber, weil du keine "Koordinatenpunkte" hast, folgendes tun: Dazu muesstest du deine Verschneidungspunkte alle selektieren, "kopieren" und mit "Paste Special-As Result" einfuegen -> isolierte Punkte, dann jeden Punkt mit rechter Maustaste und "Definition" als Koordinatenpunkt umwandeln. Fuer diesen Teil eignet sich ein Makro, das ein bestimmtes GeoSet durchsucht, Punkte als Result kopiert oder diese verwendet wenn vorhanden und danach jeden dieser Punkte als Koordinatenpunkt wandelt. Ich habe das schon mal fuer Ford gescriptet, laeuft ganz gut. Dann einen Design Table mit "bekannten Parametern" erstellen (unterer Schalter), alle Koordinaten der relevanten Punkte in die neue Tabelle schieben. Fertig. Gruesse aus dem Rheinland Thomas ------------------ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Solidos Mitglied
 
 Beiträge: 328 Registriert: 26.06.2002 V5 R18
|
erstellt am: 22. Apr. 2009 11:26 <-- editieren / zitieren --> Unities abgeben:         
Vielen danke Thomas, funktioniert ganz gut so. Muss mir nur noch Zeit nehmen das Makro zu schreiben. Beim umbennennen der Punkte muss ich mir auch noch was einfallen lassen, denn ich will ja nachher auch wissen, welche Koordinate welchem Punkt zugeordnet ist. Eine Logic (ein Punkteschlüssel) besteht schon (zB. KP-03A13A ; KP-, Level, Leveltyp, Achse, Punkt). Vielleicht hat dazu auch jemand eine so gute Idee wie Thomas. Gruss, Solidos ------------------ V5 R18 Zeit ist das, was man an der Uhr abliest. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 22. Apr. 2009 13:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
Hallo Solidos, ich hätte einen anderen Ansatz. Mein Ansatz basiert auf der SPAWorkbench und dem GetPoint Objekten. D.h. die Puunktkoordinaten der Verschneidung werden (wie beim Messen per Hand) ausgelesen und können so an Excel übergeben werden. Der Vorteil ist das du nichts kopieren und einfügen musst den DAS könnte bei 750 Punkten ein wenig dauern. Die Punkte würdest du dann im Anschluss ja so und so wieder löschen. Hier mal der Code dafür. Die Excel übergabe müsste noch realisiert werden. Dazu kannst du aber die Forensuche bemühen. Code:
Sub CATMain() Dim oDoc As Document Dim oPart As Part Dim oBodys As Bodies Dim oBody As Body Dim coords(2) Dim oSel As Selection Dim myName As String Set oDoc = CATIA.ActiveDocument Set oPart = oDoc.Part Set oSel = oDoc.Selection oSel.Clear oSel.Search "(CATGmoSearch.GSMIntersect + CATGmoSearch.Intersect),all" If oSel.Count = 0 Then Box = MsgBox("Es wurden keine Verschneidungen im Part gefunden!", vbExclamation + vbOKOnly, "Abbruch") Exit Sub Else Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench") For i = 1 To oSel.Count Set myVer = oSel.Item(i).Value Set ref = oPart.CreateReferenceFromObject(myVer) Set TheMeasurable = TheSPAWorkbench.GetMeasurable(ref) Call TheMeasurable.GetPoint(coords) myName = myVer.Name 'Hier kannst du dann die Übergabe an Excel machen (coords = Die X,Y,Z - Koordinate ' myName ließt den Namen der Verschneidung aus) Next End If oSel.Clear End Sub
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
   
 Beiträge: 1385 Registriert: 13.01.2007
|
erstellt am: 22. Apr. 2009 15:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
Hallo Daniel, dann musst du aber auch ne Lizenz fuer haben (SPAWorkbench ist glaube ich bei DMU) und ganz ehrlich, ich habe auch schon damit auf Workstations "gemessen" und bei 750 Punkten kannst du dann Kaffe kochen (2,0 l) und auch trinken... Die andere Methode ist zwar auch nicht die Schnellste, dafuer ohne weitere Lizenz, soweit ich das beurteilen kann (evtl. KT1). Gruesse aus dem Rheinland Thomas ------------------ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 22. Apr. 2009 15:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
Hallo, ich geb dir Recht ABER wenn du die Verschneidungen kopierst und als Punkte einfügst, dann erzeugst temporären Datenmüll den du nachher wieder löschst. D.h. vom reinen Ablauf her wäre eine Messung wohl besser. Das mit der Lizenz stimmt da geb ich dir recht. So haben wir zwei Lösungen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Solidos Mitglied
 
 Beiträge: 328 Registriert: 26.06.2002 V5 R18
|
erstellt am: 22. Apr. 2009 17:35 <-- editieren / zitieren --> Unities abgeben:         
Also wenn ich Messpunkte setzen muss, dann kann ich auch gleich Punkte setzen und die dann mit Makro auslesen. Ich denke, die beste Lösung wäre, ein Makro zu schreiben, das an den Punkt-Verschneidungen gleich Punkte anfügt, so wären diese auch adaptive gegenüber veränderungen. So oder so, danke für eure Hilfe, das hat mich einige Schritte weiter gebracht. Gruss, Solidos ------------------ V5 R18 Zeit ist das, was man an der Uhr abliest. (Albert Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 22. Apr. 2009 17:39 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
Hallo, äh wie Messpunkte setzen. Du musst nur das Makro starten. Das Makro MACHT nur Messpunkte und ließt diese aus. D.h. nicht das du das mit der Hand machen musst ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ

 Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 23. Apr. 2009 01:15 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Apr. 2009 07:14 <-- editieren / zitieren --> Unities abgeben:          Nur für Solidos
|
Solidos Mitglied
 
 Beiträge: 328 Registriert: 26.06.2002 V5 R18
|
erstellt am: 23. Apr. 2009 08:42 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |