Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor VBA
  Neue iPropteries werden nicht abgespeichert

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
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Neue iPropteries werden nicht abgespeichert (545 / 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: 63
Registriert: 14.11.2014

erstellt am: 14. Jul. 2016 08:56    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 VBA Skript, das folgendermaßen aussieht:

Sub iProperties()

    'Setze eine Referenz zum Bauteil
    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument

    'Physikalische Eigenschaften definieren
    Dim oMassProps As MassProperties
    Set oMassProps = oPartDoc.ComponentDefinition.MassProperties

    'Genauigkeit = hoch
    oMassProps.Accuracy = k_High
    On Error Resume Next
   
    'Gewicht merken und Runden
    realmass = (Round(oMassProps.Mass, 3))
    realmassvalue = (Round(oMassProps.Mass, 3))

    'Flaeche merken und Runden
    realarea = (Round(oMassProps.Area, 1))
    realareavalue = (Round(oMassProps.Area, 1))

    'Material lesen
    Dim oPropsets As PropertySets
    Set oPropsets = oPartDoc.PropertySets
    Dim oPropmaterial As Property
    Set oPropmaterial = oPropsets.Item("{32853F0F-3444-11d1-9E93-0060B03C1CA6}") _
    .ItemByPropId(kMaterialDesignTrackingProperties)
    Dim oPropmaterial_name As String
    oPropmaterial_name = oPropmaterial.Value

    'PROPERTIES SCHREIBEN (USER)
    Dim oPropSet As PropertySet
    Set oPropSet = oPropsets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")
   
    'Wenn vorhanden dann löschen
    oPropSet.Item("GEWICHT").Delete
    oPropSet.Item("FLAECHE").Delete
    oPropSet.Item("WERKSTOFF").Delete
    'Neu schreiben
    Call oPropSet.Add(realmass, "Gewicht", 105)
    Call oPropSet.Add(realarea, "Fläche", 106)
    Call oPropSet.Add(oPropmaterial_name, "Werkstoff", 108)
On Error GoTo 0

End Sub


Fläche, Werkstoff und Gewicht werden eingetragen. Leider speichert er nicht die neuen iProperties (Datei speichern, schließen und neu öffnen).
Kann das mal einer von euch testen? Und was kann man dagegen tun?

Falls jemand noch eine andere Frage beantworten kann: Ich möchte die Fläche als ganze Zahl gerundet haben. Egal welchen Wert (hier ist es "1") ich bei:

realarea = (Round(oMassProps.Area, 1))
realareavalue = (Round(oMassProps.Area, 1))

eintrage, da tut sich auch nichts bei mir bzw. keine Änderung!

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

BernoAn
Mitglied



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

Beiträge: 172
Registriert: 16.01.2014

erstellt am: 14. Jul. 2016 10:06    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

Ersetze diese Zeile, dann geht es!

Code:

Set oPropSet = oPartDoc.PropertySets.Item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}")

Gruß Berno

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



Anzeige:Infos zum Werbeplatz >>

Fast Specificator CAD APP für AEC - Architektur-, Ingenieur- und Bauwesen, Fassadenbau

FastSpecificator is an application for 2D claddings and specifications

BernoAn
Mitglied



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

Beiträge: 172
Registriert: 16.01.2014

erstellt am: 14. Jul. 2016 14:20    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

Zum Runden auf ganze Zahl

mach aus der 1 eine 0

Code:

realarea = (Round(oMassProps.Area, 0))
realareavalue = (Round(oMassProps.Area, 0))

Gruß Berno

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