| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
 | TFH Technical Services B.V. wird Teil der MAIT Gruppe, eine Pressemitteilung
|
Autor
|
Thema: Stützpunkte auslesen (1024 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 16. Feb. 2005 14:00 <-- editieren / zitieren -->
Hallo zusammen, ich würde gerne alle Stützpunkte eines Splines auslesen. Ich habe mir das folgendermaßen vorgestellt: (setf PUNKTE_LISTE (sd-inq-bspline-edge-ctrl-pnts KURVE :dest-space :local)) Da die Funktion mir ja eine Liste mit gpnt3d zurückliefert, dachte ich dass diese Liste jetzt in PUNKTE_LISTE steht. Aber dem ist nicht so... Überprüfe ich die Länge der zurückgegebenen Liste: (display (length(sd-inq-bspline-edge-ctrl-pnts KURVE :dest-space :local))) Ich erhalte dann nur den Wert 1. Mache ich irgendwas falsch bei der Verwendung der Funktion? Muss ich die einzelenen Werte in einer Schleife abfragen und in PUNKTE_LISTE schreiben? Verdammt...Ich muss feststellen, dass es sich als schwierig erweist sich diese Programmierung selber beizubringen. CU D.Bredehorn |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 16. Feb. 2005 14:27 <-- editieren / zitieren --> Unities abgeben:         
Kann's gerade nicht selbst ausprobieren - kannst Du uns mal die Ausgabe von (display (sd-inq-bspline-edge-ctrl-pnts KURVE :dest-space :local)) hier reinkopieren? Am Format der Ausgabe kann man meistens schon ganz gut erkennen, wie man die dekodieren muss. Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 16. Feb. 2005 15:09 <-- editieren / zitieren -->
Hi... Erstmal Danke für die prompte Antwort. Es wird nur NIL ausgegeben, wenn ich es so mache. Gebe ich die Funktion aber folgendermaßen an: (display (sd-call-cmds(sd-inq-bspline-edge-ctrl-pnts KURVE))) bekomme ich diese Ausgabe: (#S(SEL_ITEM PATH (#S(NPARCEL SIMPLE-ENTITY-PTR 101084528) #S(NPARCEL SIMPLE-ENTITY-PTR 109762640)) TYPE 100258848 ITEM #S(EDGE SIMPLE-ENTITY-PTR 109759280))) Ich hoffe, dass hilft irgendwie weiter !?! CU D.Bredehorn |
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 16. Feb. 2005 15:37 <-- editieren / zitieren --> Unities abgeben:         
[QUOTE]Original erstellt von Bredehorn: Hi... Erstmal Danke für die prompte Antwort.Es wird nur NIL ausgegeben, wenn ich es so mache.
Laut Dokumentation zeigt NIL einen Fehler beim Aufruf an. Vielleicht ist es einfach keine passende Kurve, die Du angewaehlt hast? Bist Du sicher, dass der Eingabewert vom Typ SEL_ITEM ist und dass dahinter eine Spline-Kurve steht? Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus Lörincz Mitglied Consultant
  
 Beiträge: 533 Registriert: 06.08.2003 OSD M = aktuell OSD D = aktuell OS M = aktuell auf WIN und HP-UX
|
erstellt am: 16. Feb. 2005 16:00 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 17. Feb. 2005 10:33 <-- editieren / zitieren -->
Moin, Moin... hier ist mal ein kleiner Auszug aus meinem Programm... Ich denke es liegt ,wie schon angemerkt wurde, an dem angegebenen edge-2d, ich versuche im Moment mit get-selection weiter zu kommen. Bin aber noch nicht mit dem Code fertig. Außerdem müsste ich mit der structure sd-bspline-edge weiterkommen können, da in dieser auch ein Stützpunkt-Liste hinterlegt wird. Tja... Ausprobieren ist bei mir angesagt. Wenn mir wer auf die Sprünge helfen kann, wäre ich froh. Danke. Schönen Tag noch... D.Bredehorn |
Ex-Mitglied
|
erstellt am: 17. Feb. 2005 10:41 <-- editieren / zitieren -->
Ups... Datei vergessen... Hier ist der Inhalt: (sd-defdialog 'stuetzpunkte :dialog-title "Stuetzpunkte" :variables '( (CURVE :value-type :edge-2d :title "Kurve" :prompt-text "Spline angeben" ) (POINT_LIST) (NEW_POINT :value-type :point-2d :toggle-type :invisible) );end variables :ok-action '(los-gehts) :local-functions '( (los-gehts () (display (length(sd-inq-bspline-edge-ctrl-pnts CURVE :dest-space :local))) ) ;end los-gehts ) ;end local functions ) ;end sd-dialog
|
clausb Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 17. Feb. 2005 13:00 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 17. Feb. 2005 13:18 <-- editieren / zitieren -->
Danke... Hab das Problem auch schon gelöst. (setf KURVE (sd-inq-edge-geo CURVE :dest-space :local))) ;liefert sd-bspline-3d (setf POINT_LIST (sd-bspline-edge-ctrl-pnts KURVE)) ;gibt die Liste zurück In einer Schleife wandel ich alle gpnt3d in gpnt2d um und habe mein Ziel erreicht. Nun will ich diese Koordinaten nur noch in eine Datei schreiben... Da möchte ich vorerst keine Hilfe... durch selbst ausprobieren ist der Lerneffekt besser. Falls sich doch was ergibt, melde ich mich wieder. Vielen Dank an alle... D.Bredehorn |
Martin.M Mitglied Maschinenbau-Ingenieur
 
 Beiträge: 352 Registriert: 05.10.2002
|
erstellt am: 15. Jun. 2007 12:18 <-- editieren / zitieren --> Unities abgeben:         
|