| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Zeichnungskopf (3572 mal gelesen)
|
JOLI Mitglied Professional Technical Engineer / CAX -PLM
Beiträge: 86 Registriert: 28.02.2002
|
erstellt am: 06. Dez. 2007 14:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich möchte einen Zeichnungskopf von unserer Vorlage in ein Zeichnung einfügen. Kann mir jemand da einen Tipp geben um damit zu beginnen ???????????? Vielen Dank ! ------------------ Grüße Jörg Lipphardt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 06. Dez. 2007 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
|
Kuddelvonneküst Mitglied Dipl.-Ing. (FH)
Beiträge: 506 Registriert: 18.02.2005 Dell Precision T5500 NVidia Quadro FX 3800 1GB Xeon Quad Core 3,2GHz 12GB RAM Windows 7 ultimate 64 2x20"@1600x1200 AIS2012 SP2 Vault 2012 auf XP-Pro32
|
erstellt am: 10. Dez. 2007 21:22 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
muss es denn unbedingt mit VBA sein, oder reicht Dir eventuell der Übertragungsassistent für Zeichnungsressourcen? Grüße Kuddelvonneküst ------------------ Technik entwickelt sich immer vom Primitiven über das Komplizierte zum Einfachen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Ehrenmitglied V.I.P. h.c. Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13115 Registriert: 02.04.2004 AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot DellM4600 2,13GHz 2GB FxGo1400 1920x1200 am Dock Dell2711
|
erstellt am: 11. Dez. 2007 00:03 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
|
JOLI Mitglied Professional Technical Engineer / CAX -PLM
Beiträge: 86 Registriert: 28.02.2002
|
erstellt am: 11. Dez. 2007 09:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Kuddelvonneküst (Moin,Moin !) leider muss es VBA seien, da ich das als Makro meinen Anwendern "per Knopfdruck" zur Verfügung stellen möchte ! Hallo Roland
Es sollte für verschiedene Schriftfelder und Zeichnungen machbar sein (Firmenname hat gewechselt) Danke an alle !
Jörg [Diese Nachricht wurde von JOLI am 11. Dez. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steiner Dominik Mitglied Mechanical Engineer
Beiträge: 141 Registriert: 12.09.2007 Inventor 2008 SP1 Dell Precision PWS380 Intel(R) Pentium(R) CPU 3.20GHz 3.19GHz, 3,50GB RAM<P>Windows XP Pro Version 2002 SP2
|
erstellt am: 22. Feb. 2008 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
|
JOLI Mitglied Professional Technical Engineer / CAX -PLM
Beiträge: 86 Registriert: 28.02.2002
|
erstellt am: 22. Feb. 2008 14:31 <-- editieren / zitieren --> Unities abgeben:
|
pd65 Mitglied
Beiträge: 83 Registriert: 01.06.2004 Windows 7 pro (64); IV 2009 pro; SP2
|
erstellt am: 25. Feb. 2008 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
Hallo Jörg, ich habe in meiner Norm.idw meine Änderungen gemacht und kopiere die geänderten Schriftfelder und skizzierten Symbole einfach in die alte Zeichnung. Wichtig, die Namen sind nicht verändert. Vorher gibts noch eine Abfrage, ob das aktive Dokument auch eine IDW ist. 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("C:\Inventor\Templates\norm.idw", 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 Ich habe mir von meiner Norm.idw eine Kopie angelegt, damit nicht versehentlich das geöffnete Dokument von jemand anderen als Vorlage verwendet wird. Das könnte Probleme geben. Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JOLI Mitglied Professional Technical Engineer / CAX -PLM
Beiträge: 86 Registriert: 28.02.2002
|
erstellt am: 25. Feb. 2008 16:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Peter ! SUPER !!!!!!!!!!!!!!!!!!!!! Ich denke, dass es genau das ist was ich brauche ! Meine ersten Tests waren erfolgreich ! Tausend Dank aus dem Schwäbischen ------------------ Grüße Jörg Lipphardt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tacker Mitglied TZ, Tech. MB, Softwareentwickler
Beiträge: 175 Registriert: 23.09.2010 IV 2017 Pro i7-7700K 4x4.2GHz 32GB DDR4-2400 GTX 1060 6GB DDR5
|
erstellt am: 17. Apr. 2011 20:18 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
Hallo Forum, ich möchte das Thema wieder aufgreifen weil es ganz gut zu meinem jetzigen passt: und zwar benutze ich den Code von Peter auch(leicht modifiziert) jedoch wenn mir dann mal eine ganz alte Zeichnung unterkommt, wo das Schriftfeld dann nicht mehr "DIN" (← das aktuelle) heisst sondern "ISO" dann gibt´s ein Problem denn es wird nicht aktualisiert hab´s dann probiert zu lösen aber bis jetzt noch keine Lösung in Sicht soweit bin ich mal: zuerst eine Abfrage ob überhaupt ein Schriftfeld aktiv ist If odoc.ActiveSheet.TitleBlock is Nothing then ' Neues Schriftfeld aktiv setzen Else 'hab danach eine Abfrage eingefügt ob das aktive Schriftfeld das aus der Vorlage ist: If odoc.ActiveSheet.TitleBlock.Name <> oTitleDef.Name Then odoc.ActiveSheet.TitleBlock.Delete ' neues Schriftfeld aktiv setzen End If End If also konkret: wie kann ich ein Schriftfeld auf "aktiv" setzen? Vielen Dank euch schon mal im Vorraus für eure Mühen Anregungen sind natürlich auch wilkommen Gruß Tacker 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. Apr. 2011 22:51 <-- editieren / zitieren --> Unities abgeben: Nur für JOLI
Hallo Aktiv setzen kann man ein Schriftfeld nicht. Du mußt ein neues auf dein aktives Blatt einfügen. Code: Public Sub InsertTitleBlockOnSheet() ' Set a reference to the drawing document. ' This assumes a drawing document is active. Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument ' Obtain a reference to the desired border defintion. Dim oTitleBlockDef As TitleBlockDefinition Set oTitleBlockDef = oDrawDoc.TitleBlockDefinitions.Item("Sample Title Block") '<--- Hier deinen Schriftfeldnamen einsetzen. Dim oSheet As Sheet Set oSheet = oDrawDoc.ActiveSheet ' Check to see if the sheet already has a title block and delete it if it does. If Not oSheet.TitleBlock Is Nothing Then oSheet.TitleBlock.Delete End If ' Add an instance of the title block definition to the sheet. Dim oTitleBlock As TitleBlock Set oTitleBlock = oSheet.AddTitleBlock(oTitleBlockDef, ,) End Sub
------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |