| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: skizzierte Symbole komplett tauschen (2394 mal gelesen)
|
Caddy0815 Mitglied Dipl.-Ing.
Beiträge: 84 Registriert: 10.07.2008 Inventor 2010 Prof. Win7 Prof. 64Bit Intel Core2Duo 8600 8GB Ram Nvidia Quadro FX-3800
|
erstellt am: 10. Jun. 2011 07:34 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich möchte gern die skizzierten Symbole einer Zeichnung komplett in mehrere andere Zeichnungen übertragen. Die Funktion der Zusatztools reicht mir aber noch nicht ganz. Ich möchte in den Zielzeichnungen vorher alle Symbole löschen, da in der Vorlage eine Bereinigung vorgenommen wurde, wodurch einige Symbole komplett rausgeflogen sind. Alle Ziele zu öffnen und dort die skizzierten Symbole alle zu löschen geht nicht, da es sich um Vorlagen für Modelle handelt, die ich damit kaputt machen würde. Gibt es so eine Möglichkeit irgendwie administrativ? Ich danke euch für eure Tipps. ------------------ „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“ Albert Einstein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ASPE Mitglied Dipl.-Ing.
Beiträge: 34 Registriert: 02.03.2006 IV2010 P4 D 3GHz 3GB RAM Quadro FX 1400 2x19''TFT
|
erstellt am: 10. Jun. 2011 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für Caddy0815
Zitat: Ich möchte in den Zielzeichnungen vorher alle Symbole löschen...
Zitat: Alle Ziele zu öffnen und dort die skizzierten Symbole alle zu löschen geht nicht...
ich habe zwar nicht genau verstanden was du jetzt eigentlich willst aber ich habe ein Makro das in der aktuell geöffneten Zeichnung alle Symbole löscht und mit den Symbolen aus einer definierten Vorlage ersetzt. Symbole die auf der Zeichnung platziert sind können damit aber nicht gelöscht werden (da wäre ich auch sehr vorsichtig irgendwelche Zeichnungsinfos automatisiert zu löschen). Hilft dir das weiter? Gruß Andre Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Caddy0815 Mitglied Dipl.-Ing.
Beiträge: 84 Registriert: 10.07.2008 Inventor 2010 Prof. Win7 Prof. 64Bit Intel Core2Duo 8600 8GB Ram Nvidia Quadro FX-3800
|
erstellt am: 10. Jun. 2011 09:04 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Makro würde mich interessieren. Ich habe allerdings noch nie bei IV mit Makros gearbeitet. Ich will eigentlich nur die skizzierten Symbole einer Zeichnung komplett auf mehrere andere übertragen und alle Symbole die nicht in der Quelle vorhanden sind bei den Zielen auch löschen. Somit wären die Symbole dann 100% identisch auf allen Vorlagen. Das mit dem Öffnen werde ich mal versuchen indem ich die Aktualisierung aufschiebe, vielleicht hilft mir das. Danke schon mal. ------------------ „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“ Albert Einstein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ASPE Mitglied Dipl.-Ing.
Beiträge: 34 Registriert: 02.03.2006 IV2010 P4 D 3GHz 3GB RAM Quadro FX 1400 2x19''TFT
|
erstellt am: 10. Jun. 2011 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für Caddy0815
hier ist das Makro. Es tauscht auf Knopfdruck Schriftfeld, Rahmen und skizzierte Symbole. Die Vorlage aus der alle neuen Daten geladen werden ist mit ** markiert, dort muß der richtige Pfade eingetragen werden.
Code: Sub Schriftfeld() ' ersetzt das Schriftfeld in der aktuellen Zeichnung durch ein neues (Position siehe **) If ThisApplication.ActiveDocumentType = kDrawingDocumentObject Then Dim ZielDoc As DrawingDocument Set ZielDoc = ThisApplication.ActiveDocument Dim Blatt As Sheet Set Blatt = ZielDoc.ActiveSheet Dim i, j As Integer Dim zahl1 As Long 'vorhandenen Rahmen löschen On Error Resume Next Blatt.Border.Delete j = ZielDoc.BorderDefinitions.Count For i = 1 To j ZielDoc.BorderDefinitions.Item(j + 1 - i).Delete Next 'löscht vorhandene skizzierte Symbole zahl1 = ZielDoc.SketchedSymbolDefinitions.Count For i = 1 To zahl1 On Error Resume Next ZielDoc.SketchedSymbolDefinitions.Item(zahl1 + 1 - i).Delete Next Dim oSketchedSymbolDef As SketchedSymbolDefinition Dim QuellDoc As DrawingDocument Set QuellDoc = ThisApplication.Documents.Open("Z:\Inventor\Symbole.idw") '** Dim QuellRahmen As BorderDefinition Set QuellRahmen = QuellDoc.BorderDefinitions.Item("Fife-Tidland Rahmen") Dim ZielRahmen As BorderDefinition Set ZielRahmen = QuellRahmen.CopyTo(ZielDoc) Dim QuellSchriftfeld As TitleBlockDefinition Set QuellSchriftfeld = QuellDoc.ActiveSheet.TitleBlock.Definition Dim ZielSchriftfeld As TitleBlockDefinition Set ZielSchriftfeld = QuellSchriftfeld.CopyTo(ZielDoc) 'fügt neue skizzierte Symbole aus Vorlagedatei ein zahl1 = QuellDoc.SketchedSymbolDefinitions.Count For i = 1 To zahl1 Set oSketchedSymbolDef = QuellDoc.SketchedSymbolDefinitions.Item(i).CopyTo(ZielDoc, True) Next QuellDoc.Close 'fügt Zeichnungsrahmen ins Blatt ein Call Blatt.AddBorder(ZielRahmen) 'fügt neues Schriftfeld in Zeichnung ein Blatt.TitleBlock.Delete Call Blatt.AddTitleBlock(ZielSchriftfeld) 'ändert Hintergrundfarbe der IDW Dim oColor As Color Set oSheetColor = ZielDoc.SheetSettings.SheetColor Call oSheetColor.SetColor(255, 255, 255) ZielDoc.SheetSettings.SheetColor = oSheetColor 'schaltet Browserleiste wieder ein ThisApplication.UserInterfaceManager.ShowBrowser = True Else: MsgBox ("Ein Schriftfeld kann nur in eine Zeichnung eingefügt werden!") End If End Sub
einiges kann man sicher einfacher und eleganter lösen, bin ja auch kein Programmierexperte. Aber es funktioniert gut bei uns. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Caddy0815 Mitglied Dipl.-Ing.
Beiträge: 84 Registriert: 10.07.2008 Inventor 2010 Prof. Win7 Prof. 64Bit Intel Core2Duo 8600 8GB Ram Nvidia Quadro FX-3800
|
erstellt am: 10. Jun. 2011 12:15 <-- editieren / zitieren --> Unities abgeben:
Danke dir. Ich werde es mal probieren. Allerdings nutzen wir dwg als Format, wegen der Weiterverwendung im ACAD. ------------------ „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“ Albert Einstein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |