| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Bechtle Competence Days | Online |
Autor
|
Thema: API-Problem: Modell-Ursprungskoord. in Drw. (762 mal gelesen)
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Mrz. 2004 12:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Programmier: Ich habe ein Problem, dem ich einfach nicht näher komme. Ich brauche, um nachträglich Skizzenelemente, Bemaßungen etc. auf einer Zeichnung aufzubringen, die Koordinaten des Modell-Ursprungs einer View. Das brauche ich als Ausgangspunkt, davon hängen alle weiteren Koordinaten ab. Hat jemand eine Idee, wie ich den finde? Selektieren kann ich den Ursprung, z.B. mit boolstatus = swDrawing.SelectByID("Punkt1@Ursprung@ACHSE D100 WI MONT-1@Zeichenansicht1", "EXTSKETCHPOINT", 0, 0, 0) Aber dann weiß ich nicht mehr weiter! Bitte bitte...
------------------ Klaus Massler www.al-ko.de privat... KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 09. Mrz. 2004 12:55 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Ich weiss jetzt nicht wie es bei Drawings ist, aber in 3D Parts kannst du dann über den SelectionManager auf das selektierte Element zugreifen, den Typ auslesen und wenn es ein Punkt is kannst du auch die Koordinaten auslesen. Sollte bei Drawings eigentlich ähnlich gehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Mrz. 2004 13:11 <-- editieren / zitieren --> Unities abgeben:
|
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 09. Mrz. 2004 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Du nimmst nicht das DrawingDoc, sondern das ModelDoc2, das hinter dem DrawingDoc steht. Von dem holst du dir den SelectionMgr, und dann denn SelectionPoint. Schau mal in der API Hilfe unter "SelectionMgr" nach, dann wirds klar.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Mrz. 2004 14:05 <-- editieren / zitieren --> Unities abgeben:
|
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 09. Mrz. 2004 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Das mit dem "hinter dem DrawingDoc steht" war nicht örtlich gemeint, sondern eher Basisklassen mäßig. :-)) Dein DrawingDoc ist ja nichts anderes als ein spezielles ModelDoc2. Du kannst also einfach schreiben: dim myModel as ModelDoc2 set myModel=swDrawing Damit bezieht sich der SelectionMgr von myModel auf das DrawingDoc und GetSelectionPoint sollte das richtige liefern. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Mrz. 2004 16:21 <-- editieren / zitieren --> Unities abgeben:
Jetzt habe ichs probiert! (irgendwie hakts beim Umgang und dem Verständnis von dem "SelectionMgr" noch etwas, aber - naja) Aber das Ergebnis sind trotzdem die Koordinaten im Modell (auch wenn ich es in der Zeichnung ausführe), also 0,0,0. Das nützt mir nichts. Ich brauche die Position des Modell-Ursprungs in der Zeichnung. Und die bekomme ich so leider nicht. Oder ist da was grundlegend falsch? ------------------ Klaus Massler www.al-ko.de privat... KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 09. Mrz. 2004 19:05 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Hallo Klaus, wenn ich richtig verstanden habe, was du vor hast, ist das ein seeeeehr schwieriges Kapitel, deswegen hab ich auch keine Beispiele dafür. Das Problem ist, dass du die Modellkoordinaten noch mit der Transformationsmatrix der View umrechnen mußt. Die Matrix des View bekommst du über View::GetViewXform, dann ist ziemlich viel linieare Algebra angesagt. Schau mal in das Makro für die Mittelkreuze rein ( http://solidworks.cad.de/mm_11.htm ), da hab ich sehr ausführlich dokumentiert, wie das mit der Hin- und Herrechnerei funktioniert; ich weiß auch, dass ich tagelang daran gesessen habe das zu verstehen und auf die MathUtil-Funktionen umzuschreiben, ich bin mir nicht mal sicher, ob ich das jetzt noch einmal schneller hinkriegen würde Sorry, aber mir fällt kein einfacherer Weg dazu ein. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 10. Mrz. 2004 08:23 <-- editieren / zitieren --> Unities abgeben:
UffSieht bisher nicht so aus, als würde ich die Hilfe zum MathUtility verstehen , mein Mathe-Studium habe ich noch vor dem Beginn wieder abgesbrochen . Spätestens jetzt wäre es dann an der Zeit für eine eingedeutschte API-Hilfe. Ich kann auch nicht behaupten, dass ich den Sinn des MathUtility-Objects verstehe. In der Hilfe zum Object heisst es: These objects can simplify commonly used math calculations ... to simplify=vereinfachen, aber unter vereinfachen stelle ich mir etwas anderes vor ------------------ Klaus Massler www.al-ko.de privat... KLAMM? Was ist KLAMM? [Diese Nachricht wurde von KMassler am 10. Mrz. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 10. Mrz. 2004 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für KMassler
Hmm, so ganz versteh ich jetzt nicht was du machen willst. Die Koordinaten des Ursprungs eines Views in einer Zeichnung? Ich hab mal etwas in der Doku gestöbert, du kannst dir von einer Drawing die Views holen. Von den Views bekommst du dann mit GetViewXform oder GetXform Matrizen. Darin sollte dann als T-Vektor der Urspung des Views enthalten sein. Wie gesagt, so ganz hab ich nicht verstanden was du machen willst, aber ich kann halt schneller schreiben als denken. :-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 10. Mrz. 2004 08:40 <-- editieren / zitieren --> Unities abgeben:
Nein, nicht die Koordinaten des Ursprungs einer View sondern die Koordinaten des Ursprungs des Modells in der View- aber eben die Zeichnungs-Koordinaten und nicht die Raumkoordinaten im Modell- die sind immer 0/0/0. Ich möchte bzw. muss auf einer Zeichnung verschiedene Dinge (Skizzenelemente, Bemaßungen, Bschriftungen ...) aufbringen. Die Positionen dieser Elemente sind abhängig von der Position und der Geometrie des abgebeildeten Modells. Die Geometrie kenne ich, die Position auf der Zeichnung aber nicht. ------------------ Klaus Massler www.al-ko.de privat... KLAMM? Was ist KLAMM? [Diese Nachricht wurde von KMassler am 10. Mrz. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |