Aktuelle Detailgenauigkeit über iLogic ableiten

Aktuelle Detailgenauigkeit über iLogic ableiten

fullevent
Advisor Advisor
1.286Aufrufe
5Antworten
Nachricht 1 von 6

Aktuelle Detailgenauigkeit über iLogic ableiten

fullevent
Advisor
Advisor

Guten Morgen zusammen,

es geht wieder um iLogic bei mir. Diesmal in Verbindung mit LOD..

Wie kann ich mit Hilfe von iLogic die aktuelle Detailgenauigkeit als BG ableiten und das neue Ersatzobjekt unter einem

Wunschnamen (vllt immer statt dem automatischen "_Substitute_1" einen timestamp)

und Wunschvorlage (eigentlich immer Norm (DIN).ipt)

speichern?

 

15-09-2017 08-27-43.png15-09-2017 08-34-35.png

 

..sodass ich direkt nach der Ausführung der Benutzer direkt in dieses Fenster kommt..

 

15-09-2017 08-40-06.png


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
1.287Aufrufe
5Antworten
Antworten (5)
Nachricht 2 von 6

S_May
Mentor
Mentor

Hi @fullevent,

 

ilogic ist echt ne coole Sache, aber was willst Du bei der Erstellung von Ersatzobjekten mit einer ilogic da noch rauskürzen?

 

 

 

Nachricht 3 von 6

fullevent
Advisor
Advisor

Hi @S_May

 

ich habe einen Konfigurator zusammen gebastelt, der mir entsprechend verschiedene Komponenten und deren Abhänigkeiten unterdrückt bzw. das auch wieder rückgängig macht. Jetzt soll in einem wisch, aus der konfigurierten BG ein abgeleitetes Ersatzbauteil werden.

 

Ich weiß nicht ob ich das gut erklärt habe.. ansonsten setze ich mich nachher nochmal kurz mit dem Thema Screencasts auseinander und poste einen 🙂


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben
Nachricht 4 von 6

Sofia.Xanthopoulou
Mentor
Mentor

Hallo @fullevent,

 

konntest du schon ein Screencast für uns vorbereiten? Leider muss ich mich hier raushalten - das übersteigt meinen Horizont Verlegener Smiley Aber vielleicht helfen ja die Zusatzinformationen damit wir besser verstehen worauf du hinaus willst. 

 

Danke dir

 

LG

 

0 „Gefällt mir“-Angaben
Nachricht 5 von 6

TFoerst
Advocate
Advocate
Akzeptierte Lösung

Bitte schön:

 

Bitte dran denken das ich nicht alle Fehler die sich ein User ausdenken könnte abfange...

 

    
    strZeit = Now.ToString("yyyyMMdd_HHmmss")
    strDateinameSuffix = "_" & strZeit & ".ipt"
    strLODName = strZeit 'or "Wunschname"
   
   
   
  
    Dim oDoc As AssemblyDocument
    oDoc = ThisApplication.ActiveDocument
    
    Dim oDef As AssemblyComponentDefinition
    oDef = oDoc.ComponentDefinition
    
    'When use "Wunschname" please make this 3 lines and the last line acitve
    'For Each LoDs in oDef.RepresentationsManager.LevelOfDetailRepresentations 
    '    If LoDs.Name = strLODName Then Goto Ende
    'Next

    ' Create a new part document that will be the shrinkwrap substitute
    Dim oPartDoc As PartDocument
    oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                 ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))

    Dim oPartDef As PartComponentDefinition
    oPartDef = oPartDoc.ComponentDefinition

    
    Dim oDerivedAssemblyDef As DerivedAssemblyDefinition
    oDerivedAssemblyDef = oPartDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(oDoc.FullDocumentName)
    
    
    ' Set various shrinkwrap related options
    oDerivedAssemblyDef.DeriveStyle = 80642 'kDeriveAsSingleBodyNoSeams
    oDerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = 27137 'kDerivedIncludeAll
    oDerivedAssemblyDef.IncludeAllTopLevelSketches = 27137 'kDerivedIncludeAll
    oDerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = 27138 'kDerivedExcludeAll
    oDerivedAssemblyDef.IncludeAllTopLevelParameters = 27138 'kDerivedExcludeAll
    oDerivedAssemblyDef.ReducedMemoryMode = False

    Call oDerivedAssemblyDef.SetHolePatchingOptions(88322) 'kDerivedPatchAll
    Call oDerivedAssemblyDef.SetRemoveByVisibilityOptions(88579, 25) 'kDerivedRemovePartsAndFaces
    
    ' Create the shrinkwrap component
    Dim oDerivedAssembly As DerivedAssemblyComponent
    oDerivedAssembly = oPartDef.ReferenceComponents.DerivedAssemblyComponents.Add(oDerivedAssemblyDef)

    ' Save the part
    Dim strSubstituteFileName As String
    strSubstituteFileName = Left$(oDoc.FullFileName, Len(oDoc.FullFileName) - 4)
    strSubstituteFileName = strSubstituteFileName & strDateinameSuffix

    ThisApplication.SilentOperation = True
    Call oPartDoc.SaveAs(strSubstituteFileName, False)
    ThisApplication.SilentOperation = False

    ' Create a substitute level of detail using the shrinkwrap part.
    Dim oSubstituteLOD As LevelOfDetailRepresentation
    oSubstituteLOD = oDef.RepresentationsManager.LevelOfDetailRepresentations.AddSubstitute(strSubstituteFileName, strLODName)
    
    oPartDoc.Save
    oPartDoc.Close
    oPartDoc.ReleaseReference
'Ende:

 

Nachricht 6 von 6

fullevent
Advisor
Advisor

Funktioniert einwandfrei Smiley (fröhlich)
Vielen Dank


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben