|
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 |
 |
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 11.09.2013 um 10:04 Uhr (1)
die Fehlermeldung hab ich als Anhang angehängt.Die Fett markierte Zeile ist esCode:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet Wzk3D = part1.HybridShapeFactorySet h_pkt = part1.FindObjectByName ("Intersect.1")Set ref = part1.CreateReferenceFromObject (h_pkt)set Pkt = Wzk3D.AddNewPointCoordWithReference (0,0,0,h_pkt)Set HBody = part1.HybridBodies.Item (h_pkt.parent.parent.name)HBody.AppendHybridShape PktPart1.UpdateEnd Sub
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
DasDon am 11.09.2013 um 10:18 Uhr (1)
mein fehler!part.HybridBodies listet nur alle HYBodies die auf level1 des Baumes sind! Um es einfach zu halten würde ich es so machenCode:Sub CATMain()Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet Wzk3D = part1.HybridShapeFactorySet h_pkt = part1.FindObjectByName ("Intersect.2")Set ref = part1.CreateReferenceFromObject (h_pkt)set Pkt = Wzk3D.AddNewPointCoordWithReference (0,0,0,h_pkt)Set HBody = part1.FindObjectByName (h_pkt.parent.parent.name)HBody.AppendHybridShape PktPart1.Up ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
N2high am 11.09.2013 um 10:30 Uhr (1)
danke so klappts Wo kann man des nachschauen, dass es nur auf Level 1 gilt?In der Catia Hilfe hab ichs nicht gefunden
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makroprogrammierung Startschwierigkeiten
DasDon am 11.09.2013 um 10:38 Uhr (1)
moin,ich habe mir im VBA Editor part1 als Watch Objekt hinzugefügt und dann gesehen das unter Hybridbodies nur 2 Elemente waren, Nämlich 123 und Geometrical_Set.2.Ich würde dir empfehlen den VBA Editor zubenutzen bei schwerigkeiten. Ich habe das CATIA Macro scripten ohne ihn gelernt, aber gerade am amfang spart es viel Zeit beim Debuggen. Einfach das WatchTool fenster benutzen.Gruß,Dean
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Flächen : Trichter Abwicklung
wott am 16.11.2009 um 18:29 Uhr (0)
... Offensichtlich ja,mir der Symbolleiste "Fertigungsvorbereitung und darin DXF" exportierte Catia wieder ...
|
In das Form CATIA V5 Flächen wechseln |