Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  STL - Flächenmodel

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:  STL - Flächenmodel (883 mal gelesen)
mellowyellow
Mitglied
Student

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

Beiträge: 1
Registriert: 23.04.2015

CATIA V5 R21

erstellt am: 23. Apr. 2015 15:22    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 habe folgenden Code der STL-Daten (über cgr und model) in ein Flächenmodel umwandeln soll.
ab und an funktioniert es. Nur tritt bei manchen Teilen eine Fehlermeldung auf, dass docSel.Paste nicht ausgeführt werden kann da nichts ausgewählt ist. Hat jemand eine Idee wie dieses Problem zu lösen sein könnte? 

Code:
'Sprache: CATScript


Sub CATMain()

Dim sInputFile As String
sInputFile = CATIA.FileSelectionBox("STL-MODEL", "*.CATPart", CatFileSelectionModeOpen)
Dim oDoc As Document
Set oDoc = CATIA.documents.Read(sInputFile)


sInputFileName = Left(sInputFile, InStrRev(sInputFile, ".") - 1)
If Len(sInputFileName) > 72 Then
      sInputFileName = Left(sInputFileName, 72)
End If

Dim sInputFileNameV1 As String
sInputFileNameV1 = sInputFileName & ".cgr"
oDoc.ExportData sInputFileNameV1, "cgr"
    oDoc.Close

Set oDoc = CATIA.documents.Open(sInputFileNameV1)
Dim sInputFileV2 As String
sInputFileNameV2 = sInputFileName & ".model"
Set oDoc = CATIA.documents.Read(sInputFileNameV1)
oDoc.ExportData sInputFileNameV2, "model"
oDoc.Close

Set oDoc = CATIA.documents.Open(sInputFileNameV2)

Dim docSel As selection
Set docSel = oDoc.selection

If CATIA.SystemConfiguration.Release < "16" Then
docSel.Search "Name=CAT_1000_1"
Else
docSel.Search "V4Model.MASTER"
End If

docSel.Copy

Dim iPartNumber As String
iPartNumber = Mid(sInputFileName, InStrRev(sInputFileName, CATIA.FileSystem.FileSeparator) + 1)

Set oDoc = CATIA.documents.Add("Part")
Dim iProduct As Product
Set iProduct = oDoc.Product
iProduct.PartNumber = iPartNumber
Set docSel = oDoc.selection
docSel.Add iProduct
docSel.Paste
iProduct.Update

oDoc.SaveAs sInputFileName & " (Flaechen)" & ".CATPart"
'oDoc.Close
Set oDoc = CATIA.documents.Item(CATIA.documents.Count - 1)
oDoc.Close


End Sub


Herzlichen Dank schonmal 

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 24. Apr. 2015 13: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 Nur für mellowyellow 10 Unities + Antwort hilfreich

Zitat:

Hat jemand eine Idee wie dieses Problem zu lösen sein könnte? 

Na klar.

Indem Du herausfindest wodurch sich die Fälle unterscheiden.

Fragen:
- Funktioniert's _immer_ bei den gleichen Dateien?
- Funktioniert's _immer_ nicht bei bestimmten anderen?
- Falls beide 'JA': Wodurch unterscheiden sich die Dateien?
- Ausserdem: Geht der Paste dehalb nicht, weil nix selektiert wurde?
- Geht's bei den nicht funktionierenden, wenn Du schrittweise (per F8-Taste) das Makro ablaufen lässt?
    -> Zwischen Sel,Copy und Paste ein DoEvents einstreuen.

Kurzum: Ohne die Dateien selbst kann Dir keiner helfen.
Offenbar deckt dein Makro irgendeinen Grenzfall nicht (hinreichend) ab.
Den Fall gilt's zu identifizieren.

Watch-Fenster, Break und Trace sind deine Freunde.

Hope it helps,
Joe

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