• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Beseitigen Sie alle unsichtbaren Komponenten mit Ilogic

  • Ersteller Ersteller Alessandro91
  • Erstellt am Erstellt am

Alessandro91

Guest
Guten Morgen.

Ich hätte die Notwendigkeit, alle Komponenten (so Teile oder Baugruppen) zu beseitigen, die ich in einem Satz und all seiner Unterachse unsichtbar gemacht habe.

Ich fand diese Regel:

ocomps= thisdoc.document.componentdefinition.occurrences

für jeden Ocomp in ocomps
wenn nicht ocomp. sichtbar, dann
ocomp.delete
Ende
Nächste

es funktioniert aber nur unsichtbare Dateien im Hauptaxiem eliminiert, wie lösche ich auch die im Subassiemi vorhandenen Komponenten?

Vielen Dank!
 
aus dem, was ich weiß, dass es notwendig ist, sie im Ängstlichen zu öffnen und zu betreten. Mein Gefühl ist, dass die Operation, wenn überhaupt möglich, von einer beunruhigenden Langsamkeit sein würde.
 
Ich habe eine alte Regel geändert, um zu fliegen, dass Sie den gesamten Axiembaum passieren und ich habe die Zeilen eingefügt, die löschen, was nicht sichtbar ist.

Jedoch Aufmerksamkeit, dass solche Regel kann natürlich schreckliche Schäden verursachen, indem Dinge aus einem Subaxieme, die anderswo verwendet werden usw. löschen. usw. Es wird eine Flut von Fällen geben, in denen alles schlecht ist, aber es liegt an Ihnen, sie zu verwalten: Ich wasche meine Hände, ich mache nur die Befehle, Kinder versuchen es nicht zu Hause... Wir verstehen uns.

auf meinen Tests ging, aber ich kenne Ihre Ärsche nicht, zuerst versuchen Sie etwas nicht wichtig oder besser auf einem Pack&go, wenn wir nicht über triviale Dinge reden.
Ich weiß nicht, wie viel du zurückgehen kannst.

Code:
öffentliches Teilnetz()
„Bezug auf aktives Dokument setzen.
„Dies geht davon aus, dass das aktive Dokument eine Versammlung ist
dim odoc als Erfinder.
odoc = thisapplication.activedocument

' erhalten Montagekomponentendefinition
dim ocompdef als Erfinder.komponentendefinition
ocompdef = odoc.Komponentendefinition

dim smsg als String
dim ileafnodes as long
dim isubassemblies als lang

' alle Vorkommnisse aus der Komponentendefinition für das Montagedokument erhalten
dim ocompocc als Komponenteoccurence
für jede Ocompocc in ocompdef.occurrences
' überprüfen, ob es sich um Kindererscheinungen (Blattknoten)
wenn ocompocc.suboccurrences.count = 0 dann
'debug.print ocompocc.name
'ileafnodes = ileafnodes + 1
andere
'debug.print ocompocc.name
'isubassemblies = isubassemblies + 1
'messagebox.show("subassy" & ocompocc.name)
Call Processallsubocc(ocompocc) _
smsg!
ileafnodes, _
isubassemblies)
Ende
wenn nicht ocompocc.visible dann
ocompocc.delete
Ende
Nächste

'debug.print "kein Blattknoten : " + cstr(ileafnodes)
'debug.print "keine Unterbaugruppen: " + cstr(isubassemblies)
Endteil

' diese Funktion wird zur Bearbeitung der Unterbaugruppe aufgerufen. es wird rekursiv genannt
' durch den gesamten Montagebaum iterieren.
privat sub processallsubocc(byval ocompocc as partoccurrence, _
byref smsg als String, _
byref ileafnodes so lange, _
byref isubassemblies as long)

dim osubcompocc als Komponente
für jede osubcompocc in ocompocc.suboccurrences

' überprüfen, ob es sich um Kindererscheinungen (Blattknoten)
wenn osubcompocc.suboccurrences.count = 0 dann
'debug.print osubcompocc.name
'ileafnodes = ileafnodes + 1
andere
'smsg = smsg + osubcompocc.name + vbcr
'isubassemblies = isubassemblies + 1

Call Processallsubocc(osubcompocc) _
smsg!
ileafnodes, _
isubassemblies)
Ende

wenn nicht osubcompocc.visible dann
osubcompocc.delete
Ende
Nächste
Endteil
 
Hallo danke für die Antworten,

es funktioniert perfekt dank!

Ich verstehe, dass es eine "gefährliche" Regel ist, aber für wie wir die Dateien in der Firma große Schäden verwalten, sollten wir es nicht tun, wie im Moment für jedes neue Projekt, das wir auf Basis eines alten beginnen, wir eine Kopie der Projektdatei der Hauptangst ändern den Namen auf alle Dateien.

Danke noch mal!
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben