|
CATIA V5 Programmierung : Funktion aus Makro heraus starten
pittyplatsh am 20.11.2009 um 15:43 Uhr (0)
Kommt drauf an wie die Anwendung sein soll:Du kannst natürlich sämtliche Tools von Catia per Macro aufrufen überCode:CATIA.StartCommand("Tool")In den Anführungszeichen steht dann der Name des Tools, welches gestartet werden soll. Damit wird nur das Tool gestartet und der User muss eventuelle weitere Eingaben wie gewohnt vornehmen. Die Namen sämtlicher Tools sind meines Wissens nicht dokumentiert und müssen ein wenig durch probieren, überlegen herausgefunden oder in den Installationsdateien gesucht werden.D ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 04.11.2009 um 22:20 Uhr (0)
Wie genau funktioniert der Section.Export?Habe versuchsweise mal eingetippt:Code:Dim PartDoc As DocumentSet PartDoc = sectionSelection.ExportsectionSelection ist meine Section. Das Macro läuft sauber durch, jedoch passiert nichts. Er meckert zwar nicht am Code, macht aber auch nichts. Habe es mit den Einstellungen Update, Manuell Update und Freeze probiert. Da auch hier die Dokumentation mit Informationen nicht grade verschwenderich umgeht, weis ich nicht woran es liegt.Weis einer Rat? Übersehe ich irgende ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Messen, maximalen Abstand
pittyplatsh am 10.11.2009 um 18:49 Uhr (0)
Mh... wenn du unbedingt die Maximale Distance messen möchtest wirst du das über einen Trick machen müssen (fällt mir jetzt mal spontan ein, würde aber nicht für Flächen funktionieren).Lasse per Macro auf beiden Elementen viele Punkte erzeugen, je mehr desto genauer die Messung, aber desto mehr Rechenkapazität notwendig. Dann jeden Punkt des einen Elementen zu allen Punkten des anderen Messen. Alle Werte zwischenspeichern und am Ende den betragsmäßig größten heraussuchen.Oder aber vlt aus möglich: Erzeuge m ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 26.10.2009 um 21:04 Uhr (0)
Hallo zusammen,ich bin derzeit dabei ein Macro zu schreiben, welches mir Schnitte von 3D-Geometrien erzeugt. Jedoch habe ich noch keinen wirklichen Ansatz gefunden wie ich dieses Realisieren soll (keine nützlichen Methoden in der Dokumentation und der Ziehten steigt bei solches Angelegenheiten schon längst aus).Die Basis soll ein Sketch sein, in dem die Schnittlinie gezeichnet wurde.Nun soll ein Schnitt erzeugt werden (Section), der orthogonal auf dem SketchSupport liegt und in der Breite genau der Linie e ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 26.10.2009 um 21:04 Uhr (0)
Hallo zusammen,ich bin derzeit dabei ein Macro zu schreiben, welches mir Schnitte von 3D-Geometrien erzeugt. Jedoch habe ich noch keinen wirklichen Ansatz gefunden wie ich dieses Realisieren soll (keine nützlichen Methoden in der Dokumentation und der Ziehten steigt bei solches Angelegenheiten schon längst aus).Die Basis soll ein Sketch sein, in dem die Schnittlinie gezeichnet wurde.Nun soll ein Schnitt erzeugt werden (Section), der orthogonal auf dem SketchSupport liegt und in der Breite genau der Linie e ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Item auslesen
pittyplatsh am 19.11.2009 um 18:57 Uhr (0)
Code:Sub CATMain()Dim produkt As ProductSet produkt = CATIA.ActiveDocument.ProductDim filter(0)filter(0) = "AnyObject"Dim b As ObjectDim sel As StringDim usersel As SelectionSet usersel = CATIA.ActiveDocument.Selectionsel = usersel.SelectElement2(filter, "Bitte Teil selektieren", False)If sel = "Normal" Then Selektion war erfolgreich, "Cancel" zb bei Abbruch ...Set b = usersel.Item(1).Value um zum selektieren Objekt zu gelangenMsgBox(b.Name) Gibt den Namen des Objektes ausEnd IfEnd SubDas SelectedElement i ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 08.11.2009 um 15:49 Uhr (0)
So, nun habe ich wirklich das Gefühl dass sich ein wenig auf den Lorbeeren ausgeruht wird. Die Makroprogrammierung ist in R19 ja nur schlimmer anstatt besser geworden.Code:Dim Selempty As StringIf (TypeName(selectedItems.Item(1).Value) = "Section") Then Selempty = selectedItems.Item(1).Value.IsEmpty MsgBox(Selempty)End IfWas würde man von dem Code erwarten? In einer Selektion werden die Typen der Elemente geprüft, wenn es sich um eine Section handelt wird daraf .IsEmpty ausgeführt. Wenn ich das direkt auf ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 06.11.2009 um 19:49 Uhr (0)
Warum muss die Makro-Programmierung von CATIA nur immer so umständlich sein?Habe den Objektvergleich gelöst (If ... Is ... Then).Allerding gleich auf das nächste Problem aufgelaufen. Wie kann ich eine Section updaten, ohne dabei das gesamte Product durch ein Update zu schicken? UpdateObject gibts ja nur innerhalb den Parts und die simple Lösung Section.Update scheint wohl wieder zu trivial gewesen zu sein.Danke für eventuelle Antworten,pitty
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Section Create
pittyplatsh am 05.11.2009 um 20:44 Uhr (0)
Nächstes Problem.Ich möchte zwei Objekte miteinander vergleichen, ob es sich dabei um das gleiche Objekt handelt.Hintergrund: User selektiert eine Group. Alle mit dieser Group verbundenen Sections (Section.Group) sollen herausgefunden werden für ein Update.Die Unterscheidung kann leider nicht anhand des Namens erfolgen. Aber CATIA schafft es ja auch gleichnamige Objecte zu unterscheiden. Also gibt es ein eineindeutiges Merkmal jeden Objektes. Das denke ich werde ich vergleichen müssen.[Diese Nachricht wurd ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Funktion aus Makro heraus starten
pittyplatsh am 20.11.2009 um 16:08 Uhr (0)
Habe mich leider damit in der Makro-Programmierung noch nicht viel beschäftigt. Mir schwirren aber 2 Gedanken im Kopf rum:1) Ein Tool gibt sicherlich an CATIA einen Befehl zurück dass dieses weiterarbeiten kann. Vlt kann man diesen Befehl ebenfalls nutzen?2) Du könntest eine MsgBox aufploppen lassen die dir jedoch erlaubt im Hintergrund weiterzuarbeiten (Gibt es im VisualBasic eine Eigenschaft dafür). Nach ausgeführter Funktion wird diese noch mit OK bestätigt und weiter gehts im Text.Oder aber wie schon b ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dateinamen auslesen
pittyplatsh am 10.11.2009 um 20:06 Uhr (0)
Mit welcher Fehlermeldung bricht CATIA denn ab?Habe es eben mal ausprobiert:Struktur:Produkt |_ CGR |_ Part |_ ProduktCode:Sub CATMain()Dim documentRoot As DocumentSet documentRoot = CATIA.ActiveDocumentDim productRoot As ProductSet productRoot = documentRoot.ProductMsgBox(productRoot.Products.Item(1).GetMasterShapeRepresentationPathName)MsgBox(productRoot.Products.Item(2).GetMasterShapeRepresentationPathName)MsgBox(productRoot.Products.Item(3).GetMasterShapeRepresentationPathName)End SubBeim CGR und dem P ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : DMU Review
pittyplatsh am 23.10.2009 um 17:10 Uhr (0)
Hallo wiedermal alle zusammen,schon wieder stoße ich an meine Grenzen und finde weder in der Dokumentation noch über Google eine Ansatzweise mögliche Lösung:Ich möchte ein Review erstellen (Ordner aus DMU Navigator oder Space Analysis). Jedoch finde ich einfach keine dafür Methoden dafür. Habe jetzt schon einfach den Befehl selbst ausgeführt (CATIA.StartCommand ("Review"). Damit habe ich wenigstens einen drin.Nun gehts aber daran diesen umzubenennen... Man kann zwar unter den Optionen die Voreinstellungen ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bohrungen innerhalb einer Selection modifizieren
pittyplatsh am 19.11.2009 um 18:40 Uhr (0)
Was ich mich gerade Frage ist, warum du so einen umständlichen Weg gehst?ThreadlistM12.Item(I).Value ist das Objekt Hole, welches du modifizieren möchtest. Du lässt dir den Namen ausgeben (Namen sind Zeichenketten, also vom Typ String) suchst den Body und dann innerhalb des Bodys über den Namen wieder das Objekt...Code:ThreadlistM12.Item(I).Value.Type würde da sicherlich reichen. Und du hast auch keine Probleme wegen Namen (diese sind ja nicht zwingend eineindeutig).Alternativ würde ich, wenn kein Weg dran ...
|
| In das Form CATIA V5 Programmierung wechseln |