Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Komp.-beschreibung API

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 SOLIDWORKS
Autor Thema:  Komp.-beschreibung API (2051 mal gelesen)
Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 28. Sep. 2010 10:28    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


Komponenteneigenschaften.jpg

 
Hallo zusammen

ich würde gerne in den Komponenteneigenschaften gern die darin enthaltene Komponentenbeschreibung (siehe roten Rahmen im Anhang) auslesen.
Kennt vielleicht jemand die dazugehörige API-Methode?

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 28. Sep. 2010 10:55    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 Scoopa 10 Unities + Antwort hilfreich


Komponentenbeschreibung.jpg

 
Hallo Scoopa,

als Komponentenbeschreibung wird die Dokumenteigenschaft verwendet, die in den Systemoptionen unter "Benutzerdefinierte Eigenschaft als Komponentenbeschreibung verwendet" angegeben ist (siehe Bild).
Diese kannst du mit:
%Eigenschaftsname% = SldWorks.GetUserPreferenceStringValue(swCustomPropertyUsedAsComponentDescription)
auslesen.

Den Wert selbst, liest du anschließend wie jede andere Dokumenteigenschaft aus dem ModelDoc2 der Komponente aus.
Zum Beispiel mit ModelDoc2.Extension.CustomPropertyManager.Get(%Eigenschaftsname%)

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks API Snippets

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 28. Sep. 2010 12:21    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 tbd

vielen Dank für die Antwort. Leider klappt die Ausführung noch nicht bei mir 
wo bekomme ich folgenden Wert her: swCustomPropertyUsedAsComponentDescription
im Objektkatalog wird angegeben:
Function GetUserPreferenceStringValue(UserPreference As Long) As String

was oder woher bekomme ich die UserPreference? 
komischerweise wird es mal als integer und mal als long gefordert? ist sicher ein fehler oder?

Code:
Visual Basic (Declaration) 
Function GetUserPreferenceStringValue( _
  ByVal UserPreference As Integer _
) As String

Visual Basic (Usage) Copy Code
Dim instance As IModelDoc
Dim UserPreference As Integer
Dim value As String

value = instance.GetUserPreferenceStringValue(UserPreference)


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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 28. Sep. 2010 13:13    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 Scoopa 10 Unities + Antwort hilfreich

Hallo Scoopa,

swCustomPropertyUsedAsComponentDescription ist Bestandteil der Klasse swconst.
Damit du diese verwenden kannst, benötigst du einen Verweis (Extras>Verweise) zur Bibliothek SolidWorks XXXX Constant type Library.

Ich habe dir mal ein kleines Makro gebastelt, das dir die Komponentenbeschreibung aus der ersten selektierten Komponente ermittelt:

Code:
Dim oSwApp As SldWorks.SldWorks
Dim oSwModel_Asm As SldWorks.ModelDoc2
Dim oSwSelMgr As SldWorks.SelectionMgr
Dim oSwModel_Com As SldWorks.ModelDoc2
Dim oSwComponent As SldWorks.Component2
Dim sComponentDescriptionValue As String
Dim sComponentDescriptionProperty As String

Sub main()

    'SolidWorks
    Set oSwApp = Application.SldWorks
    'Systemoption auslesen
    sComponentDescriptionProperty = oSwApp.GetUserPreferenceStringValue( _
                            swCustomPropertyUsedAsComponentDescription)
    'Aktive Baugruppe
    Set oSwModel_Asm = oSwApp.ActiveDoc
    'Selektionsmanager
    Set oSwSelMgr = oSwModel_Asm.SelectionManager
    'Erste selektierte Komponente
    Set oSwComponent = oSwSelMgr.GetSelectedObjectsComponent3(1, -1)
   
    If oSwComponent Is Nothing = False Then
        'ModelDoc der Komponente
        Set oSwModel_Com = oSwComponent.GetModelDoc
        'ModelDoc prüfen, wichtig bei z.B. reduziert geladenen Komponenten
        If oSwModel_Com Is Nothing = False Then
            'Dokumenteigenschaft auslesen
            sComponentDescriptionValue = _
                oSwModel_Com.Extension.CustomPropertyManager("").Get( _
                sComponentDescriptionProperty)
            MsgBox sComponentDescriptionValue
        End If
    End If

End Sub


------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks API Snippets

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

Scoopa
Mitglied
MB Techniker


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

Beiträge: 232
Registriert: 26.04.2006

Celsius Workstation / WIN XP / AIP 2008 SP2

erstellt am: 28. Sep. 2010 14: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

Vielen Vielen Dank.

Ich hoffe ich kann es nun in meinen Code passend einbauen. sollte aber hinhauen 

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