Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Parameter mit VBA erstellen und löschen

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:  Parameter mit VBA erstellen und löschen (2282 mal gelesen)
RolandWeber
Mitglied
Zimmermann


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

Beiträge: 40
Registriert: 01.02.2002

Inv. 5.3, SP2
Inv. 7.0
XP Prof, SP2
3DLabs VP760
P IV 2.4, 1GB

erstellt am: 08. Jan. 2004 20:17    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 Leute

Aus einem benutzerdefierten Formular möchte ich User-Parameter bearbeiten, erstellen und teilweise auch wieder löschen.

Auflisten und die Werte bearbeiten funktioniert mit Hilfe des Beispieles in der APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)-Hilfe wunderbar.

Aber hat jemand ein Beispiel, wie man neue Parameter erstellt oder wieder einzelne Parameter löscht?

Vielen Dank
Roland

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 09. Jan. 2004 09:04    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 RolandWeber 10 Unities + Antwort hilfreich

Hallo Roland,

Du brauchst dazu ein AttributeSet. Ich habe Dir hier mal ein Stueck code-Schnipsel aus einer meiner App's. In diesem Fall verweise ich mit 'AttributeSets' auf BohrungsFeature (Set oAttribSets = oHole.AttributeSets). Anschliessend fuege ich ein neues AttributeSet hinzu (Set oAttribSet = oAttribSets.Add("MyAttribute")). Falls dieses AttributeSet 'MyAttribute' schon existiert, kommt es zum Error und ich loesche anschliessend das AttributeSet, womit auch dessen Attribute geloescht werden. Danach wird das AttributSet neu gesetzt (Set oAttribSet = oAttribSets.Add("MyAttribute")). Dann kannst Du beliebug viele Attribute definieren (die letzten 3 Zeilen), wobei Du da auf die richtigen Typen und Werte schauen musst, z.B. im ersten Attribut 'Set oAttr = oAttribSet.Add("HType", kIntegerType, cmbHole.ListIndex)' ist 'HType' der Name des Attributes, kIntegerType der Typ = Integer und 'cmbHole.ListIndex' ist der Integer-Wert, hier eben der Index aus einer ComboBox.

Sie Dir das Beispiel mal an:


Dim oAttribSets As AttributeSets
Dim oAttribSet As AttributeSet
Dim oAttr As Inventor.Attribute


Set oAttribSets = oHole.AttributeSets

' Error, falls AttributeSet schon existiert
On Error Resume Next     
Set oAttribSet = oAttribSets.Add("MyAttribute")
   
If Err Then
  Err.Clear
  Set oAttribSet = oAttribSets.Item("MyAttribute")

  ' falls Attribut schon existiert ---> loeschen
  oAttribSet.Delete
  Set oAttribSet = oAttribSets.Add("MyAttribute")
End If
 
' Attribute setzen       
Set oAttr = oAttribSet.Add("HType", kIntegerType, cmbHole.ListIndex)
Set oAttr = oAttribSet.Add("TType", kIntegerType, cmbTap.ListIndex)
Set oAttr = oAttribSet.Add("TValue", kStringType, cmbTapSize.Text)
' usw...


Ich hoffe, das hilft.

Gruesse,

Paul
www.morecam.ch/cad.htm

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

RolandWeber
Mitglied
Zimmermann


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

Beiträge: 40
Registriert: 01.02.2002

Inv. 5.3, SP2
Inv. 7.0
XP Prof, SP2
3DLabs VP760
P IV 2.4, 1GB

erstellt am: 09. Jan. 2004 10:14    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 für die Antwort ... nur .....

Jetzt habe ich eine Verständnisfrage:
Reden wir vom gleichen?

UserParameter:
Sind das nicht die Werte, welche ich frei unter "Extras>Parameter" neu definieren kann?

Attributes:
Wozu brauche ich (bzw IV) diese?

Aus der Programmierhilfe habe ich auch ein Beispiel für die Attributes genommen und auspropiert, verstehe aber nicht, was wirklich gesetzt wird.


Grüsse
Roland

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

VOSTA1
Mitglied
techn. Angestellter


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

Beiträge: 108
Registriert: 23.12.2002

erstellt am: 09. Jan. 2004 10: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 Nur für RolandWeber 10 Unities + Antwort hilfreich

Hallo,
Beispiel für eine *.idw

unter Eigenschaften Benutzdefiniert findet sich die Variable TEST
in der IDW

++++++++++++++++++++++++++++++++++++++++++++++
sub test

Dim oDoc As DrawingDocument

Set oDoc = ThisApplication.ActiveDocument

'Löscht ein User Parameter  TEST       
    On Error Resume Next
    oDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item("TEST").Delete

'Erzeugt ein User Parameter mit TEST
    On Error Resume Next
    oDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Add "", "TEST"

'setzt "testparameter123456" in TEST
oDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item("TEST").Value = "testparameter123456"


'MSGBOX Zeigt was in "TEST" steht

msgbox oDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item("TEST").Value

end sub

++++++++++++++++++++++++++++++++++

MFG VOSTA1

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 09. Jan. 2004 11:29    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 RolandWeber 10 Unities + Antwort hilfreich

Hallo Roland,

sorry, aber jetzt hatte ich einen Knoten - man solle eben das Gehirn einschalten, bevor man in die Tasten greift...
Mit Attributen kannst Du Informationen an Objekte anbringen (z.B. Bauteile, Flaechen, Kanten, Bohrungen, usw.). Ich benutze diese oft.

Setzten und veraendern von Parametern ist kein Problem, ich finde jetzt aber auf die Schnelle nichts zum loeschen von User-Parametern. Ich bin im Moment etwas gehetzt, kuemmere mich am Nachmittag mal darum.

Gruesse,

Paul

www.morecam.ch/cad.htm

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 09. Jan. 2004 16: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 Nur für RolandWeber 10 Unities + Antwort hilfreich

Hallo Roland,

ich habe eine Anfrage an ADN Support gestellt. User-parametern koennen via APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface) nicht geloescht werden.


Gruesse,

Paul

www.morecam.ch/cad.htm

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

RolandWeber
Mitglied
Zimmermann


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

Beiträge: 40
Registriert: 01.02.2002

Inv. 5.3, SP2
Inv. 7.0
XP Prof, SP2
3DLabs VP760
P IV 2.4, 1GB

erstellt am: 13. Jan. 2004 22: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 Vosta1

Danke für Deinen Tipp, aber es ist nicht wirklich, was ich suche ...
Ich suche nämlich die Verwaltung von Parametern, nicht von Properties.

Viele Grüsse
Roland

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