Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Produkt nachbauen

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:  Produkt nachbauen (1177 mal gelesen)
elharry
Mitglied



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

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 08. Mai. 2007 09:24    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 miteinander,

ich habe folgendes  Problem: ein Produkt muss in einer durch eine Kinematik angefahrenen Position verschickt werden. Wenn ich das Produkt nun mit der DF1 Lizenz bearbeite landen die Bauteile wieder in der Konstruktionslage.
Das ganze lässt sich umgehen wenn man die Parts aus der Lage in ein neues Produkt kopiert.
Das Produkt hat aber mehrere Ebenen und sollte die Struktur beibehalten.
Da diese Aufgabe immer wieder auftritt, wollte ich hier ein Makro zum Einsatz bringen. Habe aber keine Ahnung wie dieses Makro aussehen müsste, das
1. die Struktur meines Ausgangsproduktes (inkl. Namen) nachbildet
2. alle Parts in die neue Struktur kopiert.
Kann mir hier jemand helfen hier ein Makro zu erstellen.
Große Probleme habe ich dabei die Parts zu selektieren und zu kopieren.

Folgendes habe ich mir schon mal soweit zusammen gesucht

Sub CATMain()
  Analysieren(Catia.ActiveDocument.Product)

End Sub

Sub Analysieren(P)
on Error Resume next
  Dim Pdoc
  Set Pdoc = P.ReferenceProduct.Parent
dim strline
strline =""
strline = strline & " Typ : "&Typename(Pdoc)&vbcr
strline = strline & " Name : "&P.PartNumber &vbcr
‘ Hier wollte ich das Eltern Produkt herrausfinden.
strline = strline & " Parent :"&P.ReferenceProduct.Parent.name
  msgbox(strline)

  Dim PP
  Dim I

  Set PP =P.Products


  for I = 1 to  PP.Count

    Analysieren(PP.Item(I))

  next

End sub

Vielen Dank für Eure Hilfe.

Harry

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

elharry
Mitglied



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

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 09. Mai. 2007 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

Hallo,

scheint schwerer zu sein als ich Dachte.
Habe mich nun entschlossen, das Produkt nicht Parallel
zum bestehenden aufzubauen sondern innerhalb des bestehenden Produktes ein neues Produkt anzuhängen und unter diesem die Parts zu kopieren.
Das erzeugen eines Produktes klappt inkl. aktuellem Datum und Urzeit.
Probleme macht mir noch das aufbauen der Selektion der Parts und dann das kopieren in das gerade erzeugte Produkt. Das habe ich mir mal mit dem Makro Recorder aufgezeichnet und versucht hier einzubauen aber das hat nicht so ganz funktioniert.

public product2
public name
public selection1
public msg

Sub CATMain()
msg = 0
Set ROOTDOC = CATIA.ActiveDocument
Set ROOTPROD = ROOTDOC.Product
Set selection1 = ROOTDOC.Selection

'on Error resume next
Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set products1 = product1.Products


Dim name
Dim dTime
Dim sTime

dTime=Time
sTime=left(dTime,2)&"_"&right(left(DTime,5),2)&"_"&right(dTime,2)
'msgbox("Time : "&dTime &" Stime : "&sTime)
name = product1.PartNumber&"_"&Date&"_"&sTime
'msgbox ("Name : " & name)
set product2=products1.AddNewComponent("Product", name)
 
'Analysieren(productDocument1)
Analysieren ROOTPROD
msgbox ("Anzahl Selektion : "&selection1.count)
selection1.Copy
Set selection2 = productDocument1.Selection
selection2.Clear
Set product11 = products2.Item(name)
selection2.Add product11
selection2.Paste
End Sub

Sub Analysieren(VATER)
Dim count
Dim AKTUELLESProdukt

for count = 1 To VATER.Products.Count
Set AKTUELLESProdukt = VATER.Products.Item(count)
if msg <2 then
if Typename(VATER.ReferenceProduct.Parent)="ProductDocument" Then
AKTUELLESProdukt.ActivateDefaultShape
msgbox ("TypenameProduckt : "& Typename(VATER.ReferenceProduct.Parent))
msg=3
else
msgbox ("TypenamePart : "& Typename(VATER.ReferenceProduct.Parent))
msg=3
end if
end if
' Platzhalter
' on Error Resume next
Dim Pdoc
'msgbox ("Name : " & P.Name)
Set Pdoc = VATER.ReferenceProduct.Parent
dim strline
'strline =""
strline = strline & " Typ : "&Typename(Pdoc)
strline = strline & " Name : "&Pdoc.Name &vbcr
'strline = strline & " Parent : "&Pdoc.ReferenceProduct.Parent.name
'msgbox(strline)
if Typename(Pdoc)="PartDocument" Then
set productPart=Pdoc.product.Products.Item.name
selection1.Add productPart
msgbox ("Anzahl Selektion : "&selection1.count)
' Set product1 = productDocument1.Product
' Set products1 = product1.Products
' Set product2 = products1.Item(P.InstanceName)
' selection1.Add product2
' selection1.Copy
' Set productDocument1 = CATIA.ActiveDocument
' Set selection2 = productDocument1.Selection
' selection2.Clear
' Set product11 = products1.Item(P.InstanceName)
' selection2.Add product11
' selection2.Paste
end if

Analysieren AKTUELLESProdukt
next
'msgbox(strline)
End sub

Vieleicht hat ja jemand dazu einen Ansatz oder noch besser eine Lösung.

Schönen Tag noch an alle

elHarry

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

prosper
Mitglied
Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5


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

Beiträge: 86
Registriert: 05.05.2004

erstellt am: 09. Mai. 2007 20: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 Nur für elharry 10 Unities + Antwort hilfreich

Hallo elHarry,

was für eine Struktur muss geliefert werden?
Wenn es nur um Vizualisation, messen, Schnitte erzeugen geht, dann könnte die Struktur als CGR Struktur abgeleitet werden. Dafür kenne ich ein super Tool.
Oder brauchst du eine Struktur mit Konstruktionshistorie?

Gruß

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 10. Mai. 2007 07:04    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 elharry 10 Unities + Antwort hilfreich

Guten Morgen,

wie wäre es denn mit folgenden zei Möglicheiten:

1. Die Werte der AssemblyConstraints in eine Konstruktionstabelle schreiben. Die KT kannst du dann nach belieben aktivieren bzw. inaktivieren.

2. Wenn es ein Makro sein soll, dann schreibe doch eins das die auf Knopfdruck alle Produkte einmal unter einen neuen Namen abspeichert. Musst dabei nur auf die richtige Reihenfolge achten (von unten nach oben)Das würde auch weniger Dateien erzeugen.

------------------
MfG
Randle

! It's not a bug, it's a feature !

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

elharry
Mitglied



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

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 10. Mai. 2007 07:45    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

HI, danke für Eure Antworten.

Ich brauche Bauteile mit Konstruktionshistory und der Lage.
Deshalb hilft nur ein Copy und Paste in ein neues Produkt.
Damit bekomme ich die Konstruktionshistory und die Lage.
Würde ich die BT abspeichern und dann in ein Produkt einfügen bekomme ich wieder die Konstruktionslage. Die Assembly Constraints sind mir egal.
Struktur hätte ich gerne die Original Struktur, sprich auch Produktnamen plus Datum, damit diese unterschieden werden können.

Wenn Du das Makro in einem Produkt startest dann legt es schon mal ein neues Produkt an mit dem Namen des RootProduktes Plus Datum. Die Struktur darunter habe ich bisher nicht  hinbekommen. Und wollte jetzt erstmal alle Parts stumpf in dieses neue Produkt kopieren.

Allerdings ist mein Makro mitlerweilen etwas durcheinander geraten, da ich immer wieder Pausen machen musste und natürlich nichts Dokumentiert habe.  


Mfg

Harry

[Diese Nachricht wurde von elharry am 10. Mai. 2007 editiert.]

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