Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Zeichenressourcen per VBA einfügen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Zeichenressourcen per VBA einfügen (2394 mal gelesen)
axi92
Mitglied
Konstrukteur


Sehen Sie sich das Profil von axi92 an!   Senden Sie eine Private Message an axi92  Schreiben Sie einen Gästebucheintrag für axi92

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 27. Mrz. 2014 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ist es möglich Zeichnungsressourcen per VBA einzufügen?
Wenn ja wie?
Weil ich möchte nicht immer den neuen Schriftkopf aus der Vorlage raus kopieren und in die aktuelle Zeichnung einfügen...

------------------
Grüße aus Wien
Philipp
http://black-evolution.de/

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADboogie
Mitglied
Dipl.-Ing. Konstrukteur für Luftführungssysteme


Sehen Sie sich das Profil von CADboogie an!   Senden Sie eine Private Message an CADboogie  Schreiben Sie einen Gästebucheintrag für CADboogie

Beiträge: 241
Registriert: 05.08.2009

Intel Xeon@ 3,07 GHz
NVIDIA Quadro 2000
Windows 7, SP1, 64Bit
Inventor 2012 (SP2), 2014 (SP2)

erstellt am: 27. Mrz. 2014 12:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axi92 10 Unities + Antwort hilfreich

Mahlzeit,

hatten wir - glaube ich - schon mal hier. Über eine externe iLogic Regel (Copyright by myself)

Dim oNewDocument As DrawingDocument
oNewDocument = ThisApplication.ActiveDocument
If oNewDocument.ActiveSheet.TitleBlock.Definition.Name = "KKopf_CAV" Then
MsgBox (oNewDocument.ActiveSheet.TitleBlock.Definition.Name & " bereits vorhanden!")
Else
ThisApplication.SilentOperation = True ' versteckt arbeiten

Dim oSourceDocument As DrawingDocument
oSourceDocument = ThisApplication.Documents.Open("U:\CAD\INVENTOR\Templates\2012\KNorm_2012.idw")

' Get the new source title block definition.
Dim oSourceTitleBlockDef As TitleBlockDefinition
oSourceTitleBlockDef = oSourceDocument.ActiveSheet.TitleBlock.Definition

' Get the new title block definition.
Dim oNewTitleBlockDef As TitleBlockDefinition
oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(oNewDocument)

oSourceDocument.Close
ThisApplication.SilentOperation = False ' versteckt arbeiten
' Iterate through the sheets.
Dim oSheet As Sheet
For Each oSheet In oNewDocument.Sheets
oSheet.Activate

oSheet.TitleBlock.Delete
Call oSheet.AddTitleBlock(oNewTitleBlockDef)
Next
End If


Du musst halt nur Deine eigene Vorlage und die Bezeichnung deines Schriftkopfes einsetzen.

------------------
Gruß aus Aachen,
Walter

*** Man kann nicht alles gleichzeitig machen, aber man kann alles gleichzeitig sein lassen ***

