Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  neuen Speicherort definieren / Namen vergeben

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:  neuen Speicherort definieren / Namen vergeben (1556 mal gelesen)
tschebyscheff
Mitglied
Student

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

Beiträge: 2
Registriert: 15.02.2012

erstellt am: 15. Feb. 2012 15:45    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 alle miteinander,

ich habe folgendes Anliegen. Mit Hilfe einer Makro erzeuge ich im Inventor aus ein Baugruppe(.iam) ein vereinfachtes Teil(.ipt). Dies gelingt relativ gut.
Zusätzlich wird automatisch abhängig von den benutzerdefinierten iProperties der iam ein Name für die ipt erzeugt. Und hier fangen die Probleme an. Den Namen für das Teil zu vergeben gelingt mir nur mit FullFileName, FileName ist in diesem Fall nicht verfügbar. Zwar hat die erzeugte ipt dann den gewünschten Namen, allerdings wird gleichzeitig ein Speicherort für die Datei festgelegt. Sodas beim drücken des Speichern-Buttons kein Dialog zur Auswahl des Speicherorts auftaucht, sondern die Datei sonst wo gespeichert wird. Kann mir bitte jemand bei diesem Problem helfen.
Was gibt es für Wege einen Namen für das neu erzeugte Teil zu generieren ohne, dass Inventor gleichzeitig einen Speicherort festlegt?

Hier ist mein Programmiercode

Sub CreateShrinkwrapSubstitute()
   
    Dim oapp As Inventor.Application
    Set oapp = ThisApplication

    If oapp.ActiveDocument Is Nothing Then
    MsgBox "Kein Dokument geöffnet", vbInformation
    Exit Sub
    End If

    If oapp.ActiveDocument.DocumentType <> kAssemblyDocumentObject Then
    MsgBox "Funktion ist nur bei Baugruppen zulässig", vbInformation
    Exit Sub
    End If

    ' Set a reference to the active assembly document
    Dim oDoc As Inventor.AssemblyDocument
    Set oDoc = oapp.ActiveDocument

    Dim oDef As AssemblyComponentDefinition
    Set oDef = oDoc.ComponentDefinition

    ' Create a new part document that will be the shrinkwrap substitute
    Dim oPartDoc As Inventor.PartDocument
    Set oPartDoc = oapp.Documents.Add(kPartDocumentObject)
     
    Dim oPartDef As PartComponentDefinition
    Set oPartDef = oPartDoc.ComponentDefinition

    Dim oDerivedAssemblyDef As DerivedAssemblyDefinition
    Set oDerivedAssemblyDef = oPartDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(oDoc.FullDocumentName)

    ' Set various shrinkwrap related options
    ' Style
    oDerivedAssemblyDef.DeriveStyle = kDeriveAsMultipleBodies
   
    ' Vereinfachung
    Call oDerivedAssemblyDef.SetRemoveByVisibilityOptions(kDerivedRemoveNone)
   
    ' Lochabdeckung
    Call oDerivedAssemblyDef.SetHolePatchingOptions(kDerivedPatchNone)
   
    ' Andere Objekte Einbeziehen
    oDerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = kDerivedExcludeAll
    oDerivedAssemblyDef.IncludeAllTopLevelSketches = kDerivedExcludeAll
    oDerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = kDerivedExcludeAll
    oDerivedAssemblyDef.IncludeAllTopLevelParameters = kDerivedExcludeAll
   
    ' oDerivedAssemblyDef.
    oDerivedAssemblyDef.InclusionOption = False
    oDerivedAssemblyDef.ReducedMemoryMode = True
   
    ' Get the PropertySets object.
    Dim oPropSets As PropertySets
    Set oPropSets = oDoc.PropertySets

    'Get the design tracking property set.
    Dim oPropSet As PropertySet
    Set oPropSet = oPropSets.Item("Inventor User Defined Properties")

    ' Get the  iProperties
    Dim oPartBehArt As Property
    Set oPartBehArt = oPropSet.Item("Behaelterart")
   
      ' rename the part
    Dim strSubstituteFileName As String
    strSubstituteFileName = oPartBehArt.Value & ".ipt"
   
    oPartDoc.FullFileName = strSubstituteFileName

  ' Create the shrinkwrap component
    Dim oDerivedAssembly As DerivedAssemblyComponent
    Set oDerivedAssembly = oPartDef.ReferenceComponents.DerivedAssemblyComponents.Add(oDerivedAssemblyDef)
    oDerivedAssembly.BreakLinkToFile

End Sub

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 15. Feb. 2012 16:02    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 tschebyscheff 10 Unities + Antwort hilfreich

Hallo,

ohne getestet zu haben, eine von den beiden Möglichkeiten dürfte funktionieren:

Code:

oPartDoc.DisplayName = strSubstituteFileName

oder

Code:

oPartDoc.Dirty = True


------------------
Grüße Igor

FX64 Software Solutions - Inventor Tools
FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor

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

tschebyscheff
Mitglied
Student

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

Beiträge: 2
Registriert: 15.02.2012

erstellt am: 17. Feb. 2012 11:37    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

Vielen Dank für die schnelle Antwort. Das Erste hat funktioniert.
Beim Zweiten reagiert Inventor irgenwie überhaupt nicht.

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



Architekten / Bauingenieure (m/w/d)

Bei der Stadt Winterberg werden zum nächstmöglichen Zeitpunkt

Architekten / Bauingenieure (m/w/d)

im Zentralen Gebäudemanagement (ZGM) gesucht. Der Einsatz erfolgt im Hochbau.

Die Stadt Winterberg bietet nicht nur als Kommune mit rund 12.600 Bürgerinnen und Bürgern viele lebenswerte Pluspunkte, sondern auch als Arbeitgeberin von rund 120 Mitarbeiterinnen und ...

Anzeige ansehenTeamleitung, Gruppenleitung
daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 17. Feb. 2012 11:45    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 tschebyscheff 10 Unities + Antwort hilfreich

Hi,

die zweite Zeile soll nur bewirken, dass der Speicherdialog erscheint. Das ist aber nicht mehr notwendig wenn die erste Möglichkeit funktioniert hat.

------------------
Grüße Igor

FX64 Software Solutions - Inventor Tools
FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor

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