|
CATIA V5 Programmierung : Pfad eines CATProducts auslesen
Antelito am 12.02.2020 um 09:11 Uhr (1)
Hallo,in VB steht proddoc für das ProductDocumentCode:Dim proddoc As ProductDocumentin C# kann ich den Pfad eines CATParts wie folgt auslesen:Code:CATIAapp = (INFITF.Application)Marshal.GetActiveObject("CATIA.Application");productDoc = (ProductDocument)CATIAapp.ActiveDocument;String path;Product prodProduct = productDoc.Product;path = prodProduct.ReferenceProduct.GetMasterShapeRepresentationPathName();Sollte das ReferenceProduct ein CATProduct sein, dann bekomme ich einen Fehler, den ich in einem catch blo ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Speichern von VBA-Projekt nicht möglich
Randle am 13.02.2020 um 10:55 Uhr (1)
Hallo,ich denke was helfen könnte ist den CATVBAHost Prozess zu beenden. Wäre einen Versuch wert. Allerdings ist damit (spätestens) ab R24 vorbei. Dann läuft das VBA innerhalb des CNEXT Prozesses. Dann hilft nur noch CATIA neu starten.Ob man aus CATIA heraus die VBA Dateien auf dem Fileserver schließen kann weiß ich nicht sicher. Könnte ich mir schon vorstellen.GrußRandle------------------Wer für nichts steht, fällt für alles!
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 25.02.2020 um 14:24 Uhr (1)
Also: Ich habe eine Zeichnung/Drawing in CATIA. Es gibt bei uns eine Vielzahl von Normen, von denen aber nur einige wenige auf der Zeichnung zu finden sind. Wichtig ist nur der Name der Norm, z.B. XY123. Die auf der Zeichnung vorhandenen Normen werden in einer Tabelle auf der Zeichnung zusammengefasst. Ich möchte nun ein Makro programmieren, dass die vorhandenen Normen auf der Zeichnung erfasst und diese anschließend ausgibt, sodass man nicht jede einzelne Norm auf der Zeichnung suchen muss, sondern direkt ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
Randle am 25.02.2020 um 15:35 Uhr (1)
Hallo,hier ungetestet.Code:Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then For Each oDrwText In oDrwView.Texts If oDrwText.Text = "DEIN TEXT" Then # was auch immmer damit dann passieren soll End Next End If NextNextEnd SubGrußRandle------------------Wer ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 25.02.2020 um 16:00 Uhr (1)
Alles klar, vielen, vielen Dank!Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then For Each oDrwText In oDrwView.Texts If oDrwText.Text = "1234" Then MsgBox = "1234" End If End Next End If NextNextEnd SubBei mir hat er nun mit der MsgBox Probleme: Er ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Fit All In auf allen Zeichungsblättern
Randle am 26.02.2020 um 10:09 Uhr (1)
Hallo,was das aktivieren der Zeichnungsblätter angeht, versuche es doch mal so...Code:Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets oDrwSheet.Activate NextEnd SubGrußRandle------------------Wer für nichts steht, fällt für alles!
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 09:26 Uhr (1)
Vielen Dank für deine Antwort. Kannst du mir sagen, wo und wie ich den Quellcode ändern muss, um auf die Textboxen im "Sheet Background" zuzugreifen?Aktuell greift er nämlich nur auf die "Drawing View" zu.Vielen DankSub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextDim auto As VariantSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then F ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 10:12 Uhr (1)
Besten Dank für die schnelle Antwort. Ich habe den Quellcode nun etwas umgebaut: For I = 1 To CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Count If (CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Item(I).Text = "Zeichnungsnummer") Then Z_Nummer = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(2).Texts.Item(I).Text MsgBox Z_Nummer Exit For End IfNextProblem ist aber noch, dass er halt genau nach dem Wort sucht, wie du schon gesagt hast. Allerdings stehen die Normen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 10:40 Uhr (1)
Danke für deinen Tipp. Mein Quellcode sieht nun wie folgt aus:Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets For Each oDrwView In oDrwSheet.Views If oDrwView.Texts.Count 0 Then For Each oDrwText In oDrwView.Texts If InStr(oDrwText.Text, "50181") 0 Then MsgBox "Zeichnungsnummer" End If If InStr(oDrwText.Text, "12345") 0 ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Herauslesen von Normen aus Zeichnung
davidmeyer98 am 27.02.2020 um 11:35 Uhr (1)
Ja, das weiß ich. Danke. Wenn eine Textbox auf der Zeichnung zu finden ist, funktioniert es jetzt auch zuverlässig. Wenn sich allerdings mehrere Textboxen auf der Zeichnung zu finden sind. Funktioniert es nicht mehr, obwohl er ja eigentlich jede Textbox durchgehen sollte. Oder sind die If-Schleifen falsch gesetzt?Sub CATMain()Dim oDrwDoc As DrawingDocumentDim oDrwSheet As DrawingSheetDim oDrwView As DrawingViewDim oDrwText As DrawingTextSet oDrwDoc = CATIA.ActiveDocumentFor Each oDrwSheet In oDrwDoc.Sheets ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Kollisions-Analyse
karls0n am 16.03.2020 um 14:18 Uhr (1)
Hallo Bernd,vielleicht erkläre ich das Problem auch nicht hinreichend genug oder ich sehe bei deinen Vorschlägen den Wald vor lauter Bäumen nicht. Im angehängten Bild habe ich den Schnittbereich gekennzeichnet und mit einem roten Doppelpfeil die Distanz, die ich gerne haben möchte. Das Rohr hat einen Durchmesser von 15mm, was in diesem Fall auch der maximalen Durchdringung (in z-Richtung) von der Wellengeometrie entspricht, da diese am oberen Ende vom Rohr austritt. Nun überlege ich schon seit einer Wei ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Kollisions-Analyse
karls0n am 16.03.2020 um 11:54 Uhr (1)
Hallo Bernd,danke für die lieben Willkommenswünsche. An deine Idee hatte ich auch bereits gedacht aber leider machen mir bestimmte Geometrien / Kombinationen von Geometrien einen Strich durch die Rechnung. Habe nochmals ein Bild angehängt, um den Sachverhalt zu veranschaulichen. Das Rohr kann ich bei der Wellengeometrie leider nicht in z-Richtung "nach oben wandern" lassen, sodass es keine Kollision mehr gibt, da es dann im rechten Bereich weiterhin zu einer Kollision kommen wird. Somit würde ich dann nich ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Kollisions-Analyse
karls0n am 16.03.2020 um 10:26 Uhr (1)
Guten Morgen,im Rahmen meiner Bachelorarbeit befasse ich mich momentan mit der Automatisierung von Kollisionen innerhalb einer Fahrzeug-Baugruppe mittels VBA Programmierung.Insbesondere ist hierbei der Abstand von den kollidierenden Bauteilen zueinander von Bedeutung, was mich nun zu meiner Problemstellung bringt:Laut der Beschreibung von Catia (und diversen eigenen Tests ) wird bei einer Clash-Analyse immer die kürzestes Distanz der jeweiligen Achsrichtung angegeben, die benötigt wird, um die kollidieren ...
|
In das Form CATIA V5 Programmierung wechseln |