Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API userprops von Modell in aktiver View auslesen

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
  
Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen
Autor Thema:  API userprops von Modell in aktiver View auslesen (2002 mal gelesen)
A.Oertel
Mitglied
Dipl.Ing.


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

Beiträge: 270
Registriert: 12.10.2000

erstellt am: 04. Dez. 2000 09:32    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,
hier hab ich noch ein Problem:
Wie kann ich aus einer Zeichnung vom Modell der aktiven Ansicht ein benutzerdefiniertes Feld auslesen?

MfG
Armin Oertel

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 04. Dez. 2000 12:43    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 A.Oertel 10 Unities + Antwort hilfreich

Hallo,
wenn ich es richtig verstanden habe, willst Du in einer Zeichnung aus dem Modell - was in einer Ansicht auf dieser Zeichnung dargestellt ist - benutzerdefinierte Eigenschaften auslesen.
Ich hatte da mal ein Tool erstellt, wo wir auch so etwas machen.
Vorausgesetzt wird, das bekannt ist, wie diese benutzerdefinierte Eigenschaften heißen. Wir lesen die benutzerdefinierte Eigenschaften konfigurationsspezifisch aus, sollen es nur die benutzerspezifischen (für alle Konfigurationen gültigen) Eigenschaften sein, heißt de betreffende Befehl bloß CustomInfo (glaub ich jedenfalls - schau mal in die API-Help) und es kann die Ermittlung des Konfigurationsnamen und das Umschalten auf die betreffende Konfiguration wegfallen.
Wir verwenden stets die erste Ansicht, willst Du eine andere auswählen, mußt erst zu dieser wechseln. Leider gibt es (glaub ich) nur GetNextView, sodaß Du erst die (gehighlightete) aktive Ansicht ermitteln mußt und dann sooft GetNextView aufrufen bis Du bei der ausgewählten Ansicht bist.

Die generelle Vorgehensweise ist wie folgt:
- gewünschte Ansicht aktivieren,
- Modellnamen (ggfs. Konfigurationsnamen) ermitteln
- Modell öffnen (unsichtbar, im Hintergrund)
- (ggfs. anschließend zur betreffenden Konfiguration wechseln)
- gewünschte Eigenschaften auslesen
- Modell schließen
- Zeichnung wieder aktivieren (nicht vergessen)

im weiteren ein kleiner Ausschnitt aus zur Illustration in VB (nicht steinigen - bin Konstrukteur, kein Programmierer - vielleicht nicht schön programmiert, funktioniert aber):

If (Model.gettype() = swDocDRAWING) Then
Dim ModName As String
Dim RefModel As Object
Dim ConfigName As String
Set View = Model.GetFirstView
Set View = View.GetNextView
ConfigName = View.ReferencedConfiguration
ModName = View.GetReferencedModelName()
If InStr(1, ModName, ".sldprt", 1) Then
Set RefModel = swApp.OpenDoc(ModName, swDocPART)
End If
If InStr(1, ModName, ".sldasm", 1) Then
Set RefModel = swApp.OpenDoc(ModName, swDocASSEMBLY)
End If
retval = RefModel.ShowConfiguration(ConfigName)
'RefModel.Visible = True
If (RefModel.gettype() = swDocASSEMBLY) Then
retval = RefModel.ResolveAllLightWeightComponents(True)
End If
retval = RefModel.GetMassProperties()
' Gewicht
txtSfGewicht = Format(retval(5), "#0.00")
' Benennung
txtSfBenennung.Text = RefModel.CustomInfo2(ConfigName, dfNameBenennung)
' Identnummer
txtSfIdentnummer.Text = RefModel.CustomInfo2(ConfigName, dfNameIdentnummer)
' Zeichnungsnummer
txtSfZeichnungsnummer.Text = RefModel.CustomInfo2(ConfigName, dfNameZeichnungsnummer)
' Konstrukteur
txtSfKonstrukteur.Text = RefModel.CustomInfo2(ConfigName, dfNameKonstrukteur)
' Datum
txtSfDatum.Text = RefModel.CustomInfo2(ConfigName, dfNameDatum)
swApp.CloseDoc RefModel.GetTitle()
swApp.ActivateDoc Model.GetTitle()
End If

hoffe das hilft
mfg uc

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