Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  SolidWorks API: Bezugshinweis

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
  
PLM TechnologieForum Essen
Autor Thema:  SolidWorks API: Bezugshinweis (490 / mal gelesen)
Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 23. Feb. 2024 13: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


forum_starnote.bas.txt


forum_starnote.swp.txt

 
Mahlzeit!

Es geht eigentlich um ein relativ einfaches Problem.
Ich versuche, innerhalb einer Montagezeichnung einen Bezugshinweis zu untersuchen, der als Beschriftung an irgendeine dargestellte Komponente angedockt ist. Ziel ist es, die angedockte Komponente zu identifizieren.

Der Bezugshinweis ist eine Note, das Interface dazu ist eine Annotation.
Die Annotation verfügt über die Methode GetAttachedEntities3() mit der ich die gesuchten Komponenten erfassen kann.

Soweit, so gut.
Bei einem neu erstellten Bezugshinweis mit einem einfachen geraden Leader funktioniert das.
Der Debug.Print zeigt dann: Annotation.GetAttachedEntityCount3(): 1

Füge ich dem Leader einen weiteren Knickpunkt hinzu, funktioniert es nicht mehr.
Anzahl der Elemente wird dann 0.
Lösche ich den Knickpunkt wieder, bleibt das so.

Ich halte das inzwischen für einen Bug.
Ich habe mehrere Workarounds probiert, um die Komponente anders zu identifizieren, aber mir gehen langsam die Ideen aus.

Hat jemand vielleicht einen Einfall, wie das Problem zu lösen wäre?

Testmakro anbei, swp ist Version 2023 und auch darauf getestet.
Die *.bas ist Klartext.

Gruß, Torsten

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 26. Feb. 2024 11:23    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 Torsten Niemeier 10 Unities + Antwort hilfreich

Hallo Torsten,

ich halte das auch für einen Bug.

Was komisch ist, wenn Du den Stil der Hinweislinie auf "Spline" umstellst, erkennt das Makro die Komponente.
Ev. wäre das ein Workaround, den Stil temporär auf Spline zu ändern und dann wieder zurück.

------------------
Grüße
Heinz

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 26. Feb. 2024 11:36    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 nahe:
Hallo Torsten,

ich halte das auch für einen Bug.

Was komisch ist, wenn Du den Stil der Hinweislinie auf "Spline" umstellst, erkennt das Makro die Komponente.
Ev. wäre das ein Workaround, den Stil temporär auf Spline zu ändern und dann wieder zurück.


Hallo Heinz,

danke für die Antwort.
Wenn man auf Hinweislinie ohne Knicke zurückstellt, geht es auch wieder.
Das temporäre Ändern ist leider kein Workaround, da ich nach dem Ändern nicht mehr zur ursprünglichen Form eines abgeknickten Leaders zurückkomme, die Knickpunkte sind dann weg.
Vielleicht geht es mit Ändern - Komponente auslesen - EditUndo?
Ich probiere mal weiter...

Gruß, Torsten 

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 26. Feb. 2024 11:38    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 Torsten Niemeier 10 Unities + Antwort hilfreich

Bei meinen Tests hab ich festgestellt, dass es nur mit dem Typ swSelNOTES (SldWorks.Note) geht und mit dem Typ swSelLEADERS (SldWorks.MultiJogLeader) nicht.

------------------
21 ist nur die halbe Antwort.

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 26. Feb. 2024 11:49    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 HenryV:
Bei meinen Tests hab ich festgestellt, dass es nur mit dem Typ swSelNOTES (SldWorks.Note) geht und mit dem Typ swSelLEADERS (SldWorks.MultiJogLeader) nicht.


Ja, das ganze Makro funktioniert quasi nicht, wenn man einen Leader selektiert.
Wobei man mit einem selektiertem Leader aber IMHO auch so gar nichts weiter anfangen kann, oder?

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 26. Feb. 2024 15:35    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

Das mit den MultiJogLeaders war vielleicht ein guter Hinweis!
Vielen Dank!

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 26. Feb. 2024 17:45    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

So.
Zwischenstand:
Ich suche mir die zugehörigen Components jetzt über ein SelectByID2.
Bei den normalen Leadern benutze ich die attachPos der Note.
Bei den Multijog-Leadern nehme ich die Position des ArrowHead.
So geht es erstmal.
Und es war ein ziemlich harter Ritt bis hierher. 

Danke an alle, die mitüberlegt haben!

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 04. Mrz. 2024 16:00    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

Klappt doch nicht.

Die ArrowHead-Position ist hochgradig unzuverlässig.
Ok, meistens ist sie scheinbar einfach nur falsch.

Und das Ergebnis von SelectByID2 ist abhängig davon, wie nah man gerade an die Suchkoordinaten herangezoomt hat.

Alles etwas traurig gerade. 

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3682
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 05. Mrz. 2024 18:18    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

Es bleibt beim Fehler, wie ich ihn im ersten Post beschrieben habe.
Mache ich aus dem Leader einen MultiJogLeader, verliert die Annotation ihre attached Entity.
Muss schon ewig so sein, ich habe das Problem in 2016 und in 2023.
Merkwürdig finde ich, dass ich scheinbar der Einzige bin, dem das tatsächlich Schwierigkeiten macht. 

In der 'normalen' Bedienung kann ich das Problem einfach lösen, indem ich im Property-Manager des Bezughinweises einmal auf ungeknickten Leader schalte und dann ein Ctrl+Z mache. In meinem Makro würde ich diesen Ablauf am liebsten einfach immer vorschalten, aber genau das scheint per API nicht möglich zu sein.

Mir gehen hier langsam die Ideen aus. 

Gruß, Torsten

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