Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Ausgabe Überschneidungsergebnis als Datei

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Ausgabe Überschneidungsergebnis als Datei (3392 mal gelesen)
steirerhubsi
Mitglied
wiss. Mitarbeiter


Sehen Sie sich das Profil von steirerhubsi an!   Senden Sie eine Private Message an steirerhubsi  Schreiben Sie einen Gästebucheintrag für steirerhubsi

Beiträge: 36
Registriert: 02.04.2003

erstellt am: 14. Apr. 2003 13:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich will das Ergebnis einer autom. durchgeführten Überschneidungsanalyse als Datei ausgeben. Die Analyse führe ich folgendermaßen durch:

' Retrieve the Clashes collection
Dim cClashes As Clashes
Set cClashes = CATIA.ActiveDocument.Product.GetTechnologicalObject("Clashes")

' Create a clash with all components and compute it
Dim oClash As Clash
Set oClash = cClashes.AddFromSel
oClash.ComputationType = catClashComputationTypeBetweenAll
oClash.InterferenceType = catClashInterferenceTypeContact
oClash.Compute

Jetzt möchte ich das Ergebnis als TEXT-Datei ausgeben (Das Text-Format kann man ja auch in CATIA per Hand auswählen)! Mit

Dim ThePath As String
oClash.Export CatClashExportTypeXMLResultOnly, "c:\tmp\sample.xml"

bekomme ich eine XML-Datei. Und für den "CatClashExportType" wird in der Hilfe nur folgendes angegeben:

CatClashExportType (Enumeration)
enum CatClashExportType {
  CatClashExportTypeXMLResultOnly
}

The different types of clash export.
It is used by the Clash and ClashResult objects to specify the export type.
Values:
CatClashExportTypeXMLResultOnly
The export is done using XML format with only the result data

Mit welchem "CatClashExportType" bekomme ich eine Text-Datei?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

listing_code
Mitglied



Sehen Sie sich das Profil von listing_code an!   Senden Sie eine Private Message an listing_code  Schreiben Sie einen Gästebucheintrag für listing_code

Beiträge: 45
Registriert: 27.10.2003

erstellt am: 28. Okt. 2003 11:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für steirerhubsi 10 Unities + Antwort hilfreich

hi
dieses Problem versuche ich auch gerade zu lösen
mfg
l_c

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

steirerhubsi
Mitglied
wiss. Mitarbeiter


Sehen Sie sich das Profil von steirerhubsi an!   Senden Sie eine Private Message an steirerhubsi  Schreiben Sie einen Gästebucheintrag für steirerhubsi

Beiträge: 36
Registriert: 02.04.2003

erstellt am: 28. Okt. 2003 13:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ich hab ganz auf die automatische ausgabe verzichtet und einfach die befehle im VB verwendet, um die einzelnen kollisionen auszugeben. das ist etwas umständlicher, aber wenn man in einer schleife (clash, count) alle durchgeht, kann man jeden beliebigen parameter (type, bauteil 1, bauteil 2, länge,...) in eine textdatei schreiben.

mfg

martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

listing_code
Mitglied



Sehen Sie sich das Profil von listing_code an!   Senden Sie eine Private Message an listing_code  Schreiben Sie einen Gästebucheintrag für listing_code

Beiträge: 45
Registriert: 27.10.2003

erstellt am: 31. Okt. 2003 12:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für steirerhubsi 10 Unities + Antwort hilfreich

hi
danke für den hinweis,
da ich aber ein bekennender Anfänger im scripting bin,
konnte ich hiermit nichts anfangen.
...es wäre nett wenn ich mehr erfahren würde...
z.B.: wie die befehle genau aussehen
danke
mfg l_c

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

steirerhubsi
Mitglied
wiss. Mitarbeiter


Sehen Sie sich das Profil von steirerhubsi an!   Senden Sie eine Private Message an steirerhubsi  Schreiben Sie einen Gästebucheintrag für steirerhubsi

Beiträge: 36
Registriert: 02.04.2003

erstellt am: 03. Nov. 2003 13:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Hier ein paar Teile meines Makros. Zuerst die Variablen erzeugen:

Dim oDocuments As Documents
Dim oProductDocument As ProductDocument
Dim oProduct As Product                   
Dim Clashes1 As Clashes
Dim Clash_fix_versch As Clash
Dim oConflicts1 As Conflicts
Dim oConflict1 As Conflict
Dim FileNum As Integer

'Document,... zuweisen:

Set oDocuments = CATIA.Documents
Set oProductDocument = CATIA.ActiveDocument
Set oProduct = oProductDocument.Product   

'Kollisionen im Product:

Set Clashes1 = oProduct.GetTechnologicalObject("Clashes")

'Kollisionsanalyse zuweisen mit Namen der VORHER
'definierten Kollisionsanalyse "Konflikt_1"
'(man kann natürlich auch eigene Kollisionen erzeugen,...)

Set Clash_fix_versch = Clashes1.Item(Konflikt_1)

'Kollisionen neu berechnen; evtl. vorher ein "oProduct.Update":

Clash_fix_versch.Compute

