Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  BOM SelectionAusgabe

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
Autor Thema:  BOM SelectionAusgabe (646 mal gelesen)
horphi
Mitglied


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

Beiträge: 1
Registriert: 22.07.2011

erstellt am: 08. Okt. 2015 15:30    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 zusammen,

ich habe ein Makro, welches mir den gesamten Produktbaum als CSV ablegt.

Frage dazu: wie kann ich das Makro so umbauen, das ich nur die selektierten Geometrien ausgegeben bekomme?

CATIA.ActiveDocument = CATIA.ActiveDocument.Selection ???

Code:

Sub CATMain()

Dim DEBUG As Boolean

DEBUG = FALSE

CATIA.DisplayFileAlerts = False

Catia.Statusbar = "Starting Main-Program -> " & FUNC_NAME & " ( " & VERSION & " ) "
Set ActiveDoc = CATIA.ActiveDocument

REM---------------------------
REM Document check
REM---------------------------

If Err.Number <> 0 Then
CHECK = MsgBox ( " No Document is opened !", 16, FUNC_NAME & "  " & VERSION )
Exit Sub
End If

REM---------------------------
REM Calculate Bill of Material in the active
REM Product ( ActivePro )
REM---------------------------

ReDim BoMList ( 99999, 4 )

Set ActiveDoc = CATIA.ActiveDocument
Set ActivePro = ActiveDoc.Product

iList = 1
call CalcBoM ( ActivePro, BoMList, iList, Name )

Set FileSystem1=CATIA.FileSystem
Set File1 = FileSystem1.CreateFile( "C:\BomList_1.csv", True )
Set TextStr1 = File1.OpenAsTextStream ("ForWriting")

For i = 1 To iList
Dummy = i & ";" & BoMList ( i,0 ) & ";" & BoMList ( i,1 ) & ";" & BoMList ( i,2 ) & ";" & BoMList ( i,3 )
TextStr1.Write Dummy & Chrw(10)
Next
TextStr1.Close

End Sub

REM---------------------------------------------------------------------------------

Function CalcBoM ( CurProduct, BoMList, iList, Name )

FUNC_NAME = "CalcBoM"
Catia.Statusbar =  "Function " & FUNC_NAME

Dim A(11) As Double
Dim sArray As Array

Name = Name & ";" & CurProduct.Name
imax = CurProduct.Products.count

If ( imax = 0 ) Then
PartName = CurProduct.Name
CurProduct.Position.GetComponents A
sArray = split ( PartName, "." )
PartName = sArray (0)
BoMList ( iList, 0 ) = Name
BoMList ( iList, 1 ) = A(9)
BoMList ( iList, 2 ) = A(10)
BoMList ( iList, 3 ) = A(11)
iList = iList + 1
Name = ""
Rem Catia.Statusbar =  "Function " & FUNC_NAME & " -> " & PartName & " / " & A(9) & " / " & A(10) & " / " & A(11)
Exit Function
Else
Dummy = Name
For i = 1 to imax
call CalcBoM ( CurProduct.Products.Item(i), BoMList, iList, Name )
If i <> imax Then Name = Dummy
Next
End If

End Function


Danke und Gruß,

horphi

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 08. Okt. 2015 15: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 horphi 10 Unities + Antwort hilfreich

Code:

CATIA.ActiveDocument.Selection.Item2(1).Value

Ich empfehle Dir ein Dictionary oder eine Collection statt der Arrays, da diese dynamischer sind.
Des weiteren empfehle ich Dir Variablennamen länger als 3 Zeichen zu wählen.
i und A sind denkbar ungünstig, vor allem für Suchen und auch für mich zum Lesen.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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)2025 CAD.de | Impressum | Datenschutz