| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: Deaktivierte Bodys finden (700 mal gelesen)
|
Klaus-Heinz Mitglied
 
 Beiträge: 219 Registriert: 30.10.2009
|
erstellt am: 23. Sep. 2015 09:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen , gibt es die Möglichkeit deakt. Körper wie in der Partebene Parametr/ Analyse auch für die Produkt Ebene . Habe mehrere Parts und möchte nicht alle einzeln damit überprüfen ( zu faul ) . Grüsse KH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Sep. 2015 09:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Klaus-Heinz
Servus Klaus-Heinz Schon mal über die Suche probiert (zB Reiter "Erweitert": Umgebung "PartDesign", Typ: "Bohrung", Attribut "Aktivität= FALSE") Allerdings lassen sich ja Körper nicht deaktivieren, nur Features (zB Boole'sche Operationen, Block, ...) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
 
 Beiträge: 219 Registriert: 30.10.2009
|
erstellt am: 23. Sep. 2015 09:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd , hatte erlich schon mit der Funkt. Suchen experimentiert. War nur an der Vielzahl der Möglichkeiten gescheitert . Wie Du schon richtig sagtest geht es nur mit Features ( zB Boole'sche Operationen, Block, ...) Um diese handelt es sich auch . Hatte mich nicht präz. genug ausgedrückt . ( Sorry ) Mein Problem : Was stelle ich bei einem Features zB deakt.Boole'sche Operationen, Block, ein ?? Gruss KH
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: 23. Sep. 2015 10:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Klaus-Heinz
Eine denkbare Methode wäre ein Brainstorming über alle Möglichkeiten (diese in der Suche addieren) und wenn etwas vergessen wurde dann das "Tool" zu erweitern. ------------------ 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 |
Klaus-Heinz Mitglied
 
 Beiträge: 219 Registriert: 30.10.2009
|
erstellt am: 23. Sep. 2015 10:56 <-- editieren / zitieren --> Unities abgeben:         
|
RSchulz Ehrenmitglied V.I.P. h.c. 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: 23. Sep. 2015 11:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Klaus-Heinz
Hallo, in meinen Augen ist das sinnvoll nur durch Programmierung möglich. Hier muss dann mit rekursiver Verarbeitung gearbeitet werden. Ich selbst habe soetwas in umfangreicher Form geschrieben, bekomme das auf die schnelle aber nicht rausgefiltert. Der Check des Parts sieht wie folgt aus:
Code:
Public Function Check_Part_ElementsDeactivated(ByVal CheckPart As MECMOD.Part) As Array '------------------------------------------------------------------------------- ' searches for inactivated features '------------------------------------------------------------------------------- Dim oBodies As MECMOD.Bodies Dim oBody As MECMOD.Body Dim oShapes As MECMOD.Shapes Dim oShape As Object 'As MECMOD.Shape Dim oHybBody As MECMOD.HybridBody Dim oHybBodies As MECMOD.HybridBodies Dim oHybShapes As MECMOD.HybridShapes Dim oHybShape As Object 'As MECMOD.HybridShape Dim i As Integer = 0 Dim oIsInactive As Boolean Dim ObjectList(0) As String Try oBodies = CheckPart.Bodies For Each oBody In oBodies oShapes = oBody.Shapes For i = 1 To oShapes.Count oShape = oShapes.Item(i) oIsInactive = CheckPart.IsInactive(oShape) If oIsInactive = True Then ObjectList(ObjectList.Count - 1) = i & "Ÿ" & oBody.Name & "Ÿ" & oShape.Name ReDim Preserve ObjectList(ObjectList.Count) End If Application.DoEvents() Next Application.DoEvents() Next oHybBodies = CheckPart.HybridBodies For Each oHybBody In oHybBodies oHybShapes = oHybBody.HybridShapes For i = 1 To oHybShapes.Count oHybShape = oHybShapes.Item(i) oIsInactive = CheckPart.IsInactive(oHybShape) If oIsInactive = True Then ObjectList(ObjectList.Count - 1) = i & "Ÿ" & oHybBodies.Name & "Ÿ" & oHybShape.Name ReDim Preserve ObjectList(ObjectList.Count) End If Application.DoEvents() Next Application.DoEvents() Next Return ObjectList Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical, "Fehler in Functions: Check_Part_ElementsDeactivated") End Try End Function
Was hier noch fehlt, ist die Verarbeitung der Baugruppenstruktur und die einzelne "Übergabe" der Parts. Ebenfalls Voraussetzung ist eine globale Liste, in der die Informationen für das Object gesichert werden. Auch wenn dieser Thread nicht im Programmierungsforum ist, möchte ich trotzdem darauf hinweisen. Vielleicht hilft es ja doch weiter  ------------------ 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 |