Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Makro iProperty-Einträge

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:  Makro iProperty-Einträge (3050 mal gelesen)
cader1234
Mitglied


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

Beiträge: 2
Registriert: 18.06.2014

erstellt am: 18. Jun. 2014 08:19    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 ein Macro was mir Einträge in den Benutzerdefinierten IProperties erzeugt, wenn diese aber schon vorhanden sind bekomme ich eine Fehlermeldung und das Macro schmiert ab.
Ich würde gern einen If Befehl verwenden, nur weiß ich nicht welchen Wert ich wie abfragen muß.
Kann mir vielleicht jemand helfen?
Hier mal der nur bedingt funktionierende Code.
Grüße Sebastian. 

Code:
' Get the active document.
Dim invDoc As Document
Set invDoc = ThisApplication.ActiveDocument
' Get the user defined (custom) property set.
Dim invCustomPropertySet As PropertySet
Set invCustomPropertySet = invDoc.PropertySets.Item("Inventor User Defined Properties")
' Declare some variables that will contain the various values.
Dim strText As String
Dim dblValue As Double
Dim dtDate As Date
Dim blYesOrNo As Boolean
' Set values for the variables.
strText = ""
dblValue = 3.14159
dtDate = Now
blYesOrNo = True
' Create the properties.
Dim invProperty As Property
Set invProperty = invCustomPropertySet.Add(strText, "W-Norm")
Set invProperty = invCustomPropertySet.Add(strText, "Benennung")
Set invProperty = invCustomPropertySet.Add(strText, "Zeichnung - Nr.")
Set invProperty = invCustomPropertySet.Add(strText, "Bemerkung")
Set invProperty = invCustomPropertySet.Add(strText, "A-Norm")
   

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

invhp
Ehrenmitglied V.I.P. h.c.
MB Techniker, AE, WKZmacher



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

Beiträge: 5552
Registriert: 16.05.2002

(fast) alles, was Autodesk im Mechanikbereich anbietet ;)

erstellt am: 18. Jun. 2014 08:38    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 cader1234 10 Unities + Antwort hilfreich

Code:
Public Sub TestiPropertyUpdate()
    ' Get the active document.
    Dim Doc As Document
    Set Doc = ThisApplication.ActiveDocument

    ' Update or create the custom iProperty.
    Call UpdateCustomiProperty(Doc, "Test", "Some Text")
End Sub

Public Sub UpdateCustomiProperty(ByRef Doc As Document, _
ByRef PropertyName As String, _
ByRef PropertyValue As Variant)
    ' Get the custom property set.
    Dim customPropSet As PropertySet
    Set customPropSet = Doc.PropertySets.Item( _
   "Inventor User Defined Properties")

    ' Get the existing property, if it exists.
    Dim prop As Property
    On Error Resume Next
    Set prop = customPropSet.Item(PropertyName)

    ' Check to see if the above call failed.  If it failed
    ' then the property doesn't exist.
    If Err.Number <> 0 Then
    ' Failed to get the existing property so create a new one.
    Set prop = customPropSet.Add(PropertyValue, PropertyName)
    Else
    ' Change the value of the existing property.
    prop.Value = PropertyValue
    End If
End Sub


Quelle

------------------
Grüsse
Jürgen
<A" TARGET=_blank>http://modthemachine.typepad.com/my_weblog/2010/02/custom-iproperties.html

------------------
Grüsse
Jürgen
<A</A> HREF="http://inventorfaq.blogspot.com/" TARGET=_blank>Über 1400 Tipps in der Inventor FAQ</A>
Inventor Schulungsvideos und eBook zum runterladen
Die besten Tipps und Tricks für Einsteiger | für erfahrene Anwender | bei Inventor Abstürzen | die Simulation

[Diese Nachricht wurde von invhp am 18. Jun. 2014 editiert.]

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

cader1234
Mitglied


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

Beiträge: 2
Registriert: 18.06.2014

erstellt am: 18. Jun. 2014 08: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

Hallo, vielen Dank hab den code aber leider nicht zum laufen bekommen...  
So hier klappts bei mir aber , falls es jemand interessiert:


Code:
Public Sub UpdateVolume()
' Get the active part document.
Dim invPartDoc As PartDocument
Set invPartDoc = ThisApplication.ActiveDocument
' Get the volume of the part. This will be returned in
' cubic centimeters.
Dim dVolume As Double
dVolume = invPartDoc.ComponentDefinition.MassProperties.Volume
' Get the UnitsOfMeasure object which is used to do unit conversions.
im oUOM As UnitsOfMeasure
Set oUOM = invPartDoc.UnitsOfMeasure
' Convert the volume to the current document units.
Dim strVolume As String
strVolume = oUOM.GetStringFromValue(dVolume, _oUOM.GetStringFromType(oUOM.LengthUnits) & "^3")
' Get the custom property set.
Dim invCustomPropertySet As PropertySet
Set invCustomPropertySet = _invPartDoc.PropertySets.Item("Inventor User Defined Properties")
' Attempt to get an existing custom property named "Volume".
On Error Resume Next
Dim invVolumeProperty As Property
Set invVolumeProperty = invCustomPropertySet.Item("Volume")
If Err.Number <> 0 Then
' Failed to get the property, which means it doesn't exist
' so we'll create it.
Call invCustomPropertySet.Add(strVolume, "Volume")
Else
' We got the property so update the value.
invVolumeProperty.Value = strVolume
End If
End Sub

[Diese Nachricht wurde von cader1234 am 18. Jun. 2014 editiert.]

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

tschütte
Mitglied
Ingenieur, Maschinenbau


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

Beiträge: 180
Registriert: 21.01.2010

Inventor professional 2023
Win 10 pro 64
shining3D einscan 2X pro plus
QuickSurface 2023
PLZ: 262..
3D-Fokus.de

erstellt am: 18. Jun. 2014 09: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 Nur für cader1234 10 Unities + Antwort hilfreich

Hallo Jürgen,

das scheint mir vba zu sein. Geht so etwas auch mit iLogic?
Wenn ja, was muss angepasst werden?
Wenn nein, muss ich wohl meinen vba-Editor zum Laufen bringen und mich mehr mit vba beschäftigen :-S

Beste Grüße

Thomas

------------------
Freundliche Grüße
Thomas Schütte

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

invhp
Ehrenmitglied V.I.P. h.c.
MB Techniker, AE, WKZmacher



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

Beiträge: 5552
Registriert: 16.05.2002

(fast) alles, was Autodesk im Mechanikbereich anbietet ;)

erstellt am: 18. Jun. 2014 09:27    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 cader1234 10 Unities + Antwort hilfreich

tschütte
Mitglied
Ingenieur, Maschinenbau


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

Beiträge: 180
Registriert: 21.01.2010

Inventor professional 2023
Win 10 pro 64
shining3D einscan 2X pro plus
QuickSurface 2023
PLZ: 262..
3D-Fokus.de

erstellt am: 18. Jun. 2014 10:08    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 cader1234 10 Unities + Antwort hilfreich

Hallo Jürgen,
besten Dank. Schnell und effektiv weitergeholfen :-)
Schöne Grüße
Thomas

------------------
Freundliche Grüße
Thomas Schütte

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)2024 CAD.de | Impressum | Datenschutz