Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Kill Adaptivity

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY baut sein Angebot für den Vertrieb von NVIDIA Software-Angeboten für Reseller und professionelle Anwender aus
Autor Thema:  Kill Adaptivity (720 mal gelesen)
Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 29. Mai. 2008 11:09    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 Freunde,

Igor hat mal ein nettes kleines Tool hier gepostet, das aus allen IPT's einer geöffneten BG die Adaptivitäten entfernt.

Hat Jemand dieses Tool am Laufen, für IV2008? Da kommen bei mir nämlich nur Fehlermeldungen.

Und: Wie könnte man Adaptivitäten aus Sweepings automatisiert entfernen?

------------------
mfg - Leo

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012 64Bi

erstellt am: 29. Mai. 2008 11: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 Nur für Leo Laimer 10 Unities + Antwort hilfreich

Hi Leo, dann nehmen wir den bekannten Rumpf und passen eine Zeile an:

Code:

Sub AdaptivityOff()
    If ThisApplication.Documents.Count = 0 Then
        MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe"
        Exit Sub
    End If
   
   
    If ThisApplication.ActiveDocumentType <> kAssemblyDocumentObject Then
        MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe"
        Exit Sub
    End If
   
    Dim oAsm As AssemblyDocument
    Set oAsm = ThisApplication.ActiveDocument
   
    ForAllComponents oAsm.ComponentDefinition.Occurrences
End Sub

Sub ForAllComponents(oOccs As ComponentOccurrences)
    Dim oOcc As ComponentOccurrence
    For Each oOcc In oOccs
        On Error Resume Next
        oOcc.Adaptive = False
        'oOcc.Grounded = False
        ThisApplication.StatusBarText = oOcc.Name
        If Err.Number <> 0 Then
            Err.Number = 0
            GoTo NEXTCOMP
        End If
NEXTCOMP:
        ForAllComponents oOcc.SubOccurrences
    Next
End Sub


Die Funktion AdaptivityOff ist die gestartet werden muss.

@Roland
Ich habe die Funktion extra von KillAdaptivity in AdaptivityOff umbenannt, bevor mir vorgeworfen wird, dass meine Programme vom Richter zum Mörder mutieren   

@Leo
Du weißt, dass ich dir telefonisch beistehe, sollte es Probleme mit dem Einbinden geben 

------------------
Grüße Igor

FX64 Software Solutions

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

Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 29. Mai. 2008 12:09    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

Igor, auf Dich ist halt genau so Verlass wie auf das PFFFT beim Öffnen einer Hülse (was wir auch heute Abend, an Dich denkend, machen werden, am Lagerfeuer)!

Und es funktioniert auch, mit IV2008, so wie vorgesehen. Die BT werden auf nicht adaptiv gesetzt.
Aber:
Es sind in den Bauteilen jede Menge adaptiver Arbeitselemente und ein Sweeping drin, die nicht abgeschaltet werden, leider.

Was ich nicht weiss, aber vielleicht einer der Spezialisten hier erklären kann:
Sind diese restlichen Adaptivitäten auch Resourcenfresser? Oder können wir die belassen?
(Ich muss bei Allem das äusserste Quentchen Performance rausholen!)

------------------
mfg - Leo

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

nightsta1k3r
Ehrenmitglied V.I.P. h.c.
plaudern



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

Beiträge: 11223
Registriert: 25.02.2004

Hier könnte ihre Werbung stehen!

erstellt am: 29. Mai. 2008 12:19    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 Leo Laimer 10 Unities + Antwort hilfreich

Hallo Leo!
Sobald der Teil in der Baugruppe nicht mehr adaptiv ist, bekommt er von der Baugruppe keinen Aktualisierungsaufruf, somit ist die Performancebremse weg.

Die eigentlich Ursache ist ja, daß die BG weiß, welche Komponenten adaptiv sind und alle diese Komponenten bei jeder Aktion der BG, egal ob es sich für die adaptiven Komponenten auswirkt oder nicht, zu einem kompletten Durchrechnen auffordert.
Durch Igors Tool wird quasi die "Liste" in der BG gelöscht und somit stößt sie auch keine Komponenten mehr zum Durchrechnen an.
Daß innerhalb der Komponente noch Adaptivität lauert ist genauso viel oder wenig aufwändig wie bauteilinterne Projektionen oder parametrische Bestimmungen.

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

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012 64Bi

erstellt am: 29. Mai. 2008 12: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 Nur für Leo Laimer 10 Unities + Antwort hilfreich

Ich habe es ein wenig erweitert (die Arbeitselemente aus den Bauteilen werden auch auf "nicht adaptiv" gesetzt):

Code:

Sub AdaptivityOff()
    If ThisApplication.Documents.Count = 0 Then
        MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe"
        Exit Sub
    End If
   
   
    If ThisApplication.ActiveDocumentType <> kAssemblyDocumentObject Then
        MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe"
        Exit Sub
    End If
   
    Dim oAsm As AssemblyDocument
    Set oAsm = ThisApplication.ActiveDocument
   
    ForAllComponents oAsm.ComponentDefinition.Occurrences
End Sub

Sub ForAllComponents(oOccs As ComponentOccurrences)
    Dim oOcc As ComponentOccurrence
    For Each oOcc In oOccs
        On Error Resume Next
        oOcc.Adaptive = False
        If oOcc.DefinitionDocumentType = kPartDocumentObject Then
            Dim oPartFeature As PartFeature
            For Each oPartFeature In oOcc.Definition.Features
                oPartFeature.Adaptive = False
            Next
        End If
        ThisApplication.StatusBarText = oOcc.Name
        If Err.Number <> 0 Then
            Err.Number = 0
            GoTo NEXTCOMP
        End If
NEXTCOMP:
        ForAllComponents oOcc.SubOccurrences
    Next
End Sub


------------------
Grüße Igor

FX64 Software Solutions

[Diese Nachricht wurde von daywa1k3r am 29. Mai. 2008 editiert.]

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

Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 29. Mai. 2008 14:17    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

Besten Dank, Tom und Igor!

------------------
mfg - Leo

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