Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Zeichnung: Stil importieren

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:  Zeichnung: Stil importieren (1384 mal gelesen)
Starbuzz
Mitglied



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

Beiträge: 60
Registriert: 14.11.2014

erstellt am: 13. Dez. 2016 10:12    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

Hallo,

ich habe dazu leider nichts finden können.
Ich möchte den Stil per VBA importieren.

Stil Editor -> importieren -> test.styxml -> Ok

Habe leider gelesen das es nicht möglich sei? Stimmt das?
Ein Script in den Beispieln von Inventor bzgl. Schfitfeld austauschen habe ich schon.
Jetzt wäre es noch schön den Stil zu importieren 

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

KatzenHund
Mitglied
CAx Administrator


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

Beiträge: 83
Registriert: 24.04.2012

Win 10 64Bit
Product Design & Manufacturing Collection
Vault Professional
DELL Precision T5810

erstellt am: 13. Dez. 2016 11:12    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 Starbuzz 10 Unities + Antwort hilfreich

Hallo Starbuzz,

ist zwar nicht VBA sondern VB.NET sollte aber trotzdem gehen, wenn du es ein wenig modifizierst. Das Script stammt aus einem eigenen Tool, welches alle Stile, Symbole, Parameter etc. von einer Vorlage in das jeweils aktuelle Dokument kopiert.

Code:
'Stile übertragen
      Dim obj_InvApp As Inventor.Application = GetObject(, "Inventor.Application")
      Dim obj_InvDestDrawDoc As Inventor.DrawingDocument = obj_InvApp.ActiveDocument

      Dim obj_InvStyles As Inventor.DrawingStylesManager
      Dim obj_InvStyle As Inventor.Style
      obj_InvStyles = obj_DestDrawDoc.StylesManager
     
      For Each obj_InvStyle In obj_InvStyles.Styles
          If obj_InvStyle.UpToDate = False Then
              obj_InvStyle.UpdateFromGlobal() '<-- Hier werden die Zeichnungsstile mit den globalen aktualisiert
          End If
      Next



Gruß

Stefan

------------------
Wer nicht mitmacht, kann auch nichts verändern

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

Starbuzz
Mitglied



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

Beiträge: 60
Registriert: 14.11.2014

erstellt am: 13. Dez. 2016 12:57    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 aber glaube ich etwas ähnliches gefunden.
Und zwar aktualisiert er den Stil nach einem gegebenen Stil

Public Sub ChangeObjDefaults()

    'set active document as drawing document
    Dim oDrgDoc As DrawingDocument
    Set oDrgDoc = ThisApplication.ActiveDocument
     
    Dim oDrgStlMgr As DrawingStylesManager
    Set oDrgStlMgr = oDrgDoc.StylesManager
   
    Dim oObjDfStl As ObjectDefaultsStylesEnumerator
    Set oObjDfStl = oDrgStlMgr.ObjectDefaultsStyles

    'set Object Defaults (ISO) as active object default style
    oDrgStlMgr.ActiveStandardStyle.ActiveObjectDefaults = oObjDfStl.Item("Object Defaults (ISO)")

End Sub

Ich schaue mal wie ich jetzt den neuen Stil da einfügen soll, den ich manuell immer importiere.

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

Starbuzz
Mitglied



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

Beiträge: 60
Registriert: 14.11.2014

erstellt am: 16. Dez. 2016 10:59    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

So ich habe es 

Der Code ist etwas länger aber tut es auch

Sub IDW_UpdateStylesIV2008()
'message box strings
msgPrm1 = " This Macro Only Works with Drawings Documents "
msgPrm2 = " Please open a Drawing "
msgTit = "Wrong Active Document Type"
Prm1 = Len(msgPrm1) + 4
Prm2 = Len(msgPrm2) + 4
Tit = Len(msgTit)
cmsgPrm2 = String((Prm1 - Prm2) / 2, Chr(32)) & msgPrm2
cmsgTit = String((Prm1 - Prm2) / 2, Chr(32)) & msgTit

'check if the active document is a drawing document
If ThisApplication.ActiveDocumentType = kDrawingDocumentObject Then
Dim oIDW As DrawingDocument
Set oIDW = ThisApplication.ActiveDocument

Dim oIDWStyles As Inventor.DrawingStylesManager
Set oIDWStyles = oIDW.StylesManager
Else
MsgBox msgPrm1 & Chr(13) & Chr(13) & cmsgPrm2, vbExclamation, cmsgTit
End If

Dim i As Integer

'loop thru all styles and check if they are up to date
For i = 1 To oIDWStyles.StandardStyles.Count
'Debug.Print "Std Styles - " + oIDWStyles.StandardStyles.Item(I).Name
If oIDWStyles.StandardStyles.Item(i).UpToDate = False Then
oIDWStyles.StandardStyles.Item(i).UpdateFromGlobal
End If
Next

For i = 1 To oIDWStyles.ObjectDefaultsStyles.Count
'Debug.Print "Obj Def Styles - " + oIDWStyles.ObjectDefaultsStyles.Item(I).Name
If oIDWStyles.ObjectDefaultsStyles.Item(i).UpToDate = False Then
oIDWStyles.ObjectDefaultsStyles.Item(i).UpdateFromGlobal
End If
Next

For i = 1 To oIDWStyles.DimensionStyles.Count
'Debug.Print "Dim Styles - " + oIDWStyles.DimensionStyles.Item(I).Name
If oIDWStyles.DimensionStyles.Item(i).UpToDate = False Then
oIDWStyles.DimensionStyles.Item(i).UpdateFromGlobal
End If
Next

For i = 1 To oIDWStyles.TextStyles.Count
'Debug.Print "TXT Styles - " + oIDWStyles.TextStyles.Item(I).Name
If oIDWStyles.TextStyles.Item(i).UpToDate = False Then
oIDWStyles.TextStyles.Item(i).UpdateFromGlobal
End If
Next

For i = 1 To oIDWStyles.Layers.Count
'Debug.Print "Layers Styles - " + oIDWStyles.Layers.Item(I).Name
If oIDWStyles.Layers.Item(i).UpToDate = False Then
oIDWStyles.Layers.Item(i).UpdateFromGlobal
End If
Next

'Inv2008 Styles Class
For i = 1 To oIDWStyles.Styles.Count
Debug.Print "Styles - " + oIDWStyles.Styles.Item(I).Name
If oIDWStyles.Styles.Item(i).UpToDate = False Then
oIDWStyles.Styles.Item(i).UpdateFromGlobal
End If
Next

oIDW.Update
oIDW.Save
'set Drawing settings
If oIDW.DrawingSettings.DeferUpdates = True Then
oIDW.DrawingSettings.DeferUpdates = False
oIDW.Save
End If
'oIDW.Close
End Sub

Mit dem Code Teil des Rahmen und Schriftfeldes erneuern, ist mein VBA nun komplett!

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