'Ergebnisse zuweisen:

Set oConflicts1 = Clash_fix_versch.Conflicts

'Kollisionen durchgehen, hier kann man natürlich auch die Ergebnisse
'direkt in Textdatei ausgeben:

For m = 1 To oConflicts1.Count
  Set oConflict1 = oConflicts1.Item(m)

  If oConflict1.Type = 0 Then
      Value1 = oConflict1.Value             
  End If
Next m

'Dateien bearbeiten:
'für Windows-Systeme:
'Zugriff auf FileSystem-Objekt (Dateien bearbeiten: löschen, kopieren)
Set fs = CreateObject("Scripting.FileSystemObject")   

'Datei öffnen und Ergebnisse hineinschreiben

FileNum = FreeFile()
Open "c:\Temp\ergebnis_konflikt.txt" For Output As FileNum

' "... For Append As FileNum", wenn man nur Ausgabe an bereits
' vorhandenen Dateiinhalt anhängt

Print #FileNum, "Wert" & Value1
Close #FileNum

   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas_79
Mitglied



Sehen Sie sich das Profil von Thomas_79 an!   Senden Sie eine Private Message an Thomas_79  Schreiben Sie einen Gästebucheintrag für Thomas_79

Beiträge: 17
Registriert: 13.02.2003

erstellt am: 11. Mrz. 2004 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für steirerhubsi 10 Unities + Antwort hilfreich

Hallo,

hat jemand schonmal automatisiert eine xml-Datei als Export erzeugt.
Bei mir funktioniert das nicht. Ich erhalte wohl eine XML-Datei, kann sie aber nicht öffnen.
Im Vergleich zur manuellen Verschneidungsüberprüfung fehlen einige Dateien im Export, wie z. B. ClashGrammar.dtd.

Bin für jeden Ratschlag dankbar.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas_79
Mitglied



Sehen Sie sich das Profil von Thomas_79 an!   Senden Sie eine Private Message an Thomas_79  Schreiben Sie einen Gästebucheintrag für Thomas_79

Beiträge: 17
Registriert: 13.02.2003

erstellt am: 11. Mrz. 2004 15:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für steirerhubsi 10 Unities + Antwort hilfreich

Ich führe automatisiert eine Kollisionsuntersuchung durch.
Dabei ändere ich die Parameter zweier Blöcke in einem Produkt
fortlaufend über eine Schleife und möchte hinterher wissen, wo Kollisionen auftraten.

Anschließend schreibe ich alle Kollisionen in eine Textdatei.

Leider werden dabei nicht alle Kollisionen erkannt.

Ich habe jetzt eine Messagebox eingebaut, die aufpoppt, wenn eine neue Kollisionsuntersuchung ansteht. Warte ich nun nach der Veränderung der Geometrie solange, bis das Update des Products abgeschlossen ist, werden alle Kollisionen erkannt.
Dies ist jedoch nur eine Notlösung.

Wie kann ich im Skript dafür sorgen, dass die Kollisionsüberprüfung erst beginnt, sobald das Product aktualisiert wurde??

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Petermaen
Mitglied


Sehen Sie sich das Profil von Petermaen an!   Senden Sie eine Private Message an Petermaen  Schreiben Sie einen Gästebucheintrag für Petermaen

Beiträge: 4
Registriert: 22.01.2008

UNIX Workstation, PC XP64Bit

erstellt am: 07. Jun. 2010 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für steirerhubsi 10 Unities + Antwort hilfreich


Hallo,
etwas spät aber gibt es hier noch was neues zu diesem Thema??

Ich versuche gerade clash value, FirstProduct, SecondProduct
und die Coordinaten in ein Text File heraus zu schreiben.

Bei dem value hat es mit einer MsgBox geklappt, aber beim FirstProduct und SecondProduct klappt es nicht.

Script:

Sub CATMain()

Set oProductDocument = CATIA.ActiveDocument
Set oProduct = oProductDocument.Product
         
Set Clashes1 = oProduct.GetTechnologicalObject("Clashes")
Set Groups1 = oProduct.GetTechnologicalObject("Groups")

Set Clash = Clashes1.Add
Clash.ComputationType = catClashComputationTypeBetweenTwo
           
Clash.InterferenceType = catClashInterferenceTypeClearance
Clash.Clearance = 20
           
Set FirstGroup = Groups1.Item(1)      'oder ...Groups1.Item("Gruppe1")
Clash.FirstGroup = FirstGroup
   
Set SecondGroup = Groups1.Item(2)    'oder ...Groups1.Item("Gruppe2")
Clash.SecondGroup = SecondGroup
Clash.Compute

Set Clash_fix_versch = Clashes1.Item(Clash)

Clash_fix_versch.Compute

Set oConflicts1 = Clash_fix_versch.Conflicts

For m = 1 To oConflicts1.Count
  Set oConflict1 = oConflicts1.Item(m)

If oConflict1.Type = 0 Then
    MsgBox oConflict1.value
End If
Next

Clash.Export CatClashExportTypeXMLResultOnly, "/tmp/clash-export"

End Sub

Danke

MFG Petermaen


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz