| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Title Block Definition (1285 mal gelesen)
|
Enduro Mitglied Wirtschaftsinformatik Studentin

 Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 17. Sep. 2012 08:22 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen! Ich bin jetzt schon etwas fortgeschritten in VBA und vielen Dank für Eure Unterstützung! Aktuell bin ich am BlockDefinition rumschrauben und brauche nochmals Eure Hilfe, es ist bestimmt sehr einfach für Euch.. Eine fertige Tabelle gibt es schon als ne Vorlage. Ich muss nur in dieser Tabelle eine Zeile mittels VBA ändern, damit ich alle schon erstellte Zeichnungen in einem Klick aktualisieren kann. In dieser Tabelle gibt es einen Feld, der nur aus Bauteilnummer besteht und ich möchte auch die Revisionsnummer anhängen. Ich weiß wie ich komplette Blockdefinition neu erstellen kann und auch wie ich ein bestimmtes item(1) oder item(2) ändern klann: Code: Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument ' Create the new title block defintion. Dim oTitleBlockDef As TitleBlockDefinition Set oTitleBlockDef = oDrawDoc.ActiveSheet.TitleBlock.Definition Dim oSketch As DrawingSketch Call oTitleBlockDef.Edit(oSketch) oSketch.TextBoxes.Item(31).Text = "My New Text" Call oTitleBlockDef.ExitEdit
aber diese items sind nie die richtigen.. Kann ich mit VBA irgendwie die Bauteilnummer finden und dort auch die Revisionsnummer anhängen? also 1. finden <Bauteilnummer> 2. ersetzen mit <Bauteilnummer> Rev <Revisionsnummer> 3. Schriftart 6,00 mm aus Type --> Eigenschaften-Modell Vielen Dank im Voraus! ------------------ ---------------- Viele Grüße Endu
[Diese Nachricht wurde von Enduro am 04. Okt. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer

 Beiträge: 3850 Registriert: 15.02.2001
|
erstellt am: 17. Sep. 2012 10:18 <-- editieren / zitieren --> Unities abgeben:          Nur für Enduro
|
Enduro Mitglied Wirtschaftsinformatik Studentin

 Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 17. Sep. 2012 10:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo, danke für die schnelle Antwort! Das habe ich leider schon gemacht und bis zu 150 durchgelaufen. Diese items referenzieren zum Teil garnicht die Texte die ich in der Tabelle habe sondern plazieren Texte auch da wo es gar kein Feld ist... ich habe auch schon einen Text neben Bauteilnummer eingesetzt aber voll verschoben, zu weit unten oder zu weit oben und nächster Zahl ist schon ganz wo anders.. wie kann ich anstatt .item(35) z.B. Bauteilnummer aus iProperty einsetzen? Das war meine Frage. Danke ------------------ ---------------- Viele Grüße Endu Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enduro Mitglied Wirtschaftsinformatik Studentin

 Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 17. Sep. 2012 11:47 <-- editieren / zitieren --> Unities abgeben:         
Ich habe durch einer Schleife jetzt die Nummer 22 gefunden, die auf Bauteilnummer referenziert: Schleife (falls einer braucht)
Code:
Public Sub Schleife() Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument ' Create the new title block defintion. Dim oTitleBlockDef As TitleBlockDefinition Set oTitleBlockDef = oDrawDoc.ActiveSheet.TitleBlock.Definition Dim oSketch As DrawingSketch Dim a As String Dim i As Integer Call oTitleBlockDef.Edit(oSketch) i = 1 Do i = i + 1 'Cells(i, 1).Value = i a = oSketch.TextBoxes.Item(i).Text MsgBox a MsgBox i Loop While i < 100 If Err Then Resume Next End If Call oTitleBlockDef.ExitEdit End Sub
ich habe auch schon ersetzt aber als Ergebnis bekomme ich nur einen Text im Feld und nicht die Eigenschaft, welche wiederum auf iPropertie referenzieren soll und automatisch die Revisionsnummer rausgeben soll wenn diese sich geändert hat... das ist jetzt mein Problem ------------------ ---------------- Viele Grüße Endu Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2788 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Sep. 2012 16:56 <-- editieren / zitieren --> Unities abgeben:          Nur für Enduro
Hallo Nicht den Text, sondern den FormattedText ersetzen. Beispiel: Zitat: "<Property Document='drawing' PropertySet='User Defined Properties' Property='BENENNUNG3' FormatID='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' PropertyID='3'>BENENNUNG"
Am besten einmal von Hand formatieren und im Debugger den String rauskopieren. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Anzeige: | Infos zum Werbeplatz >> | BlechCAD 3D CAD APP für Blechverarbeitung Metallbau- Fassadenbau- Planer, die aus fertigen Ansichten und Schnitten von Blechen, die Abwicklung zu bearbeiten haben, für eine NC-Software und Kantbankdaten.
Speziell für Aufträge die immer verschiedene Blecharten und Abmessungen aufweisen.
Blechabwicklungen für die Fertigung erstellen in 2-3 Mi
|
|
Enduro Mitglied Wirtschaftsinformatik Studentin

 Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 18. Sep. 2012 08:03 <-- editieren / zitieren --> Unities abgeben:         
|