[Diese Nachricht wurde von CADboogie am 27. Mrz. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

axi92
Mitglied
Konstrukteur


Sehen Sie sich das Profil von axi92 an!   Senden Sie eine Private Message an axi92  Schreiben Sie einen Gästebucheintrag für axi92

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 27. Mrz. 2014 13:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wie kann ich abfragen das es nur bei idws geht?
Und kann ich den Ereignisauslöser nicht nur Dokument bezogen machen sondern auf alles automatisch anwenden?

------------------
Grüße aus Wien
Philipp
http://black-evolution.de/

[Diese Nachricht wurde von axi92 am 27. Mrz. 2014 editiert.]

[Diese Nachricht wurde von axi92 am 27. Mrz. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADboogie
Mitglied
Dipl.-Ing. Konstrukteur für Luftführungssysteme


Sehen Sie sich das Profil von CADboogie an!   Senden Sie eine Private Message an CADboogie  Schreiben Sie einen Gästebucheintrag für CADboogie

Beiträge: 241
Registriert: 05.08.2009

Intel Xeon@ 3,07 GHz
NVIDIA Quadro 2000
Windows 7, SP1, 64Bit
Inventor 2012 (SP2), 2014 (SP2)

erstellt am: 27. Mrz. 2014 16:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axi92 10 Unities + Antwort hilfreich

..so, z. B.

If Not ThisApplication.ActiveDocument.DocumentType = kDrawingDocumentObject Then
        MsgBox ("Start ist nur in der Ableitungsumgebung (IDW) möglich!!", vbOKOnly, "Error")
Else
..
End if

Ich glaube, dass der Ereignisauslöser Dokument bezogen ist.

------------------
Gruß aus Aachen,
Walter

*** Man kann nicht alles gleichzeitig machen, aber man kann alles gleichzeitig sein lassen ***

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

axi92
Mitglied
Konstrukteur


Sehen Sie sich das Profil von axi92 an!   Senden Sie eine Private Message an axi92  Schreiben Sie einen Gästebucheintrag für axi92

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 31. Mrz. 2014 07:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe jetzt beim Übertragen eine Fehlermeldung bekommen, kann mit dieser aber nichts anfangen:

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei LmiRuleScript.Main()
   bei Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
   bei iLogic.RuleEvalContainer.ExecRuleEval(String execRule)


Die Frage die sich mir auch noch stellt kann man es auch ersetzen? Weil bei mir wird eine Kopie erstellt da ja schon eines vorhanden ist.
------------------
Grüße aus Wien
Philipp
http://black-evolution.de/

[Diese Nachricht wurde von axi92 am 31. Mrz. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 31. Mrz. 2014 18:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axi92 10 Unities + Antwort hilfreich

Hallo

Wenn ich mich recht erinner in der Zeile

Code:
oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(oNewDocument)

noch ein True hinten dran
Code:
oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(oNewDocument,True)

Die Fehlermeldung besagt mM das deine Hauptroutine eine Subroutine aufrufen will, aber vermutlich ist der String execRule mit dem Namen der Regel leer?

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

axi92
Mitglied
Konstrukteur


Sehen Sie sich das Profil von axi92 an!   Senden Sie eine Private Message an axi92  Schreiben Sie einen Gästebucheintrag für axi92

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 01. Apr. 2014 07:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ah jz weiß ich wann der Fehler kommt, wenn gerade kein Schriftfeld in der Zeichnung eingefügt ist.

------------------
Grüße aus Wien
Philipp
http://black-evolution.de/

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bluejay
Mitglied
Ingenieur


Sehen Sie sich das Profil von Bluejay an!   Senden Sie eine Private Message an Bluejay  Schreiben Sie einen Gästebucheintrag für Bluejay

Beiträge: 198
Registriert: 14.05.2007

Inventor 2011 for Simulation<P>Microsoft Windows XP Professional<P>Dell Precision T3400
Intel(R) Core(TM)2 Duo CPU
E6750 @2,66 GHz
3,00 GB RAM

erstellt am: 03. Apr. 2014 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axi92 10 Unities + Antwort hilfreich

So etwas habe ich mal zusammengebastelt

http://ww3.cad.de/foren/ubb/Forum258/HTML/001363.shtml#000006


MFG

------------------
MFG

BlueJay

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



CAD-Konstrukteur (m/w/d)
<...
Anzeige ansehenKonstruktion, Visualisierung
axi92
Mitglied
Konstrukteur


Sehen Sie sich das Profil von axi92 an!   Senden Sie eine Private Message an axi92  Schreiben Sie einen Gästebucheintrag für axi92

Beiträge: 685
Registriert: 20.02.2010

Inventor 2014 64bit SP2
Vault Basic 2014 64bit SP1
HP Z200
Win 7 64bit
16GB RAM
CPU: i5 3,2GHz
GPU: Nvidia Quadro K600

erstellt am: 03. Apr. 2014 12:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke habe jetzt auch schon was für mich passt =)

Code:

Public Sub Drawing_res_update()
    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_WS\Makros\Zeichnungsressourcen.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
End Sub

------------------
Grüße aus Wien
Philipp
http://black-evolution.de/

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz