| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Stückliste aktualisieren (3752 mal gelesen)
|
Lu05 Mitglied Technischer Zeichner
Beiträge: 12 Registriert: 12.12.2010
|
erstellt am: 12. Dez. 2010 14:26 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe folgendes Problem: Bei uns würde die Stückliste in den Zeichnungen um eine Spalte erweitert. Wenn ich jetzt aber eine alte Zeichnung über Compass aufmache ist die Stückliste auch noch die alte. Jetzt würde ich gerne ein Makro schreiben das beim Ausführen entweder die alte Stückliste um diese Spalte erweitert oder die alte Stückliste löscht, wieder eine neue an die gleiche Stelle einfügt (die dann ja die neue Spalte hat) und wieder nach Bauteilnummer sortiert. Und jetzt das Problem: Ich bin noch nicht sehr Erfahren was VBA angeht Vielleicht kann mir da ja jemand n bischen helfen oder mal sowas wie ein "Grundgerüst" schreiben, dass ich gegebenen falls noch anpassen könnte. Gruß Lu05 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 200x, Civil, LDD, MDT, ARD, ACA(ADT) Inventor AIP 4-11,200x WinXP, W2K
|
erstellt am: 12. Dez. 2010 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für Lu05
|
Lu05 Mitglied Technischer Zeichner
Beiträge: 12 Registriert: 12.12.2010
|
erstellt am: 13. Dez. 2010 11:46 <-- editieren / zitieren --> Unities abgeben:
Müsste denk ich gehen nur das Problem ist das bei mir das Feld Aktualisiere neben dem Stil-Editor (Inventor 2011) ausgegraut ist, genauso wenn ich den Stil-Editor öffne und einen Stil anklicken will und auf Stil aktualisieren. Hat jetzt dann wohl nichts mehr mit VBA zu tun aber vielleicht weis ja trotzdem jemand was. Ich habe zum Beispiel ein Makro für das Aktualisieren des Schriftfelds: Public Sub IDW_updaten() Dim oApp As Application Set oApp = ThisApplication Dim oDoc As Document Set oDoc = oApp.ActiveDocument Dim newDoc As Document Set newDoc = oApp.Documents.Open("Pfad der Vorlage", False) Dim oTitleDef As TitleBlockDefinition Dim iZahl As Integer For iZahl = newDoc.TitleBlockDefinitions.Count To 1 Step -1 Set oTitleDef = newDoc.TitleBlockDefinitions.Item(iZahl) Call oTitleDef.CopyTo(oDoc, True) Next iZahl Dim jZahl As Integer For jZahl = newDoc.SketchedSymbolDefinitions.Count To 1 Step -1 Set oSymbolDef = newDoc.SketchedSymbolDefinitions.Item(jZahl) Call oSymbolDef.CopyTo(oDoc, True) Next jZahl newDoc.Close End Sub Und so was dachte ich mir eben auch für die Stückliste, was aber warscheinlich auch nicht funktionieren würde, wenn ich es auf die Reihe bringen würde das richtig zu schreiben wenn die Felder eh ausgegraut sind. Gruß Lu05
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 200x, Civil, LDD, MDT, ARD, ACA(ADT) Inventor AIP 4-11,200x WinXP, W2K
|
erstellt am: 13. Dez. 2010 20:20 <-- editieren / zitieren --> Unities abgeben: Nur für Lu05
Zitat: Original erstellt von Lu05: ... nur das Problem ist das bei mir das Feld Aktualisiere neben dem Stil-Editor (Inventor 2011) ausgegraut ist, genauso wenn ich den Stil-Editor öffne und einen Stil anklicken will und auf Stil aktualisieren. ...
Na, dann ist wohl bei der aktiven Projektdatei die Nurtung der Stilbib. deaktiviert (Stilbibliothek = Nein), sollte aber auf "schreibgeschützt" stehen, zum Speichern in die Stilbib. sogar auf "ja".
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lu05 Mitglied Technischer Zeichner
Beiträge: 12 Registriert: 12.12.2010
|
erstellt am: 04. Feb. 2011 07:57 <-- editieren / zitieren --> Unities abgeben:
So, hab jetzt letztendlich selbst eine Lösung gefunden. Hier ist die Lösung für alle die es interessiert. Public Sub Spalte_in_Stückliste() Dim oDrawDoc As DrawingDocument Dim oDoc As Document Dim oPartsList As PartsList Dim oColumn As PartsListColumn
On Error Resume Next Set oDrawDoc = ThisApplication.ActiveDocument If Err <> 0 Then MsgBox "Keine IDW aktiv." Exit Sub End If
Set oPartsList = oDrawDoc.ActiveSheet.PartsLists.Item(1) If Err <> 0 Then MsgBox "Keine Teileliste gefunden." Exit Sub End If Set oColumn = oPartsList.PartsListColumns.Item("") If Err <> 0 Then Set oColumn = oPartsList.PartsListColumns.Add(PropertyTypeEnum.kCustomProperty, , "iProperty_einfügen") 'iProperty, dass in die Stückliste eingetragen werden soll eintragen End If oColumn.ValueHorizontalJustification = HorizontalTextAlignmentEnum.kAlignTextLeft oColumn.Width = 1.75 'cm!!! oColumn.Title = "Titel_der_Spalte" 'Titel der Spalte eintragen oColumn.Reposition (5) '5 ist die Position an der die Spalte eingefügt werden soll also als Spalte 5 End Sub
Nochmals Vielen Dank an alle die versucht haben mir zu heflen. Lu05 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|