Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Dimension mit Toleranzen nach excel auslesen

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:  Dimension mit Toleranzen nach excel auslesen (3019 mal gelesen)
cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 10. Mrz. 2009 11:58    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 Forum,

das Script:

Language="VBSCRIPT"
Sub CATMain()
Dim InputObjectType(0) As String
set document = CATIA.ActiveDocument
If TypeName(document)="DrawingDocument" then
Set oSelection = document.Selection
oSelection.Search "CATDrwSearch.DrwDimension.DimensionType=DrwDimDistance,scr"
WriteTxTFile(oSelection)
oSelection.clear
Else
End If
End Sub

Sub WriteTxTFile(oSelection)
Dim sPath As String
Dim sTime As String
Dim sName As String
Dim sFile As String

documentname = CATIA.ActiveDocument.Name
position = InStr(documentname,".CATDrawing")
position = position -1
documentname = Left(documentname,position)

username = CATIA.SystemService.Environ("USERNAME")
sPath = "\\c0win116\team\TC\PPT\CAD\Smarteam\" & username & "\work"
sName = "\DrawingDimension_" & documentname & ".csv"     
sFile = sPath & sName

Set oFileOut = CATIA.FileSystem.CreateFile(sFile,TRUE)
Dim oStream As TextStream
Set oStream = oFileOut.OpenAsTextStream("ForWriting")

For i=1 to oSelection.count
Set Dimension = oSelection.Item(i).Value
oStream.Write Dimension.GetValue.Value & vbCrLf
Next

oStream.close

End Sub


schreibt mir alle Längenbemassungen einer Zeichnung in ein csv sheet.
FRAGE: gibt es die Möglichkeit die Toleranzen auch zu exportieren?

G    Norbert

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 10. Mrz. 2009 23:35    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 cmb 10 Unities + Antwort hilfreich

Hallo cmb,

die Sub ".GetTolerances" von "Dimension" kann Dir verschiedene Infos herausschreiben. Allerdings ist das nicht so komfortabel wie bei der Function ".GetValue"! D.h., Du musst die Infos, die die Sub ausliest, bewerten und verarbeiten, um sie dem Stream fürs Excel mitgeben zu können.

Näheres dazu in der Doku zu V5-Automation oder in Tests...


mfg,
Lusilnie


------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

[Diese Nachricht wurde von Lusilnie am 10. Mrz. 2009 editiert.]

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 11. Mrz. 2009 15:39    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 Lusilinie,

habe mir überlegt die beiden Toleranzwerte in ein Array zu übernehmen, aber das scheint nicht der richtige Weg zu sein.


Dimension.GetTolerances oTolType,oTolName,oUpTol,oLowTol,odUpTol,odLowTol,oDisplayMode
msgbox ("Upper tolerance  ") & odUpTol
msgbox ("lower tolerance  ") & odLowTol
Dim Value02
Value02 = Array(odUpTol,odLowTol)


die beiden msgbox geben den richtigen Wert an aber die Zeile
Value02 = Array(odUpTol,odLowTol) gibt mir immer eine Fehlermeldung aus. Kompilierungsfehler Beschreibung: ')' erwartet
Kann es sein das ein Array hier gar nicht der Richtige ansatz ist?

G Norbert

[Diese Nachricht wurde von cmb am 11. Mrz. 2009 editiert.]

[Diese Nachricht wurde von cmb am 11. Mrz. 2009 editiert.]

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 11. Mrz. 2009 16:29    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

Habe einen Ansatz wie ich meine Dimension in einen String bekomme:

Dim Eingabe (3)
Dim Ausgabe
Eingabe (0) = DimensionValue
Eingabe (1) = "+"
Eingabe (2) = odUpTol
Eingabe (3) = odLowTol
Ausgabe = Join (Eingabe)

leider läuft der Wert Dim Eingabe (3) bei einem Schleifendurchlauf beim zweiten Maß auf einen Fehler.


Gruß Norbert

[Diese Nachricht wurde von cmb am 11. Mrz. 2009 editiert.]

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


Ex-Mitglied

erstellt am: 12. Mrz. 2009 12:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo Norbert,

versuch es mal auf diese Art.

.....
..... (dein Makro)


For i=1 to oSelection.count
Set Dimension = oSelection.Item(i).Value

Dimension.GetTolerances oTolType,oTolName,oUpTol,oLowTol,odUpTol,odLowTol,oDisplayMode

oStream.Write Dimension.GetValue.Value &";"& odUpTol & "; " & odLowTol & vbCrLf
Next

oStream.close

....
....

Gruß Martin

------------------
mb 

MICHLICK
Mitglied
CAD Methodik Entwickler (CATIA; NX)


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

Beiträge: 454
Registriert: 20.06.2001

Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.

erstellt am: 12. Mrz. 2009 17:03    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 cmb 10 Unities + Antwort hilfreich

Hallo Norbert,

die Dim Anweisung sollte ausserhalb der Schleife stehen.
Wenn Die Anweisung innerhalb einer Schleife steht, dann versuchst Du eine neue Variable mit dem gleichen Namen wie eine vorhandene Variable zu erzeugen und dass läuft zwangsläufig auf einen Fehler.

------------------
Gruß Michael B.

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 13. Mrz. 2009 10:10    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,

vielen Dank für eure Tips. Bin wieder einen Step weiter
Mit:
oStream.Write Dimension.GetValue.Value &" +"& odUpTol & " " & odLowTol & vbCrLf
schreibt mir das Scritp die Value mit Toleranz in ein Exelfeld.

Kann ich den Komponentennamen / Item (bei uns so etwas wie "Bemaßung.x") einer Bemassung auch mit auslesen?

Gruß Norbert

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


Ex-Mitglied

erstellt am: 13. Mrz. 2009 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo Norbert,

Ja, mit  Dimension.Name

ist aber nur sinnvoll, wenn die View mitangegeben wird, da sich die Namen wiederholen

z.B.
Name        Pfad
     
Bemaßung.1  \Drawing\Blatt.1\ViewMakeUp.4\ZAB-ZAB\DrwDressUp.1\Bemaßung.1
Bemaßung.2  \Drawing\Blatt.1\ViewMakeUp.4\ZAB-ZAB\DrwDressUp.1\Bemaßung.2
.
.
Bemaßung.1  \Drawing\Blatt.1\ViewMakeUp.4\ZAE-ZAE\DrwDressUp.1\Bemaßung.1

Gruß Martin

------------------
mb 

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 13. Mrz. 2009 13:59    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 Martin,

vielen Dank für den Tip. Funktioniert.
Ich dachte immer Catia vergibt für jede Bemassung einen eindeutigen Identifier über welchen man Prüfberichte generieren kann, Schade.

Gruß Norbert

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


Ex-Mitglied

erstellt am: 16. Mrz. 2009 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hallo Norbert,

habe mir das noch einmal angesehen,
du kannst natürlich jedem Maß eine eindeutige Bezeichnung geben, siehe Beispiel

bei der Gelegenheit möchte ich dich noch darauf hinweisen, daß bei deiner Selektion nur
Distanzen,also keine Radien und Winkel, ausgewählt werden. (DimensionType=DrwDimDistance,scr)

For i=1 to oSelection.count
Set Dimension = oSelection.Item(i).Value

Dimension.Name = "Maß." & i

Dimension.GetTolerances oTolType,oTolName,oUpTol,oLowTol,odUpTol,odLowTol,oDisplayMode

Gruß Martin

------------------
mb 

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



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

Beiträge: 4107
Registriert: 12.03.2001

erstellt am: 16. Mrz. 2009 11:18    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 cmb 10 Unities + Antwort hilfreich

@Norbert

nur so als allgemeiner Hinweis, vielleicht etwas Offtopic.

Es gibt ein Modul von Cenit (QAReport) dass vielleicht für Euch interessant sein könnte. Wir haben es im Einsatz und können so Zeichnungen nachbearbeiten und die ganzen Toleranzinformationen rausschreiben. Vielleicht musst Du das Rad ja nicht neu erfinden.

Axel

------------------
Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 16. Mrz. 2009 11:57    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 Martin, hallo Axel,

vielen Dank für die Infos. Habe das Tool von Cenit gesehen und finde es kann genau das was wir wollen. Mal sehen ob ich unsere Controller davon überzeugen kann.

Auf der anderen Seite ist es ganz intressant was man mit vb alles anstellen kann.
Nach dem Motto: learning by doing

LG Norbert

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



Geomatiker / Vermessungstechniker (m/w/d)

Die DONETZ (Dortmunder Netz GmbH) ist der Netzbetreiber in Dortmund und eine 100-prozentige Tochter von DEW21. Bei uns sorgen Sie mit für den technisch einwandfreien Fluss von Strom, Gas und Wasser durch unser 11.000 km langes Versorgungsnetz. Freuen Sie sich dabei auf jede Menge Freiraum, Verantwortung und ein kollegiales Arbeitsklima. Bewegen Sie jetzt mit Ihrer Energie mehr: In Dortmund, für die Region, für die Menschen....

Anzeige ansehenGeowissenschaften
Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



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

Beiträge: 4107
Registriert: 12.03.2001

erstellt am: 16. Mrz. 2009 13:07    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 cmb 10 Unities + Antwort hilfreich

Vielleicht noch als Ergänzung zum QAReport, es ist in CAA programmiert worden. An viele Infos. die dort heute rausgeschrieben werden, scheinst du allein mit vb nicht ranzukommen.

Axel

------------------
Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de

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