Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Assoziierte Annotations

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
  
SOLIDWORKS Electrical Schematic Schulung, ein Seminar am 23.06.2025
Autor Thema:  API: Assoziierte Annotations (813 mal gelesen)
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: 04. Feb. 2009 08: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


AssoziierteAnnotation.jpg


NichtAssoziierteAnnotation.jpg

 
Guten Morgen zusammen,

es ist mal wieder so weit, ich komme nicht weiter und hoffe auf eure Hilfe.

Ich möchte die Annotations (also alle Bemaßungen, Bezugshinweise, Symbole, … einer Zeichnung überprüfen. Dabei geht es mir darum nicht assoziierte Annotations zu ermitteln, also solche die in SolidWorks bräunlich dargestellt werden. In den beiden Bildern sieht man dies an der Gewindebemaßung "M8" und an dem Bezugshinweis "Testbezug".

Als erstes habe ich mir mit der Methode Annotation.GetAttachedEntities3 beholfen und dachte schon: „Das ist es!“. Allerdings gibt diese Methode nur Entities also Flachen, Kanten, Punkte und Skizzensegmente zurück.
Bei der Annotation in den Bildern handelt es sich um eine Annotation die an einem Gewinde (CThread) assoziiert ist. Dies hat zur Folge das GetAttachedEntities3 bei dieser Annotation immer Nothing zurück gibt, egal ob diese assoziiert oder nicht.

Deshalb kann die GetAttachedEntities3 Methode nicht allgemein dazu verwenden werden um festzustellen ob eine Annotation noch assoziiert ist oder nicht.
Meine Frage ist also ob jemand eine andere API Methode oder einen kleinen Trick kennt um dies zu ermitteln.

Ich hoffe ich konnte mein Problem verständlich erklären und jemand hat eine Antwort für mich.

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

www.MySldWorks.de - SolidWorks API Snippets

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

INKN
Mitglied
Consulant/Softwareentwickler


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

Beiträge: 277
Registriert: 22.08.2001

erstellt am: 04. Feb. 2009 10:26    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 tbd 10 Unities + Antwort hilfreich

Hi Daniel,

ab 2009 gibt es eine neue Funktion:
Function IsDangling() As Boolean

Wird Dir zwar nicht helfen, aber die Hoffnung stirbt zuletzt !

------------------
Gruß Ingo

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: 04. Feb. 2009 10:31    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

 
Zitat:
Original erstellt von INKN:
Wird Dir zwar nicht helfen, ...

Stimmt!

Aber meine Hoffnung sinkt wenn es in 2009 einen neuen Befehl gibt!
Dieser Befehl wurde nicht ohne Grund hinzugefügt. Wahrscheinlich weil es in älteren Versionen keine Möglichkeit gab dies per API zu ermitteln  

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

www.MySldWorks.de - SolidWorks API Snippets

[Diese Nachricht wurde von tbd am 04. Feb. 2009 editiert.]

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. Feb. 2009 12:02    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 tbd 10 Unities + Antwort hilfreich

so was gab's schon mal.
Lies mal hier: http://ww3.cad.de/foren/ubb/Forum2/HTML/009965.shtml
Vielleicht hilfts weiter ...

------------------
mfg uc

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: 04. Feb. 2009 12:24    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 Clemens,

diesen und auch andere Beiträge, wo die Methoden GetAttachedEntities3  und GetAttachedEntityTypes behandelt werden hatte ich bei meiner Suche schon gefunden.

Wie ich schon in meiner Frage beschrieben habe bringt mich die Methode bei einer Gewindebemaßung nicht weiter. Beide Methoden liefern in einem solchen Fall immer Nothing.
Das funktioniert nur bei Annotations, die mit einer Kante, Fläche, Skizzensegmente, u.s.w. verknüpft sind.

Ich währe ja schon glücklich wenn ich ermitteln könnte das es sich um eine Gewindebemaßung handelt, aber leider unterscheidet swDimensionType_e nicht so weit.

Ich werde noch verrückt!

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

www.MySldWorks.de - SolidWorks API Snippets

[Diese Nachricht wurde von tbd am 04. Feb. 2009 editiert.]

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: 04. Feb. 2009 15:39    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

Ich hab was gefunden. Zwar nicht 100%ig wasserdicht, aber immerhin.

Ich dachte mir wenn SolidWorks erkennt das die Beschriftung freisteht und darauf die Farbe der Beschriftung ändert, warum nicht einfach diese Farbe abfragen.

Den Codeschnippsel führe ich aus wenn ich von den Methoden GetAttachedEntities3 und/oder GetAttachedEntityTypes mitgeteilt bekomme, das es keine Entities zu der Beschriftung gibt:

Code:

Dim oSwDisplayData As sldworks.DisplayData
oSwDisplayData = CType( _
    oSwAnnotation.GetDisplayData, sldworks.DisplayData)
'Die Farbe der Linien ermitteln
If oSwDisplayData.GetLineCount > 0 Then
    Dim oLineInfoDummy As Object
    Dim dLineInfoArray() As Double
    oLineInfoDummy = oSwDisplayData.GetLineAtIndex3(0)
    dLineInfoArray = CType(oLineInfoDummy, Double())
    'Index 0 ist die Farbe der Beschriftung,
    'dies wird jetzt mit der Option verglichen
    If Me.MySldWorks.UserPreferenceInteger( _
           swconst.swUserPreferenceIntegerValue_e.
            swSystemColorsDanglingDimension) = _
           dLineInfoArray(0) Then
        'Die Farben stimmten überein.
        'Es wird davon ausgegangen das die Beschriftung freistehend ist
        bFreistehend = True
    End If
Else
    'Ein Vergleich der Farbe war nicht möglich
    bFreistehend = True
End If

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

www.MySldWorks.de - SolidWorks API Snippets

[Diese Nachricht wurde von tbd am 04. Feb. 2009 editiert.]

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