|
CATIA V5 Programmierung : Load/Unload eines Parts in einem Product
Smerg am 21.02.2010 um 15:25 Uhr (7)
Schön zu sehen, dass es bei dir funtkioniert. Jetzt weiß ich zumindest, dass es an CATIA liegt. Ein kleiner Schritt weiter. Händisch funtkioniert es, wie bereits erwähnt. Jedoch nimmt der Macrorecorder nichts Sinnvolles auf.Hat jemand eine Ahnung, was ich in CATIA ein-/umstellen muss. Bzw. welche Richtung ich witer recherchieren muss, damit das eigentlich funtkionierente Skript bei mir läuft. ------------------ODI PROFANUM VULGUS
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 10.09.2013 um 17:46 Uhr (1)
manuell funktioniert es bei mir.Hab mal den Makrorecorder im Testpart laufen lassen:Code:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet bodies1 = part1.BodiesSet body1 = bodies1.Item("PartBody")Set hybridBodies1 = body1.HybridBodiesSet hybridBody1 = hybridBodies1.Item("qwert")Set hybridShapes1 = hybridBody1.HybridShapesSet hybridShapePointCoord1 = hybridShapes1.Item("Point.4")part1.Inactivate hybridShapePointCoord1part1.UpdateObject hybridBody1End Subdamit funktionie ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Vektoren für DefineFrontView
TVcad am 01.04.2010 um 15:09 Uhr (0)
Hallo,also hier ist die Funktion:- Auswahl einer PlanarFace durch eine UserSelection- Rückgabe der Vektoren V1 u. V2 (zusammengefasst ein einem Array), oder False wenn das aktive Dokument kein PartDocument istCode:Public Function fctPlanarFaceVector() As Variant If TypeName(CATIA.ActiveDocument) "PartDocument" Then fctPlanarFaceVector = False Exit Function Else Dim sUserSel As String Dim aVector1(2) Dim aVector2(2) Dim aVector(5) Dim aSelectionType(0) D ...
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 09.09.2013 um 10:19 Uhr (15)
Hallo,arbeite mich gerade in die Makroprogrammierung ein. Bisherige Programmiererfahrung: VBA, C++, Matlab.Möchte zum Einstieg ein Makro programmieren, welches einen Body die Eigenschaft hide bzw. show ändern.Diverse Fachliteratur hat mir bis jetzt nicht weitergeholfen. In den Büchern gibt es zwar Beispiele, aber der Code wird finde ich nicht erklärt.Zur Info, Strukturbaum sieht so aus:Code:PartBody -- leerBody.2 -- Pad.1Body.3 -- Pad.2Mein erstes Problem ist die Auswahl. Damit ich eine Eigenschaft ändern ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
bgrittmann am 09.09.2013 um 12:49 Uhr (1)
ServusWas dir "getShow" zurückliefert kannst in der V5Automation.chm nachschauen. Ein Beispiel von dort:Code: Dim showstate As CatVisPropertyShow Set visProperties1 = CATIA.ActiveDocument.Selection.VisProperties visProperties1.GetShow showstate MsgBox "show = " & showstateGrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
bgrittmann am 09.09.2013 um 17:34 Uhr (1)
Servus"GeometricElements" sind AFAIR die Elemente in einer Skizze. Über de Methode "GeometricType" kann man von diesen den Typ ausgeben lassen.Allgemein geht das teilweise auch über "TypeName" also zB Element markieren und folgendes Script durchlaufen lassen:Code:Sub CATMain()Dim osel As ObjectSet osel = CATIA.ActiveDocument.SelectionMsgBox osel.Item2(1).Name & " = " & TypeName(osel.Item2(1).Value)End SubGrßBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
bgrittmann am 09.09.2013 um 21:50 Uhr (1)
ServusSchau dir dazu mal die Methode "GetGeometricalFeatureType" an:Code:Sub CATMain()Dim partDocument1 As partDocumentDim part1 As partDim hybridBody As hybridBodyDim hybridShapes1 As HybridshapesDim hybridShapeIntersection1 As HybridshapeDim hybridShapeFactory As hybridShapeFactorySet partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.partSet hybridBody = part1.hybridBodies.Item(1)Set hybridShapes1 = hybridBody.HybridshapesSet hybridShapeIntersection1 = hybridShapes1.Item("Verschneiden.2")Set ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 10.09.2013 um 11:18 Uhr (1)
hier ist mein Code mit dem es funktioniert:Code:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet hybridBodies1 = part1.HybridBodiesSet hybridBody1 = hybridBodies1.Item("abc")Set hybridBodies2 = hybridBody1.HybridBodiesSet hybridBody2 = hybridBodies2.Item("Geometrical Set.1")Set hybridShapes1 = hybridBody2.HybridShapesSet hybridShapeIntersection1 = hybridShapes1.Item("Intersect.1")Set hybridShapeFactory = part1.hybridShapeFactoryart=hybridShapeFactory.GetGeometricalFeat ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 10.09.2013 um 12:28 Uhr (1)
mit Code:set Selection1 = CATIA.ActiveDocument.Selectionselection1.Search "Name=Intersect.1,all"kann ich das Intersect selektieren, allerdings wie ich das mit Code:hybridShapeFactory.GetGeometricalFeatureType()"verbinde" ist mir noch nicht klarCode:hybridShapeFactory.GetGeometricalFeatureType(selection1.Search "Name=Intersect.1,all")funktioniert nicht
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 10.09.2013 um 12:58 Uhr (15)
das wars danke zu vollständigkeit hier mein Code:Code:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.Partset Selection1 = CATIA.ActiveDocument.Selectionselection1.Search "Name=Intersect.2,all"set intersect = selection1.item2(1).valueart=part1.hybridShapeFactory.GetGeometricalFeatureType(intersect)Select Case artCase "1" MsgBox "Intersect ist ein Punkt", vbOKOnly + vbInformationCase "3" MsgBox "Intersect ist eine Gerade",vbOKOnly + vbInformationCase Else MsgBox "Art des Inte ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
ferdo am 10.09.2013 um 15:24 Uhr (1)
Hallo,In CATScriptSub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.Partset Selection1 = CATIA.ActiveDocument.Selectionselection1.Search "Name=Intersect*,all"For i = 1 TO selection1.Countset intersect = selection1.item2(i).valueart=part1.hybridShapeFactory.GetGeometricalFeatureType(intersect)Select Case artCase "1"MsgBox "Intersection " & intersect.Name & " is a Point", vbOKOnly + vbInformationCase "3"MsgBox "Intersection " & intersect.Name & " is a Line",vbOKOnly + vbInformati ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 11.09.2013 um 09:11 Uhr (1)
ich bin davon abgekommen die Geosets zu Aktivieren bzw Deaktiveren sondern möchte die Sachen, welche zuvor darin waren programmieren.Denke so kann ich mehr lernen.Als einfachsten Fall dachte ich, nehme ich das Intersect als Referenz und mach einen Punkt mit X,Y,Z jeweils 0. Macht zwar keinen Sinn, da ich das Intersect gleich verwenden könnte, möchte das nur zum Verständis machenCode:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet Wzk3D = part1.HybridShapeFactorySet h_ ...
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 11.09.2013 um 09:55 Uhr (1)
Zitat:Original erstellt von bgrittmann:- über h_pkt.parent.parent das GeoSet auslesen wo sich die Verschneidung befindet und dort auch deinen Punkt erstellen (was passiert wenn mehre Elemente "Intersect.4" heißen??)super mit parent.parent konnte ich das Geoset auslesen :) Ich verwende in meinem eigentlichen Part keine Standardnamen. So kann ich halbwegs sichergehen, die Optimale Lösung ist das nicht. Dafür fehlt mir noch das Knowhow ;) Das hier ist mein Versuchspart.Hab nun parent.parent hinzugefügt.Allerd ...
|
In das Form CATIA V5 Programmierung wechseln |