| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SolidWorks und FEM , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: API C++; CreateCenterline (858 mal gelesen)
|
CPlusAPI Mitglied Dipl.-Ing.

 Beiträge: 10 Registriert: 06.12.2003
|
erstellt am: 06. Dez. 2003 17:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo an alle! Ich möchte ein Rotationsteil erzeugen über API  . Mit der Funktion: status = ModelDoc->ICreateCenterLine ( P1, P2 ) Kann mir jemand sagen wie ich die Variablen P1 und P2 definiere? Beispiel wie es in der API  -Doku steht wie folgt: Input: (double*) P1 pointer to an array of 3 doubles(x,y,z) in meters which describe the line startpoint Ich habe auch die Alternative bei der man einfach eine Linie erzeugt und diese dann durch deren Eigenschaften in eine Centerline umwandelt ausprobiert. Damit bin ich aber auch nicht so weit gekommen. Falls mir damit jemand helfen kann bin ich auch sehr dankbar! Grüße und vielen Dank!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndreasK Administrator Daseinsinformatiker
   
 Beiträge: 1048 Registriert: 02.03.2000 Unter allen Umständen kann Vernunft durch Vernunft aufgeklärt werden (Alexander von Humboldt)
|
erstellt am: 06. Dez. 2003 17:58 <-- editieren / zitieren --> Unities abgeben:          Nur für CPlusAPI
z.B.: typedef struct P3d_S { double x; double y; double z; } P3d_T; Und dann die Variablendeklaration: P3d_T P1; P3d_T P2; entspicht struct P3d_S P1; struct P3d_S P2; Zugriff auf die .x, .y, .z Komponenten: P1.x = x + P2.z; P1.y = (double)34.321; .... Und dann: ->CreateCenterline(&P1, &P2);
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: 07. Dez. 2003 14:06 <-- editieren / zitieren --> Unities abgeben:          Nur für CPlusAPI
|
CPlusAPI Mitglied Dipl.-Ing.

 Beiträge: 10 Registriert: 06.12.2003
|
erstellt am: 07. Dez. 2003 17:01 <-- editieren / zitieren --> Unities abgeben:         
Hallo Andreas, danke für den Tip mit dem Datentyp! Allerdings akzeptiert die Funktion den selbstdefinierten Datentyp nicht, da es nicht wie vorgegeben um einen "double *" handelt! Hier die Fehlermeldung: error C2664: 'ICreateCenterLine' : Konvertierung des Parameters 1 von 'struct CSWKlasse::StartNotepad::P3d_S *' in 'double *' nicht moeglich Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat Vielleicht kann mir jemand weiterhelfen! Dazu siehe auch 1.Posting! Danke schön!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndreasK Administrator Daseinsinformatiker
   
 Beiträge: 1048 Registriert: 02.03.2000 Unter allen Umständen kann Vernunft durch Vernunft aufgeklärt werden (Alexander von Humboldt)
|
erstellt am: 07. Dez. 2003 21:48 <-- editieren / zitieren --> Unities abgeben:          Nur für CPlusAPI
Wenn Casting nicht zulässig ist (ist in C eigentlich immer möglich), dann die "einfache" Variante: double P1[3],P2[3]; Aufruf dann mit ->Funktion((double *)P1, (double *)P2); Wahrscheinlich ist P1[0] die x, P1[1] die y und P1[2] die z-Koordinate. PS: Das mit der Nummer 25.000 kommt nur daher, dass 24.999 andere User vorher hier 'was gepostet haben  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CPlusAPI Mitglied Dipl.-Ing.

 Beiträge: 10 Registriert: 06.12.2003
|
erstellt am: 14. Jan. 2004 17:47 <-- editieren / zitieren --> Unities abgeben:         
|