|
CATIA V5 Programmierung : Part in Produktstruktur lokalisieren
tomtom1972 am 16.04.2007 um 11:41 Uhr (0)
Noch mal Hallo,im Anhang (pdf) findest du mal zur Veranschaulichung ein paar Screenshots von VB-WatchWindow (CATIA Sturuktur).1 Seite: Selection wenn InputObjectType(0) = "Part":Das .Parent der Selektion ist das Document, und das ist ein Item der CATIA.Documents. Von da aus kommst du über .Parent auf die Application selbst (CNext).2 Seite: Links oben: InputObjectType(0) = "Part", aber über .FindObject wieder auf die zugehörige Instanz ist das gleiche wie (rechts unten im Bild) von oben durch den Tree gewan ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in Produktstruktur lokalisieren
tomtom1972 am 16.04.2007 um 13:01 Uhr (0)
Hallo,"FindObject" ist eine Methode die zur Selection gehört.Damit kannst du Objekte ausfindig machen, zu welchen das selektierte Elemente gehört. Oder anders gesagt: Dein selektiertes Element ist immer auch Teil verschiedener anderer Objekte, die du dir mit Hilfe dieser Methode ausgeben lassen kannst.Bsp.: Teilfläche(BRep) ist Teil einer Surface ist Teil eines Parts gehört zu einer Instance etc. ....Immer den Automation Typ mit dem prefix "CATIA". Also z.B.:Suchst du das Solid, dann .FindObject("CATIAS ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : MultiOutput Elemente
tomtom1972 am 20.04.2007 um 20:28 Uhr (0)
Hallo dc_tke,du musst das Datum anders erzeugen und das Measurable des Punktes in deinem Code ist auch falsch.zu (1)Die Funktion zum Isolieren des Multi-Elemets, die du benötigst ist AddNewDatums(CATIAReference iElem) As CATSafeArrayVariant zu (2)Die Funktion zum Messen des Punktes ist GetPoint( CATSafeArrayVariant oCoordinates) Code:Sub CATMain()Set documents1 = CATIA.DocumentsSet partDocument1 = documents1.Add("Part")Set part1 = partDocument1.PartSet hybridBodies1 = part1.HybridBodiesSet hybridBod ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter aus Catia in eine Exceltabelle
tomtom1972 am 25.04.2007 um 07:03 Uhr (0)
Hi Sir Klabauter,Sub CATMain()Set objXL = CreateObject("Excel.Application")objXL.Visible = TrueSet oAWBook = objxl.Workbooks.Addwenn du die Zellen direkt ansprichst, geht das besser (=schneller) als über die SelektionobjXL.Cells(1,1).Value = "Test"sFileName = "C: est.xls"oAWBook.SaveAs sFileNameobjXL.QuitEnd SubGruß------------------tomtom1972[Diese Nachricht wurde von tomtom1972 am 25. Apr. 2007 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Masse_Schwerpunkt_von_Produkten
tomtom1972 am 12.06.2007 um 16:15 Uhr (0)
Hallo,das ist eigentlich schon ganz richtig. Die Frage ist nun nur, welches Object sich bei dir hinter "product" versteckt; deine Fehlermeldung gibt dir ja schon an, wo das Problem liegt. So gehts:Dim oInertia as ObjectSet oInertia = Catia.ActiveDocument.Product.GetTechnologicalObject("Inertia")Dim dMass As DoubledMass = oInertia.Mass --- MasseTomTom------------------tomtom1972[Diese Nachricht wurde von tomtom1972 am 12. Jun. 2007 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Problem mit SelectElement
tomtom1972 am 04.07.2007 um 06:57 Uhr (0)
Hallo,den Namen deiner Linie bekommst du über Catia.ActiveDocument.Selection.Item(n).Value.Parent.Name zurückIn der Selektion selbst (Catia.ActiveDocument.Selection.Item(n)) befindet sich kein Objekt, sondern ein Verweis auf ein Objekt, also eine Referenz. Unter ...Item(n).Reference.Name ist also das selbe zu finden wie unter ...Item(n).Value.Name, nämlich der BRep-Name des selektierten Elements, etwas in der Art von: "Selection_WireREdge Wire Brp GSMLine.1);None Limits1 );Limits2 ));Cf11 ));GSMLine ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : In Verzeichnis mit vielen Produkten, das Rootproduct herausfinden
tomtom1972 am 11.07.2007 um 07:02 Uhr (0)
Hallo,das ganze funktioniert sehr einfach nach folgendem Prinzip:Jedes .CATProduct enthält die Information, welche Modelle in ihm verbaut sind. Bestimmte Informationen sind nun im Binär-Code so hinterlegt, das sie ohne CATIA ausgelesen werden können. Manuell lässt sich das wie folgt durchführen: Im Windows-Explorer (oder sonst wo) ein CATIA Modell anwählen, Rechte Maustaste Öffnen mit WordPad (oder was ähnliches). Da lacht dich dann der Binär Code an (hexadezimal) wobei einiges in Echt-Text (also unversc ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroaufruf dauert lange bei großen Baugruppen
tomtom1972 am 21.07.2007 um 13:19 Uhr (0)
Hallo,du kannst über eine selbst erzeugte Toolbar (Werkzeugkasten) ein Makro dirket aufrufen (wie jeden anderen CATIA Befehl auch), indem du ihm ein Icon zuweist und dieses in die Tollbar schiebst. Da sucht CATIA dann überhaupt nicht in den geöffneten Parts nach Scripten. Irgendwie verstehe ich deine ganze Frage nicht.GRuß TomTom------------------tomtom1972
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Copy / Paste in einer Produkt-Part-Struktur
tomtom1972 am 02.08.2007 um 06:24 Uhr (0)
Hallo,Versuche das was du ganz oben beschreibst doch mal manuell durchzuführen, das funktioniert ja schon nur, wenn du CATIA "austrickts"; das Problem ist doch ein ganze anderes, wie Mörchen in seiner/ihrer ersten Antwort schon schreibt: Du erzeugst einen Loop, wenn du aus B ein Object in C kopierts (mit Link) und dann von C wieder in B (ebenfalls mit Link). Wer ist den dann die Referenz von wem (auf Part-Ebene)? Wenn "meine" User so was machen bekommen sie eine auf die Finger Gruß TomTom----------------- ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Filter für Selection.SelectElement2()
tomtom1972 am 12.08.2007 um 06:53 Uhr (0)
Hallo,du lässt ja in deinem Filter sowohl sketches als auch GeoSets zur Auswahl zu. Daher das Problem. Versuchs mit:Dim filter2(0)filter2(0) = "Sketch"Set oUSel = CATIA.ActiveDocument.SelectionoUSel.SelectElement2 (filter2, sMsg, true)und du hast keine Probleme mehr.Gruß TomTom ------------------tomtom1972
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Powercopy per Script ausführen - KT1 Lizenz
tomtom1972 am 09.09.2007 um 08:20 Uhr (0)
Hallo,um eine PowerCopy wie oben beschrieben per Script auszuführen ist leider wirklich die KT1 Lizenz notwendig.Ohne die Linzenz geht es per Script nur mit Hilfe des Catia.StartCommand. Zwar unschön, aber es läuft.Gruss TomTom------------------tomtom1972
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroausführung testen
tomtom1972 am 28.09.2007 um 09:19 Uhr (0)
Hallo,wenn das Problem lediglich die nicht zu kontrollierenden Finger des Users sind prbiere es doch einmal damit:Catia.Interactive = FalseDann kann der User klicken wie ein Weltmeister: Catia reagiert nicht mehr.Am Ende wieder ein Catia.Interactive = True und weiter gehts.Lediglich ein Errorhandling muss du noch einbauen: wenn das Makro abbricht oder sich aufhängt muss du gewährleisten, das Catiawieder ansprechbar ist. Sonst bleibt nur noch das Kill im Task...Gruß TotmTom------------------tomtom1972
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Skript im Hintergrund laufen / warten lassen
tomtom1972 am 22.11.2007 um 07:18 Uhr (0)
Moin FiRo,mit CATScript oder anderen Makros, die in CATIA selbst ablaufen, kommst du nicht weit. Mit VB6.0 oder .NET kannst du umsetzten, was du ganz oben beschreibst, da die Scripte hier als eigenständiger Prozeß (also aussehrhalb von CATIA) ablaufen und selbiges nicht zwangsweise blockieren. Bsp. nebenstehend. Frm.frm ist der Quellcode (in VB6), Test.exe die ausführbare Datei, falls du kein VB hast.Hoffe es ist das, was du suchst.Gruß TomTom------------------tomtom1972
|
In das Form CATIA V5 Programmierung wechseln |