Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Publication einer Fläche bei mehreren Instanzen

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:  Publication einer Fläche bei mehreren Instanzen (2312 mal gelesen)
AstraUrtyp
Mitglied


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

Beiträge: 6
Registriert: 11.10.2007

Unix CATIA V5 R16 SP4
hp workstation c8000

erstellt am: 06. Mai. 2008 15:12    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 Problem mit der Publication einer Fläche, welche auf mehrerern Instanzen existiert.

Meine Baumstruktur sieht folgendermaßen aus:

RootProduct
|-Product(Instanz.1)
|-Product(Instanz.2)
|-Product(Instanz.3)
|-Product(Instanz.4)
|-Product(Instanz.5)

Ich habe ein RootProduct unter dem 5 Product-Instanzen hängen. Ich möchte nun eine bestimmte Fläche, die auf allen 5 Instanzen existiert, publizieren. Wenn ich dies manuell tue, brauche ich mir nur eine Instanz rausgreifen, die Fläche publizieren und auf allen 5 Instanzen ist meine Fläche veröffentlicht!

Nun möchte ich das ganze per Makro machen. Dies funktioniert so weit auch ganz gut.
Nur Leider kann ich genau die Publication der Instanz mit der ich das Makro gestartet habe zwar sehen aber nicht benutzen. Nicht die Publication, sondern das VaterProdukt wird orange, wenn ich draufklicke.

'--------------------------------------------
Set productDocument1 = CATIA.ActiveDocument
Set product1 = ProductDocument1.Product
Set products1 = product1.Products
Set product2 = products1.Item(1)
Set publications1 = product2.Publications

Set reference1 = product2.CreateReferenceFromName("/!" & "Selection_RSur:(Face:(Brp:(Solid.7;%75);None:();Cf11:());EdgeFillet.1_ResultOUT;Z0;G1904)")

publications1.Add "Face"
publications1.SetDirect "Face", reference1
'-----------------------------------------

Wenn ich in Zeile 4 das Item wechsele - also statt 1 --> 3 nehme, dann passiert genau das gleiche, nur dass ich dann die Publication der Instanz 3 zwar sehen aber nicht benutzen kann. Bei allen anderen, nicht in Zeile 4 benutzten Instanzen, kann ich ganz wunderbar die "Face" anselektieren (Publication wird orange) und benutzen.

Wo liegt mein Fehler? Ich hoffe mir kann da jemand weiterhelfen. So wie das Makro jetzt läuft bringt es mir leider gar nichts. Falls ich mich etwas umständlich ausgedrückt habe - einfach fragen!
Bin für jeden Tipp dankbar!!

Gruß
Olli

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: 06. Mai. 2008 23:02    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 AstraUrtyp 10 Unities + Antwort hilfreich

Hallo AstraUrtyp,

kann es sein, dass Du über die "interne" Struktur von CATIA gestolpert bist?
Nach meiner Meinung, ohne es getestet zu haben, sollte Deine "Zeile 4" so lauten:

Code:
Set product2 = products1.Item(1).ReferenceProduct
oder so:
Code:
Set product2 = products1.Item(1).ReferenceProduct.Parent.Product

mfg,
Lusilnie

------------------

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

frei nach größeren Geistern

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

AstraUrtyp
Mitglied


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

Beiträge: 6
Registriert: 11.10.2007

Unix CATIA V5 R16 SP4
hp workstation c8000

erstellt am: 07. Mai. 2008 10:54    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 Lusilnie,

wunderbar - das genau war der Fehler. Riesen großen Dank schon mal an Dich!!!!
Mit deinem Vorschlag 1 funktioniert es einwandfrei. Mit Vorschlag 2 nicht - da spuckt er bei "Publications1.Add" einen Fehler aus.

Leider habe ich nicht ganz genau verstanden was sich denn nun mit ".RefrenceProduct" hinter dem Item geändert hat.
Falls du die Zeit und Muße hast mir das zu erklären, welches Item ich mit Code1, Code2 bzw. meiner Variante anspreche oder was der Unterschied ist, würde ich mich noch mehr freuen!

Ansonsten noch einen schönen und sonnigen Mittwoch und nochmal Vielen Dank für die schnelle Antwort.

Gruß
Olli

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: 07. Mai. 2008 22: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 Nur für AstraUrtyp 10 Unities + Antwort hilfreich

Hallo AstraUrtyp,

das mit dem "ReferenceProduct" ist eigentlich ganz einfach, wenn man die Struktur von CATIA versteht. Wenn ich in ein Product etwas einfüge, wird dabei eine Instanz erzeugt, unter welcher dann das eigentlich eingefügte Teil liegt. Bei Parts stellt dies CATIA auch so dar, bei anderen eingefügten Teilen nicht, doch es ist trotzdem so.
Demnach greifst Du in Deinem Original-Code auf die Instanz zu, die aber ein Teil des Root-Products ist und keine eigenen Publikationen besitzt. Erst die Referenz, auf die sich diese Instanz bezieht, hat wieder eigene Publikationen.

Ob Code 1 oder Code 2 kommt immer auf den Fall an, Code 2 sucht in der CATProduct-Datei (.Parent) den Unterpunkt Product und darin die Publikationen. Ich weiß allerdings nicht, wo die Publikationen drin stecken. Es war nur ein prinzipieller Ansatz, der schon öfters bei Problemen geholfen hat...


mfg,
Lusilnie

------------------

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

frei nach größeren Geistern

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

AstraUrtyp
Mitglied


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

Beiträge: 6
Registriert: 11.10.2007

Unix CATIA V5 R16 SP4
hp workstation c8000

erstellt am: 09. Mai. 2008 08: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 Lusilnie,

super. Vielen Dank für Deine Hilfe Nummer Zwei. Jetzt hab ich auch verstanden was sich damit geändert hat.

Schöne Pfingsttage
Gruß
Olli

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

mentosan
Mitglied
Engineer

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

Beiträge: 3
Registriert: 12.05.2014

erstellt am: 12. Mai. 2014 16:06    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 AstraUrtyp 10 Unities + Antwort hilfreich

why is this not working?
---------------------------

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set products1 = product1.Products
Set product2 = products1.Item(1)


Set constraints1 = product1.Connections("CATIAConstraints")


Set constraint1 = constraints1.AddMonoEltCst(catCstTypeReference, product2)


End Sub
-----------------------
thanks

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Mai. 2014 17:02    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 AstraUrtyp 10 Unities + Antwort hilfreich

Hi,
Welcome to the forum. Please add the system information.
IMHO requires "AddMonoEltCst" a reference and not the object itself (see also dokumentation and books)

Regards,
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

mentosan
Mitglied
Engineer

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

Beiträge: 3
Registriert: 12.05.2014

erstellt am: 13. Mai. 2014 09:27    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 AstraUrtyp 10 Unities + Antwort hilfreich

Hello again,

I'm a beginner in programming. I wish only to fix all the parts into an assembly and I cannot find the solution. I used Macro Record bun I cannot find the solution to adapt the particular macro to a general one. this is what recording is making:
----------------------------------------------
Language="VBSCRIPT"

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

Set selection1 = productDocument1.Selection

selection1.Search "Type=*,all"

Set product1 = productDocument1.Product

Set constraints1 = product1.Connections("CATIAConstraints")

Set reference1 = product1.CreateReferenceFromName("Product1/Part1.1/!Product1/Part1.1/")

Set constraint1 = constraints1.AddMonoEltCst(catCstTypeReference, reference1)

Set constraints1 = product1.Connections("CATIAConstraints")

Set reference2 = product1.CreateReferenceFromName("Product1/Part2.1/!Product1/Part2.1/")

Set constraint2 = constraints1.AddMonoEltCst(catCstTypeReference, reference2)

Set constraints1 = product1.Connections("CATIAConstraints")

Set reference3 = product1.CreateReferenceFromName("Product1/Part3.1/!Product1/Part3.1/")

Set constraint3 = constraints1.AddMonoEltCst(catCstTypeReference, reference3)

Set constraints1 = product1.Connections("CATIAConstraints")

Set reference4 = product1.CreateReferenceFromName("Product1/Part4.1/!Product1/Part4.1/")

Set constraint4 = constraints1.AddMonoEltCst(catCstTypeReference, reference4)

End Sub
-------------------------------------------------

Can you please help me?

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



Praktikant / Werkstudent (m/w/d) als Assistenz der Bauleitung

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenAssistenz, Sekretariat
bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 13. Mai. 2014 15:15    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 AstraUrtyp 10 Unities + Antwort hilfreich

Hi
You have to generate for each product the reference by generating the name.
For example (not tested):
Code:
...
dim sReference as string
dim sProduct as string
dim rootProduct as product

set rootproduct = productDocument1.product

for each oProduct in rootproduct.Products
   sProduct = oProduct.Name   
   set sReference = rootproduct.Name + "/" + sProduct + "/!" + rootproduct.Name + "/" + rootproduct.Name
  'code for create referene and connstrain add here
next


Regards,
Bernd


------------------
Warum einfach, wenn es auch kompliziert geht.

[Diese Nachricht wurde von bgrittmann am 13. Mai. 2014 editiert.]

[Diese Nachricht wurde von bgrittmann am 13. Mai. 2014 editiert.]

[Diese Nachricht wurde von bgrittmann am 13. Mai. 2014 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