Autor
|
Thema: Update unterdrücken bei Materialzuweisung (1430 mal gelesen)
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
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: 15. Apr. 2013 17:25 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe mal wieder ein sonderbares Problem. :-) Und zwar würde ich gern mit einem Makro Material zu meinen Bodies zuweisen. Soweit kein Problem, aber CATIA macht dann ein Update auf das Part. Das Update wäre auch noch okay, wenn ich nicht nen Applicative Container drin hätte, der Probleme bekommt und dann ein PopUp schmeißt, also ne normale Fehlermeldung, kein Warning oder so. Die Meldung möchte, dass ich mich zwischen zwei Alternativen entscheide um dann Geometrie zu erzeugen. Also: Update auf’s Part möchte ich nicht, sondern nur auf meinen kleinen Body und vor allem nicht auf die Applicative Container, die noch drin hängen, also Container von Zusatz CAA’s. Hier mein code (diesen bitte um euren CATIA-Pfad erweitern): Code:
Public Sub CATMain() Dim bodiesWork As MECMOD.Bodies Dim bodyWork As MECMOD.Body Dim lBody As Long Dim partWork As MECMOD.Part Dim sCATIAPath As String Dim sMaterialPath As String Dim materialDocWork As CATMat.MaterialDocument Dim materialWork As CATMat.Material Dim matManagerWork As CATMat.MaterialManager 'CATMat.CATIAMaterialManager sCATIAPath = "D:\CATIA\win_b64" ‘ Hier euren Pfad angeben CATIA.Application.DisplayFileAlerts = False Set partWork = CATIA.ActiveDocument.Part Set selWork = CATIA.ActiveDocument.Selection Set bodiesWork = partWork.Bodies sMaterialPath = sCATIAPath & "\startup\materials\Catalog.CATMaterial" Set materialDocWork = CATIA.Documents.Open(sMaterialPath) Set materialWork = materialDocWork.Families.item("Other").Materials.item("Water") Set matManagerWork = partWork.GetItem("CATMatManagerVBExt") For lBody = 1 To bodiesWork.count Set bodyWork = bodiesWork.item(lBody) Call matManagerWork.ApplyMaterialOnBody(bodyWork, materialWork, 0) ' Hier kriege ich leider ein Update auf's komplette Part 'Call partWork.UpdateObject(bodyWork) Next lBody End Sub
------------------ 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 |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 18. Apr. 2013 22:20 <-- editieren / zitieren --> Unities abgeben: Nur für HoBLila
Hallo Henry, kann es sein das du unter TOOLS/OPTIONS/INFRASTRUCTURE/PART INFRASTRUCTURE/GENERAL/UPDATE das Automatic Update drin hast? (siehe Pic) Evtl. hast du die Möglichkeit das raus zu nehmen. mfG Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Apr. 2013 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für HoBLila
Zitat: Original erstellt von HoBLila: Set materialWork = materialDocWork.Families.item("Other").Materials.item("[b]Water") [/B]
Hallo Henry, be water my friend Also das Part will wegen der Masseberechnung aktualisiert werden. Aber wahrscheinlich weist du das selbst. Das automatische Aktualisieren kannst du natürlich abstellen, aber dann ist das Update immer noch aktiv. Um das Update herum wirst du kaum kommen. Zumindest wüsste ich aktuell nicht wie. Demnach musst du dir eher überlegen, ob du das anders machen kannst, aber dafür fehlt mir der Hintergrund zu dem gesamten Objekt... ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
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: 22. Apr. 2013 11:12 <-- editieren / zitieren --> Unities abgeben:
Perfekt! :-) Die AutoUpdate-Eigenschaft war es. Ja, habe bei der Materialzuweisung im Batch das Problem, dass mir eine CAA-Applikation querschießt und PopUps bringt, die im Batch leider der tot sind. Daher möchte ich das Update vermeiden. Unabhängig davon muss die CAA-Applikation überarbeitet werden, aber das kann dauern... AutoUpdate aus und schon sieht's gut aus, Danke! :-) Das mit der Massebrerechnung ist natürlich richtig und auch nötig, aber das kann ich auch selbst machen und vor allem ohne, dass alles ein Update bekommt. Edit: Ja, ich hielt Wasser für ein allgemein gutes Beispiel, welches überall funktionieren sollte. :-D ------------------ 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 [Diese Nachricht wurde von HoBLila am 22. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|