| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Title Block Definition (1179 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: 3794 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: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
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 |
| Werkstudententätigkeit im Bereich Prototypenbau und 3D-Druck ab Juni 2024 | Life is always about becoming? Im Leben geht es darum, sich auf eine Reise zu begeben, um die beste Version unseres zukünftigen Selbst zu werden. Während wir Neues entdecken, stellen wir uns Herausforderungen, meistern sie und wachsen über uns hinaus.
Bewerben Sie sich bei Mercedes-Benz und finden Sie den Aufgabenbereich, in dem Sie Ihre Talente individuell entfalten können. Dabei werden Sie von visionären Kolleginnen und Kollegen unterstützt, die Ihren Pioniergeist teilen.... | Anzeige ansehen | Maschinenbau |
|
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:
|